Skip to content

Commit 64e77dd

Browse files
committed
Transform error messages
1 parent 1730708 commit 64e77dd

File tree

7 files changed

+33
-33
lines changed

7 files changed

+33
-33
lines changed

lib/get.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;
2626
var getIndex = require( '@stdlib/ndarray-base-ind' );
27-
var format = require( '@stdlib/string-format' );
27+
var format = require( '@stdlib/error-tools-fmtprodmsg' );
2828

2929

3030
// MAIN //
@@ -50,13 +50,13 @@ function get() {
5050
var i;
5151

5252
if ( arguments.length !== this._ndims ) {
53-
throw new RangeError( format( 'invalid arguments. Number of indices must match the number of dimensions. ndims: `%u`. nargs: `%u`.', this._ndims, arguments.length ) );
53+
throw new RangeError( format( '0jp5M', this._ndims, arguments.length ) );
5454
}
5555
idx = this._offset;
5656
M = this._submode.length;
5757
for ( i = 0; i < arguments.length; i++ ) {
5858
if ( !isInteger( arguments[ i ] ) ) {
59-
throw new TypeError( format( 'invalid argument. Indices must be integer valued. Argument: `%u`. Value: `%s`.', i, arguments[ i ] ) );
59+
throw new TypeError( format( '0jp5N', i, arguments[ i ] ) );
6060
}
6161
ind = getIndex( arguments[ i ], this._shape[ i ]-1, this._submode[ i%M ] ); // eslint-disable-line max-len
6262
idx += this._strides[ i ] * ind;

lib/iget.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;
2626
var getIndex = require( '@stdlib/ndarray-base-ind' );
2727
var parent = require( '@stdlib/ndarray-base-ctor' ); // eslint-disable-line stdlib/no-redeclare
28-
var format = require( '@stdlib/string-format' );
28+
var format = require( '@stdlib/error-tools-fmtprodmsg' );
2929

3030

3131
// VARIABLES //
@@ -51,7 +51,7 @@ var base = parent.prototype.iget;
5151
function iget( idx ) {
5252
if ( this._ndims > 0 ) {
5353
if ( !isInteger( idx ) ) {
54-
throw new TypeError( format( 'invalid argument. Index must be an integer. Value: `%s`.', idx ) );
54+
throw new TypeError( format( '0jp5O', idx ) );
5555
}
5656
idx = getIndex( idx, this._length-1, this._mode );
5757
return base.call( this, idx );

lib/iset.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;
2626
var getIndex = require( '@stdlib/ndarray-base-ind' );
2727
var parent = require( '@stdlib/ndarray-base-ctor' ); // eslint-disable-line stdlib/no-redeclare
28-
var format = require( '@stdlib/string-format' );
28+
var format = require( '@stdlib/error-tools-fmtprodmsg' );
2929

3030

3131
// VARIABLES //
@@ -52,11 +52,11 @@ var base = parent.prototype.iset;
5252
*/
5353
function iset( idx, v ) {
5454
if ( this._flags.READONLY ) {
55-
throw new Error( 'invalid invocation. Cannot write to a read-only array.' );
55+
throw new Error( format('0jp0e') );
5656
}
5757
if ( this._ndims > 0 ) {
5858
if ( !isInteger( idx ) ) {
59-
throw new TypeError( format( 'invalid argument. Index must be an integer. Value: `%s`.', idx ) );
59+
throw new TypeError( format( '0jp5O', idx ) );
6060
}
6161
idx = getIndex( idx, this._length-1, this._mode );
6262
base.call( this, idx, v );

lib/main.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ var numel = require( '@stdlib/ndarray-base-numel' );
3535
var parent = require( '@stdlib/ndarray-base-ctor' ); // eslint-disable-line stdlib/no-redeclare
3636
var defaults = require( '@stdlib/ndarray-defaults' );
3737
var inherit = require( '@stdlib/utils-inherit' );
38-
var format = require( '@stdlib/string-format' );
38+
var format = require( '@stdlib/error-tools-fmtprodmsg' );
3939
var iget = require( './iget.js' );
4040
var iset = require( './iset.js' );
4141
var get = require( './get.js' );
@@ -115,42 +115,42 @@ function ndarray( dtype, buffer, shape, strides, offset, order, options ) {
115115
return new ndarray( dtype, buffer, shape, strides, offset, order, options ); // eslint-disable-line max-len
116116
}
117117
if ( !isDataType( dtype ) ) {
118-
throw new TypeError( format( 'invalid argument. First argument must be a supported ndarray data type. Value: `%s`.', dtype ) );
118+
throw new TypeError( format( '0jp5P', dtype ) );
119119
}
120120
if ( !isCollection( buffer ) ) {
121-
throw new TypeError( format( 'invalid argument. Second argument must be an array-like object, typed-array-like, or a Buffer. Value: `%s`.', buffer ) );
121+
throw new TypeError( format( '0jp5Q', buffer ) );
122122
} else if ( buffer.get && buffer.set && ( !isFunction( buffer.get ) || !isFunction( buffer.set ) ) ) { // eslint-disable-line max-len
123-
throw new TypeError( format( 'invalid argument. Second argument `get` and `set` properties must be functions. Value: `%s`.', buffer ) );
123+
throw new TypeError( format( '0jp5R', buffer ) );
124124
}
125125
if ( !isNonNegativeIntegerArray( shape ) ) {
126126
if ( !isCollection( shape) || shape.length > 0 ) {
127-
throw new TypeError( format( 'invalid argument. Third argument must be an array-like object containing nonnegative integers. Value: `%s`.', shape ) );
127+
throw new TypeError( format( '0jp5S', shape ) );
128128
}
129129
}
130130
ndims = shape.length;
131131
if ( ndims > MAX_DIMS ) {
132-
throw new RangeError( format( 'invalid argument. Number of dimensions must not exceed %u due to stack limits. Value: `%u`.', MAX_DIMS, ndims ) );
132+
throw new RangeError( format( '0jp5T', MAX_DIMS, ndims ) );
133133
}
134134
if ( !isIntegerArray( strides ) ) {
135-
throw new TypeError( format( 'invalid argument. Fourth argument must be an array-like object containing integers. Value: `%s`.', strides ) );
135+
throw new TypeError( format( '0jp5U', strides ) );
136136
}
137137
if ( ndims > 0 ) {
138138
if ( strides.length !== ndims ) {
139-
throw new RangeError( format( 'invalid argument. Fourth argument length must match the number of dimensions. Expected number of dimensions: `%u`. Strides length: `%u`.', ndims, strides.length ) );
139+
throw new RangeError( format( '0jp5V', ndims, strides.length ) );
140140
}
141141
} else if ( strides.length !== 1 ) {
142-
throw new RangeError( 'invalid argument. Fourth argument length must be equal to 1 when creating a zero-dimensional ndarray.' );
142+
throw new RangeError( format('0jp0f') );
143143
} else if ( strides[ 0 ] !== 0 ) {
144-
throw new RangeError( format( 'invalid argument. Fourth argument must contain a single element equal to 0. Value: `%d`.', strides[ 0 ] ) );
144+
throw new RangeError( format( '0jpDt', strides[ 0 ] ) );
145145
}
146146
if ( !isNonNegativeInteger( offset ) ) {
147-
throw new TypeError( format( 'invalid argument. Fifth argument must be a nonnegative integer. Value: `%s`.', offset ) );
147+
throw new TypeError( format( '0jp5X', offset ) );
148148
}
149149
if ( !isOrder( order ) ) {
150-
throw new TypeError( format( 'invalid argument. Sixth argument must be a supported order. Value: `%s`.', order ) );
150+
throw new TypeError( format( '0jp5Y', order ) );
151151
}
152152
if ( ndims > 0 && !isBufferLengthCompatible( buffer.length, shape, strides, offset ) && numel( shape ) > 0 ) { // eslint-disable-line max-len
153-
throw new Error( 'invalid arguments. Input buffer is incompatible with the specified meta data. Ensure that the offset is valid with regard to the strides array and that the buffer has enough elements to satisfy the desired array shape.' );
153+
throw new Error( format('0jpCz') );
154154
}
155155
opts = {};
156156
opts.mode = INDEX_MODE;

lib/set.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
var isInteger = require( '@stdlib/assert-is-integer' ).isPrimitive;
2626
var getIndex = require( '@stdlib/ndarray-base-ind' );
27-
var format = require( '@stdlib/string-format' );
27+
var format = require( '@stdlib/error-tools-fmtprodmsg' );
2828

2929

3030
// MAIN //
@@ -52,16 +52,16 @@ function set() {
5252
var i;
5353

5454
if ( this._flags.READONLY ) {
55-
throw new Error( 'invalid invocation. Cannot write to a read-only array.' );
55+
throw new Error( format('0jp0e') );
5656
}
5757
if ( arguments.length !== this._ndims+1 ) {
58-
throw new RangeError( format( 'invalid arguments. Number of indices must match the number of dimensions. ndims: `%u`. nargs: `%u`.', this._ndims, arguments.length ) );
58+
throw new RangeError( format( '0jp5M', this._ndims, arguments.length ) );
5959
}
6060
idx = this._offset;
6161
M = this._submode.length;
6262
for ( i = 0; i < arguments.length-1; i++ ) {
6363
if ( !isInteger( arguments[ i ] ) ) {
64-
throw new TypeError( format( 'invalid argument. Indices must be integer valued. Argument: `%i`. Value: `%s`.', i, arguments[ i ] ) );
64+
throw new TypeError( format( '0jpDu', i, arguments[ i ] ) );
6565
}
6666
ind = getIndex( arguments[ i ], this._shape[ i ]-1, this._submode[ i%M ] ); // eslint-disable-line max-len
6767
idx += this._strides[ i ] * ind;

lib/validate.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ var hasOwnProp = require( '@stdlib/assert-has-own-property' );
2525
var isArrayLikeObject = require( '@stdlib/assert-is-array-like-object' );
2626
var isIndexMode = require( '@stdlib/ndarray-base-assert-is-index-mode' );
2727
var isBoolean = require( '@stdlib/assert-is-boolean' ).isPrimitive;
28-
var format = require( '@stdlib/string-format' );
28+
var format = require( '@stdlib/error-tools-fmtprodmsg' );
2929

3030

3131
// MAIN //
@@ -55,33 +55,33 @@ var format = require( '@stdlib/string-format' );
5555
function validate( opts, options ) {
5656
var i;
5757
if ( !isObject( options ) ) {
58-
return new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );
58+
return new TypeError( format( '0jp2V', options ) );
5959
}
6060
if ( hasOwnProp( options, 'mode' ) ) {
6161
opts.mode = options.mode;
6262
if ( !isIndexMode( opts.mode ) ) {
63-
return new TypeError( format( 'invalid option. `%s` option must be a recognized mode. Option: `%s`.', 'mode', opts.mode ) );
63+
return new TypeError( format( '0jp5a', 'mode', opts.mode ) );
6464
}
6565
}
6666
if ( hasOwnProp( options, 'submode' ) ) {
6767
opts.submode = options.submode;
6868
if ( !isArrayLikeObject( opts.submode ) ) {
69-
return new TypeError( format( 'invalid option. `%s` option must be an array containing recognized modes. Option: `%s`.', 'submode', opts.submode ) );
69+
return new TypeError( format( '0jp5b', 'submode', opts.submode ) );
7070
}
7171
if ( opts.submode.length === 0 ) {
72-
return new TypeError( format( 'invalid option. `%s` option must be an array containing recognized modes. Option: `%s`.', 'submode', opts.submode.join( ',' ) ) );
72+
return new TypeError( format( '0jp5b', 'submode', opts.submode.join( ',' ) ) );
7373
}
7474
for ( i = 0; i < opts.submode.length; i++ ) {
7575
if ( !isIndexMode( opts.submode[ i ] ) ) {
76-
return new TypeError( format( 'invalid option. Each submode must be a recognized mode. Option: `%s`.', opts.submode[ i ] ) );
76+
return new TypeError( format( '0jp5c', opts.submode[ i ] ) );
7777
}
7878
}
7979
opts.submode = opts.submode.slice();
8080
}
8181
if ( hasOwnProp( options, 'readonly' ) ) {
8282
opts.readonly = options.readonly;
8383
if ( !isBoolean( opts.readonly ) ) {
84-
return new TypeError( format( 'invalid option. `%s` option must be a boolean. Option: `%s`.', 'readonly', opts.readonly ) );
84+
return new TypeError( format( '0jp2o', 'readonly', opts.readonly ) );
8585
}
8686
}
8787
return null;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
"@stdlib/ndarray-dtypes": "^0.3.0",
6868
"@stdlib/ndarray-index-modes": "^0.2.2",
6969
"@stdlib/ndarray-orders": "^0.2.2",
70-
"@stdlib/string-format": "^0.2.2",
70+
"@stdlib/error-tools-fmtprodmsg": "^0.2.2",
7171
"@stdlib/types": "^0.3.2",
7272
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.2",
7373
"@stdlib/utils-inherit": "^0.2.2",

0 commit comments

Comments
 (0)