@@ -25,35 +25,46 @@ var epsdiff = require( '@stdlib/math/base/utils/float64-epsilon-difference' );
25
25
var indexOf = require ( '@stdlib/utils/index-of' ) ;
26
26
var typeOf = require ( '@stdlib/utils/type-of' ) ;
27
27
var deepEqual = require ( '@stdlib/assert/deep-equal' ) ;
28
- var isNull = require ( '@stdlib/assert/is-null' ) ;
28
+
29
+ // Note: keep in alphabetical order
29
30
var isArray = require ( '@stdlib/assert/is-array' ) ;
30
- var isNumber = require ( '@stdlib/assert/is-number' ) ;
31
- var isObject = require ( '@stdlib/assert/is-object' ) ;
32
- var isSymbol = require ( '@stdlib/assert/is-symbol' ) ;
33
- var isUndefined = require ( '@stdlib/assert/is-undefined' ) ;
34
- var isObjectArray = require ( '@stdlib/assert/is-object-array' ) ;
31
+ var isArrayBuffer = require ( '@stdlib/assert/is-arraybuffer' ) ;
32
+ var isBigInt = require ( '@stdlib/assert/is-bigint' ) ;
35
33
var isBoolean = require ( '@stdlib/assert/is-boolean' ) ;
36
- var isString = require ( '@stdlib/assert/is-string ' ) ;
37
- var isRegExp = require ( '@stdlib/assert/is-regexp ' ) ;
38
- var isEmptyString = require ( '@stdlib/assert/is-empty-string ' ) ;
34
+ var isBooleanArray = require ( '@stdlib/assert/is-booleanarray ' ) ;
35
+ var isBoxedPrimitive = require ( '@stdlib/assert/is-boxed-primitive ' ) ;
36
+ var isBuffer = require ( '@stdlib/assert/is-buffer ' ) ;
39
37
var isComplex64 = require ( '@stdlib/assert/is-complex64' ) ;
40
- var isComplex128 = require ( '@stdlib/assert/is-complex128' ) ;
41
38
var isComplex64Array = require ( '@stdlib/assert/is-complex64array' ) ;
39
+ var isComplex128 = require ( '@stdlib/assert/is-complex128' ) ;
42
40
var isComplex128Array = require ( '@stdlib/assert/is-complex128array' ) ;
43
- var isBoxedPrimitive = require ( '@stdlib/assert/is-boxed-primitive' ) ;
44
- var isPrimitive = require ( '@stdlib/assert/is-primitive' ) ;
45
- var isObjectLike = require ( '@stdlib/assert/is-object-like' ) ;
46
- var isFunction = require ( '@stdlib/assert/is-function' ) ;
47
- var isTypedArray = require ( '@stdlib/assert/is-typed-array' ) ;
48
41
var isComplexTypedArray = require ( '@stdlib/assert/is-complex-typed-array' ) ;
49
- var isBooleanArray = require ( '@stdlib/assert/is-booleanarray' ) ;
42
+ var isDataView = require ( '@stdlib/assert/is-dataview' ) ;
43
+ var isDateObject = require ( '@stdlib/assert/is-date-object' ) ;
44
+ var isEmptyString = require ( '@stdlib/assert/is-empty-string' ) ;
50
45
var isError = require ( '@stdlib/assert/is-error' ) ;
51
- var isTypeError = require ( '@stdlib/assert/is-type-error' ) ;
52
- var isSyntaxError = require ( '@stdlib/assert/is-syntax-error' ) ;
53
- var isReferenceError = require ( '@stdlib/assert/is-reference-error' ) ;
54
- var isURIError = require ( '@stdlib/assert/is-uri-error' ) ;
55
46
var isEvalError = require ( '@stdlib/assert/is-eval-error' ) ;
47
+ var isFunction = require ( '@stdlib/assert/is-function' ) ;
48
+ var isMultiSlice = require ( '@stdlib/assert/is-multi-slice' ) ;
49
+ var isndarrayLike = require ( '@stdlib/assert/is-ndarray-like' ) ;
50
+ var isNull = require ( '@stdlib/assert/is-null' ) ;
51
+ var isNumber = require ( '@stdlib/assert/is-number' ) ;
52
+ var isObject = require ( '@stdlib/assert/is-object' ) ;
53
+ var isObjectArray = require ( '@stdlib/assert/is-object-array' ) ;
54
+ var isObjectLike = require ( '@stdlib/assert/is-object-like' ) ;
55
+ var isPrimitive = require ( '@stdlib/assert/is-primitive' ) ;
56
+ var isReferenceError = require ( '@stdlib/assert/is-reference-error' ) ;
56
57
var isRangeError = require ( '@stdlib/assert/is-range-error' ) ;
58
+ var isRegExp = require ( '@stdlib/assert/is-regexp' ) ;
59
+ var isSlice = require ( '@stdlib/assert/is-slice' ) ;
60
+ var isString = require ( '@stdlib/assert/is-string' ) ;
61
+ var isSymbol = require ( '@stdlib/assert/is-symbol' ) ;
62
+ var isSyntaxError = require ( '@stdlib/assert/is-syntax-error' ) ;
63
+ var isTypedArray = require ( '@stdlib/assert/is-typed-array' ) ;
64
+ var isTypeError = require ( '@stdlib/assert/is-type-error' ) ;
65
+ var isUndefined = require ( '@stdlib/assert/is-undefined' ) ;
66
+ var isURIError = require ( '@stdlib/assert/is-uri-error' ) ;
67
+
57
68
var startsWith = require ( '@stdlib/string/starts-with' ) ;
58
69
var contains = require ( '@stdlib/assert/contains' ) ;
59
70
var endsWith = require ( '@stdlib/string/ends-with' ) ;
@@ -163,48 +174,71 @@ function checkPrimitive( actual, expected ) {
163
174
* @returns {boolean } boolean indicating whether type annotation matches the actual output
164
175
*/
165
176
function checkForPlaceholders ( actual , expected ) {
177
+ // Note: keep in alphabetical order...
166
178
switch ( expected ) {
179
+ case '<Array>' :
180
+ return isArray ( actual ) ;
181
+ case '<ArrayBuffer>' :
182
+ return isArrayBuffer ( actual ) ;
183
+ case '<BigInt>' :
184
+ return isBigInt ( actual ) ;
167
185
case '<boolean>' :
168
186
case '<Boolean>' :
169
187
return isBoolean ( actual ) ;
170
- case '<string>' :
171
- case '<String>' :
172
- return isString ( actual ) ;
173
- case '<number>' :
174
- case '<Number>' :
175
- return isNumber ( actual ) ;
176
- case '<symbol>' :
177
- case '<Symbol>' :
178
- return isSymbol ( actual ) ;
179
- case '<ObjectArray>' :
180
- return isObjectArray ( actual ) ;
181
- case '<Node>' :
182
- case '<Object>' :
183
- return isObject ( actual ) ;
184
- case '<Array>' :
185
- return isArray ( actual ) ;
188
+ case '<Buffer>' :
189
+ return isBuffer ( actual ) ;
186
190
case '<Complex64>' :
187
191
return isComplex64 ( actual ) ;
188
- case '<Complex128>' :
189
- return isComplex128 ( actual ) ;
190
192
case '<Complex64Array>' :
191
193
return isComplex64Array ( actual ) ;
194
+ case '<Complex128>' :
195
+ return isComplex128 ( actual ) ;
192
196
case '<Complex128Array>' :
193
197
return isComplex128Array ( actual ) ;
198
+ case '<DataView>' :
199
+ return isDataView ( actual ) ;
200
+ case '<Date>' :
201
+ return isDateObject ( actual ) ;
194
202
case '<Error>' :
195
203
return isError ( actual ) ;
196
- case '<TypeError>' :
197
- return isTypeError ( actual ) ;
198
- case '<SyntaxError>' :
199
- return isSyntaxError ( actual ) ;
200
- case '<ReferenceError>' :
201
- return isReferenceError ( actual ) ;
202
- case '<URIError>' :
203
- return isURIError ( actual ) ;
204
204
case '<EvalError>' :
205
205
return isEvalError ( actual ) ;
206
+ case '<Function>' :
207
+ return isFunction ( actual ) ;
208
+ case '<MultiSlice>' :
209
+ return isMultiSlice ( actual ) ;
210
+ case '<ndarray>' :
211
+ return isndarrayLike ( actual ) ;
212
+ case '<number>' :
213
+ case '<Number>' :
214
+ return isNumber ( actual ) ;
215
+ case '<Node>' : // note: exception to alphabetical rule
216
+ case '<Object>' :
217
+ return isObject ( actual ) ;
218
+ case '<ObjectArray>' :
219
+ return isObjectArray ( actual ) ;
206
220
case '<RangeError>' :
207
221
return isRangeError ( actual ) ;
222
+ case '<RegExp>' :
223
+ return isRegExp ( actual ) ;
224
+ case '<ReferenceError>' :
225
+ return isReferenceError ( actual ) ;
226
+ case '<Slice>' :
227
+ return isSlice ( actual ) ;
228
+ case '<string>' :
229
+ case '<String>' :
230
+ return isString ( actual ) ;
231
+ case '<symbol>' :
232
+ case '<Symbol>' :
233
+ return isSymbol ( actual ) ;
234
+ case '<SyntaxError>' :
235
+ return isSyntaxError ( actual ) ;
236
+ case '<TypeError>' :
237
+ return isTypeError ( actual ) ;
238
+ case '<TypedArray>' :
239
+ return isTypedArray ( actual ) ;
240
+ case '<URIError>' :
241
+ return isURIError ( actual ) ;
208
242
default :
209
243
// Unknown type, let it slide...
210
244
@@ -379,7 +413,6 @@ function compareValues( actual, expected ) {
379
413
// Early return since we cannot compare actual value to return annotation value:
380
414
return null ;
381
415
}
382
-
383
416
if ( startsWith ( expected , '<' ) && endsWith ( expected , '>' ) ) {
384
417
if ( ! checkForPlaceholders ( actual , expected ) ) {
385
418
return 'Expected a ' + expected + ', but received: `' + actual + '`' ;
0 commit comments