Skip to content

Commit 9943326

Browse files
committed
feat: add support for various class instances
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 748db16 commit 9943326

File tree

2 files changed

+89
-47
lines changed
  • lib/node_modules/@stdlib/_tools/doctest/compare-values

2 files changed

+89
-47
lines changed

lib/node_modules/@stdlib/_tools/doctest/compare-values/lib/main.js

Lines changed: 80 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -25,35 +25,46 @@ var epsdiff = require( '@stdlib/math/base/utils/float64-epsilon-difference' );
2525
var indexOf = require( '@stdlib/utils/index-of' );
2626
var typeOf = require( '@stdlib/utils/type-of' );
2727
var deepEqual = require( '@stdlib/assert/deep-equal' );
28-
var isNull = require( '@stdlib/assert/is-null' );
28+
29+
// Note: keep in alphabetical order
2930
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' );
3533
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' );
3937
var isComplex64 = require( '@stdlib/assert/is-complex64' );
40-
var isComplex128 = require( '@stdlib/assert/is-complex128' );
4138
var isComplex64Array = require( '@stdlib/assert/is-complex64array' );
39+
var isComplex128 = require( '@stdlib/assert/is-complex128' );
4240
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' );
4841
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' );
5045
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' );
5546
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' );
5657
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+
5768
var startsWith = require( '@stdlib/string/starts-with' );
5869
var contains = require( '@stdlib/assert/contains' );
5970
var 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
*/
165176
function 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+'`';

lib/node_modules/@stdlib/_tools/doctest/compare-values/test/test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ var Complex128 = require( '@stdlib/complex/float64/ctor' );
3030
var Complex64Array = require( '@stdlib/array/complex64' );
3131
var Complex128Array = require( '@stdlib/array/complex128' );
3232
var BooleanArray = require( '@stdlib/array/bool' );
33+
var ArrayBuffer = require( '@stdlib/array/buffer' );
3334
var compareValues = require( './../lib' );
3435

3536

@@ -369,6 +370,14 @@ tape( 'the function compares a value with a type equality return annotation', fu
369370
expected = '<Complex128>';
370371
t.strictEqual( compareValues( actual, expected ), null, 'returns null' );
371372

373+
actual = new ArrayBuffer( 10 );
374+
expected = '<ArrayBuffer>';
375+
t.strictEqual( compareValues( actual, expected ), null, 'returns null' );
376+
377+
actual = compareValues;
378+
expected = '<Function>';
379+
t.strictEqual( compareValues( actual, expected ), null, 'returns null' );
380+
372381
t.end();
373382
});
374383

0 commit comments

Comments
 (0)