-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.mjs.map
1 lines (1 loc) · 8.7 KB
/
index.mjs.map
1
{"version":3,"file":"index.mjs","sources":["../lib/main.js"],"sourcesContent":["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2023 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n/* eslint-disable no-restricted-syntax, no-invalid-this */\n\n'use strict';\n\n// MODULES //\n\nimport setReadOnly from '@stdlib/utils-define-nonenumerable-read-only-property';\nimport setReadOnlyAccessor from '@stdlib/utils-define-nonenumerable-read-only-accessor';\nimport { isPrimitive as isInteger } from '@stdlib/assert-is-integer';\nimport isNull from '@stdlib/assert-is-null';\nimport isUndefined from '@stdlib/assert-is-undefined';\nimport format from '@stdlib/error-tools-fmtprodmsg';\n\n\n// FUNCTIONS //\n\n/**\n* Tests whether an input argument is valid.\n*\n* @private\n* @param {*} value - value to test\n* @returns {boolean} boolean indicating whether the argument is valid\n*\n* @example\n* var bool = isValid( 3 );\n* // returns true\n*\n* bool = isValid( null );\n* // returns true\n*\n* bool = isValid( void 0 );\n* // returns true\n*\n* bool = isValid( '3' );\n* // returns false\n*/\nfunction isValid( value ) {\n\treturn ( isInteger( value ) || isNull( value ) || isUndefined( value ) );\n}\n\n\n// MAIN //\n\n/**\n* Slice constructor.\n*\n* @constructor\n* @param {(integer|null|void)} [start] - starting index (inclusive)\n* @param {(integer|null|void)} stop - ending index (exclusive)\n* @param {(integer|null|void)} [step] - index increment\n* @throws {TypeError} first argument must be an integer, null, or undefined\n* @throws {TypeError} second argument must be an integer, null, or undefined\n* @throws {TypeError} third argument must be an integer, null, or undefined\n* @throws {RangeError} third argument cannot be zero\n* @returns {Slice} Slice instance\n*\n* @example\n* var s = new Slice( 10 );\n* // returns <Slice>\n*\n* var start = s.start;\n* // returns null\n*\n* var stop = s.stop;\n* // returns 10\n*\n* var step = s.step;\n* // returns null\n*\n* @example\n* var s = new Slice( 3, 10 );\n* // returns <Slice>\n*\n* var start = s.start;\n* // returns 3\n*\n* var stop = s.stop;\n* // returns 10\n*\n* var step = s.step;\n* // returns null\n*\n* @example\n* var s = new Slice( 3, 10, 2 );\n* // returns <Slice>\n*\n* var start = s.start;\n* // returns 3\n*\n* var stop = s.stop;\n* // returns 10\n*\n* var step = s.step;\n* // returns 2\n*/\nfunction Slice() {\n\tvar nargs;\n\tvar start;\n\tvar stop;\n\tvar step;\n\n\tnargs = arguments.length;\n\tif ( nargs === 0 ) {\n\t\tstart = null;\n\t\tstop = null;\n\t\tstep = null;\n\t} else if ( nargs === 1 ) {\n\t\tstart = null;\n\t\tstop = arguments[ 0 ];\n\t\tstep = null;\n\t} else if ( nargs === 2 ) {\n\t\tstart = arguments[ 0 ];\n\t\tstop = arguments[ 1 ];\n\t\tstep = null;\n\t} else {\n\t\tstart = arguments[ 0 ];\n\t\tstop = arguments[ 1 ];\n\t\tstep = arguments[ 2 ];\n\t}\n\tif ( !( this instanceof Slice ) ) {\n\t\treturn new Slice( start, stop, step );\n\t}\n\tif ( !isValid( start ) ) {\n\t\tthrow new TypeError( format( '1izEf', start ) );\n\t}\n\tif ( !isValid( stop ) ) {\n\t\tthrow new TypeError( format( '1izEg', stop ) );\n\t}\n\tif ( !isValid( step ) ) {\n\t\tthrow new TypeError( format( '1izEh', step ) );\n\t} else if ( step === 0 ) {\n\t\tthrow new RangeError( format( '1izEi', step ) );\n\t}\n\tthis._start = ( start === void 0 ) ? null : start;\n\tthis._stop = ( stop === void 0 ) ? null : stop;\n\tthis._step = ( step === void 0 ) ? null : step;\n\treturn this;\n}\n\n/**\n* Constructor name.\n*\n* @name name\n* @memberof Slice\n* @readonly\n* @type {string}\n* @default 'Slice'\n*\n* @example\n* var str = Slice.name;\n* // returns 'Slice'\n*/\nsetReadOnly( Slice, 'name', 'Slice' );\n\n/**\n* Returns the slice's starting index.\n*\n* @name start\n* @memberof Slice.prototype\n* @readonly\n* @type {(integer|null)}\n*\n* @example\n* var s = new Slice( 10 );\n* // returns <Slice>\n*\n* var start = s.start;\n* // returns null\n*\n* @example\n* var s = new Slice( 3, 10 );\n* // returns <Slice>\n*\n* var start = s.start;\n* // returns 3\n*\n* @example\n* var s = new Slice( 3, 10, 2 );\n* // returns <Slice>\n*\n* var start = s.start;\n* // returns 3\n*/\nsetReadOnlyAccessor( Slice.prototype, 'start', function get() {\n\treturn this._start;\n});\n\n/**\n* Returns the slice's ending index.\n*\n* @name stop\n* @memberof Slice.prototype\n* @readonly\n* @type {(integer|null)}\n*\n* @example\n* var s = new Slice( 10 );\n* // returns <Slice>\n*\n* var stop = s.stop;\n* // returns 10\n*\n* @example\n* var s = new Slice( 3, 10 );\n* // returns <Slice>\n*\n* var stop = s.stop;\n* // returns 10\n*\n* @example\n* var s = new Slice( 3, 10, 2 );\n* // returns <Slice>\n*\n* var stop = s.stop;\n* // returns 10\n*/\nsetReadOnlyAccessor( Slice.prototype, 'stop', function get() {\n\treturn this._stop;\n});\n\n/**\n* Returns the slice's index increment.\n*\n* @name step\n* @memberof Slice.prototype\n* @readonly\n* @type {(integer|null)}\n*\n* @example\n* var s = new Slice( 10 );\n* // returns <Slice>\n*\n* var step = s.step;\n* // returns null\n*\n* @example\n* var s = new Slice( 3, 10 );\n* // returns <Slice>\n*\n* var step = s.step;\n* // returns null\n*\n* @example\n* var s = new Slice( 3, 10, 2 );\n* // returns <Slice>\n*\n* var step = s.step;\n* // returns 2\n*/\nsetReadOnlyAccessor( Slice.prototype, 'step', function get() {\n\treturn this._step;\n});\n\n/**\n* Serializes a slice to a string.\n*\n* @name toString\n* @memberof Slice.prototype\n* @type {Function}\n* @returns {string} serialized Slice\n*\n* @example\n* var s = new Slice( 10 );\n* // returns <Slice>\n*\n* var str = s.toString();\n* // returns 'Slice(null,10,null)'\n*\n* @example\n* var s = new Slice( 3, 10 );\n* // returns <Slice>\n*\n* var str = s.toString();\n* // returns 'Slice(3,10,null)'\n*\n* @example\n* var s = new Slice( 3, 10, 2 );\n* // returns <Slice>\n*\n* var str = s.toString();\n* // returns 'Slice(3,10,2)'\n*/\nsetReadOnly( Slice.prototype, 'toString', function toString() {\n\treturn 'Slice('+this._start+','+this._stop+','+this.step+')';\n});\n\n/**\n* Serializes a slice as a JSON object.\n*\n* ## Notes\n*\n* - `JSON.stringify()` implicitly calls this method when stringifying a `Slice` instance.\n*\n* @name toJSON\n* @memberof Slice.prototype\n* @type {Function}\n* @returns {Object} serialized Slice\n*\n* @example\n* var s = new Slice( 10 );\n* // returns <Slice>\n*\n* var o = s.toJSON();\n* // returns { 'type': 'Slice', 'data': [ null, 10, null ] }\n*\n* @example\n* var s = new Slice( 3, 10 );\n* // returns <Slice>\n*\n* var o = s.toJSON();\n* // returns { 'type': 'Slice', 'data': [ 3, 10, null ] }\n*\n* @example\n* var s = new Slice( 3, 10, 2 );\n* // returns <Slice>\n*\n* var o = s.toJSON();\n* // returns { 'type': 'Slice', 'data': [ 3, 10, 2 ] }\n*/\nsetReadOnly( Slice.prototype, 'toJSON', function toJSON() {\n\treturn {\n\t\t'type': 'Slice',\n\t\t'data': [\n\t\t\tthis._start,\n\t\t\tthis._stop,\n\t\t\tthis._step\n\t\t]\n\t};\n});\n\n\n// EXPORTS //\n\nexport default Slice;\n"],"names":["isValid","value","isInteger","isNull","isUndefined","Slice","nargs","start","stop","step","arguments","length","this","TypeError","format","RangeError","_start","_stop","_step","setReadOnly","setReadOnlyAccessor","prototype","type","data"],"mappings":";;mnBAsDA,SAASA,EAASC,GACjB,OAASC,EAAWD,IAAWE,EAAQF,IAAWG,EAAaH,EAChE,CAyDA,SAASI,IACR,IAAIC,EACAC,EACAC,EACAC,EAoBJ,GAjBe,KADfH,EAAQI,UAAUC,SAEjBJ,EAAQ,KACRC,EAAO,KACPC,EAAO,MACc,IAAVH,GACXC,EAAQ,KACRC,EAAOE,UAAW,GAClBD,EAAO,MACc,IAAVH,GACXC,EAAQG,UAAW,GACnBF,EAAOE,UAAW,GAClBD,EAAO,OAEPF,EAAQG,UAAW,GACnBF,EAAOE,UAAW,GAClBD,EAAOC,UAAW,MAEXE,gBAAgBP,GACvB,OAAO,IAAIA,EAAOE,EAAOC,EAAMC,GAEhC,IAAMT,EAASO,GACd,MAAM,IAAIM,UAAWC,EAAQ,QAASP,IAEvC,IAAMP,EAASQ,GACd,MAAM,IAAIK,UAAWC,EAAQ,QAASN,IAEvC,IAAMR,EAASS,GACd,MAAM,IAAII,UAAWC,EAAQ,QAASL,IAChC,GAAc,IAATA,EACX,MAAM,IAAIM,WAAYD,EAAQ,QAASL,IAKxC,OAHAG,KAAKI,YAAqB,IAAVT,EAAqB,KAAOA,EAC5CK,KAAKK,WAAmB,IAATT,EAAoB,KAAOA,EAC1CI,KAAKM,WAAmB,IAATT,EAAoB,KAAOA,EACnCG,IACR,CAeAO,EAAad,EAAO,OAAQ,SA+B5Be,EAAqBf,EAAMgB,UAAW,SAAS,WAC9C,OAAOT,KAAKI,MACb,IA+BAI,EAAqBf,EAAMgB,UAAW,QAAQ,WAC7C,OAAOT,KAAKK,KACb,IA+BAG,EAAqBf,EAAMgB,UAAW,QAAQ,WAC7C,OAAOT,KAAKM,KACb,IA+BAC,EAAad,EAAMgB,UAAW,YAAY,WACzC,MAAO,SAAST,KAAKI,OAAO,IAAIJ,KAAKK,MAAM,IAAIL,KAAKH,KAAK,GAC1D,IAmCAU,EAAad,EAAMgB,UAAW,UAAU,WACvC,MAAO,CACNC,KAAQ,QACRC,KAAQ,CACPX,KAAKI,OACLJ,KAAKK,MACLL,KAAKM,OAGR"}