Skip to content

Commit 3323474

Browse files
committed
refactor: explicitly validate a provided input dtype
--- 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 9165bd6 commit 3323474

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

  • lib/node_modules/@stdlib/array/ones/lib

lib/node_modules/@stdlib/array/ones/lib/main.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,22 @@
2020

2121
// MODULES //
2222

23+
var contains = require( '@stdlib/array/base/assert/contains' ).factory;
2324
var Complex128 = require( '@stdlib/complex/float64/ctor' );
2425
var Complex64 = require( '@stdlib/complex/float32/ctor' );
2526
var full = require( '@stdlib/array/full' );
27+
var dtypes = require( '@stdlib/array/dtypes' );
2628
var defaults = require( '@stdlib/array/defaults' );
29+
var join = require( '@stdlib/array/base/join' );
30+
var format = require( '@stdlib/string/format' );
2731

2832

2933
// VARIABLES //
3034

3135
var Z128 = new Complex128( 1.0, 0.0 );
3236
var Z64 = new Complex64( 1.0, 0.0 );
37+
var DTYPES = dtypes( 'numeric_and_generic' );
38+
var isValidDType = contains( DTYPES );
3339
var DEFAULT_DTYPE = defaults.get( 'dtypes.default' );
3440

3541

@@ -58,6 +64,9 @@ function ones( length ) {
5864

5965
if ( arguments.length > 1 ) {
6066
dtype = arguments[ 1 ];
67+
if ( !isValidDType( dtype ) ) {
68+
throw new TypeError( format( 'invalid argument. Second argument must be one of the following: "%s". Value: `%s`.', join( DTYPES, '", "' ), dtype ) );
69+
}
6170
} else {
6271
dtype = DEFAULT_DTYPE;
6372
}

0 commit comments

Comments
 (0)