@@ -25,35 +25,46 @@ var epsdiff = require( '@stdlib/math/base/utils/float64-epsilon-difference' );
2525var indexOf = require ( '@stdlib/utils/index-of' ) ;
2626var typeOf = require ( '@stdlib/utils/type-of' ) ;
2727var deepEqual = require ( '@stdlib/assert/deep-equal' ) ;
28- var isNull = require ( '@stdlib/assert/is-null' ) ;
28+
29+ // Note: keep in alphabetical order
2930var 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' ) ;
3533var 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 ' ) ;
3937var isComplex64 = require ( '@stdlib/assert/is-complex64' ) ;
40- var isComplex128 = require ( '@stdlib/assert/is-complex128' ) ;
4138var isComplex64Array = require ( '@stdlib/assert/is-complex64array' ) ;
39+ var isComplex128 = require ( '@stdlib/assert/is-complex128' ) ;
4240var 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' ) ;
4841var 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' ) ;
5045var 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' ) ;
5546var 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' ) ;
5657var 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+
5768var startsWith = require ( '@stdlib/string/starts-with' ) ;
5869var contains = require ( '@stdlib/assert/contains' ) ;
5970var endsWith = require ( '@stdlib/string/ends-with' ) ;
@@ -163,48 +174,71 @@ function checkPrimitive( actual, expected ) {
163174* @returns {boolean } boolean indicating whether type annotation matches the actual output
164175*/
165176function checkForPlaceholders ( actual , expected ) {
177+ // Note: keep in alphabetical order...
166178 switch ( expected ) {
179+ case '<Array>' :
180+ return isArray ( actual ) ;
181+ case '<ArrayBuffer>' :
182+ return isArrayBuffer ( actual ) ;
183+ case '<BigInt>' :
184+ return isBigInt ( actual ) ;
167185 case '<boolean>' :
168186 case '<Boolean>' :
169187 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 ) ;
186190 case '<Complex64>' :
187191 return isComplex64 ( actual ) ;
188- case '<Complex128>' :
189- return isComplex128 ( actual ) ;
190192 case '<Complex64Array>' :
191193 return isComplex64Array ( actual ) ;
194+ case '<Complex128>' :
195+ return isComplex128 ( actual ) ;
192196 case '<Complex128Array>' :
193197 return isComplex128Array ( actual ) ;
198+ case '<DataView>' :
199+ return isDataView ( actual ) ;
200+ case '<Date>' :
201+ return isDateObject ( actual ) ;
194202 case '<Error>' :
195203 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 ) ;
204204 case '<EvalError>' :
205205 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 ) ;
206220 case '<RangeError>' :
207221 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 ) ;
208242 default :
209243 // Unknown type, let it slide...
210244
@@ -379,7 +413,6 @@ function compareValues( actual, expected ) {
379413 // Early return since we cannot compare actual value to return annotation value:
380414 return null ;
381415 }
382-
383416 if ( startsWith ( expected , '<' ) && endsWith ( expected , '>' ) ) {
384417 if ( ! checkForPlaceholders ( actual , expected ) ) {
385418 return 'Expected a ' + expected + ', but received: `' + actual + '`' ;
0 commit comments