Skip to content

Commit

Permalink
Auto-generated commit
Browse files Browse the repository at this point in the history
  • Loading branch information
stdlib-bot committed Oct 14, 2023
1 parent 24030bc commit d0060b9
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 115 deletions.
12 changes: 10 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,11 @@ jobs:
fi
# Trim leading and trailing whitespace:
dep=$(echo "$dep" | xargs)
version="^$(npm view $dep version)"
version="$(npm view $dep version)"
if [[ -z "$version" ]]; then
continue
fi
version="^$version"
jq -r --arg dep "$dep" --arg version "$version" '.dependencies[$dep] = $version' package.json > package.json.tmp
mv package.json.tmp package.json
done
Expand All @@ -192,7 +196,11 @@ jobs:
fi
# Trim leading and trailing whitespace:
dep=$(echo "$dep" | xargs)
version="^$(npm view $dep version)"
version="$(npm view $dep version)"
if [[ -z "$version" ]]; then
continue
fi
version="^$version"
jq -r --arg dep "$dep" --arg version "$version" '.devDependencies[$dep] = $version' package.json > package.json.tmp
mv package.json.tmp package.json
done
Expand Down
6 changes: 3 additions & 3 deletions dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions dist/index.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion lib/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
var trim = require( '@stdlib/string-base-trim' );
var str2slice = require( '@stdlib/slice-base-str2slice' );
var MultiSlice = require( '@stdlib/slice-multi' );
var args2multislice = require( '@stdlib/slice-base-args2multislice' );


// VARIABLES //
Expand Down Expand Up @@ -118,7 +119,7 @@ function str2multislice( str ) {
}
args.push( arg );
}
return MultiSlice.apply( null, args );
return args2multislice( args );
}


Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"url": "https://github.com/stdlib-js/stdlib/issues"
},
"dependencies": {
"@stdlib/slice-base-args2multislice": "github:stdlib-js/slice-base-args2multislice#main",
"@stdlib/slice-base-str2slice": "^0.1.0",
"@stdlib/slice-multi": "^0.1.0",
"@stdlib/string-base-trim": "^0.1.1",
Expand Down
109 changes: 3 additions & 106 deletions test/dist/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,116 +21,13 @@
// MODULES //

var tape = require( 'tape' );
var isSlice = require( '@stdlib/assert-is-slice' );
var isMultiSlice = require( '@stdlib/assert-is-multi-slice' );
var S = require( '@stdlib/slice-ctor' );
var MultiSlice = require( '@stdlib/slice-multi' );
var str2multislice = require( './../../dist' );
var main = require( './../../dist' );


// TESTS //

tape( 'main export is a function', function test( t ) {
tape( 'main export is defined', function test( t ) {
t.ok( true, __filename );
t.strictEqual( typeof str2multislice, 'function', 'main export is a function' );
t.end();
});

tape( 'the function returns `null` if provided a first argument which is not a valid string', function test( t ) {
var values;
var i;

values = [
'foo',
'bar',
'Slice',
'Slice()',
'Slice(null)',
'Slice(2,10)',
'Slice(10)',
'Slice(1,2,3,4)',
'S(2,3,4)',
'Slice(2,10,2',
'Slice(',
'Slice(2,10,1.5)',
'Slice(foo,bar,beep)',
'Multi()',
'MultiSlice',
'MultiSlice(',
'MultiSlice()123',
'MultiSlice(foo,bar,beep)',
'MultiSlice(foo)',
'MultiSlice(foo,bar)',
'MultiSlice(1,2,3',
'M(2,3,4)',
'MultiSlice(Slice)',
'MultiSlice(Slice())',
'MultiSlice(Slice(null))',
'MultiSlice(Slice(2,10))',
'MultiSlice(Slice(10))',
'MultiSlice(Slice(1,2,3,4))',
'MultiSlice(S(2,3,4))',
'MultiSlice(Slice(2,10,2)',
'MultiSlice(Slice()',
'MultiSlice(Slice(2,10,1.5))',
'MultiSlice(Slice(foo,bar,beep))'
];
for ( i = 0; i < values.length; i++ ) {
t.strictEqual( str2multislice( values[ i ] ), null, 'returns expected value when provided ' + values[ i ] );
}
t.end();
});

tape( 'the function parses a string-serialized MultiSlice object', function test( t ) {
var expected;
var actual;
var values;
var data;
var v;
var s;
var i;
var j;

/* eslint-disable new-cap */

values = [
new MultiSlice( null, S( null, null, null ) ),
new MultiSlice( S( 2, 10, 2 ), 10 ),
new MultiSlice( S( -2, -10, -2 ) ),
new MultiSlice( S( null, 10, 2 ), 10, null ),
new MultiSlice( 2, 10, S( 2, null, 2 ) ),
new MultiSlice( null, 10, S( 2, 10, null ) ),
new MultiSlice( null, null, S( null, null, 2 ), 10 ),
new MultiSlice( 2, 10, 4, S( 2, null, null ) ),
new MultiSlice( S( null, 10, null ), 1, 2, 3, 4 ),
new MultiSlice( S( -1, null, -2 ), S( 2, 10, 1 ) ),
new MultiSlice(),
new MultiSlice( null ),
new MultiSlice( 2, 10, 1 ),
new MultiSlice( 2 )
];

/* eslint-enable new-cap */

for ( i = 0; i < values.length; i++ ) {
actual = str2multislice( values[ i ].toString() );
expected = values[ i ].data;
data = actual.data;

t.strictEqual( isMultiSlice( actual ), true, 'returns expected value. i: ' + i + '.' );
t.strictEqual( actual.ndims, values[ i ].ndims, 'returns expected value. i: ' + i + '.' );
t.strictEqual( data.length, expected.length, 'returns expected value. i: ' + i + '.' );
for ( j = 0; j < expected.length; j++ ) {
s = data[ j ];
v = expected[ j ];
if ( isSlice( v ) ) {
t.strictEqual( s.start, v.start, 'returns expected value. i: ' + i + '. j: ' + j + '.' );
t.strictEqual( s.stop, v.stop, 'returns expected value. i: ' + i + '. j: ' + j + '.' );
t.strictEqual( s.step, v.step, 'returns expected value. i: ' + i + '. j: ' + j + '.' );
} else {
t.strictEqual( s, v, 'returns expected value. i: ' + i + '. j: ' + j + '.' );
}
}
}
t.strictEqual( main !== void 0, true, 'main export is defined' );
t.end();
});

0 comments on commit d0060b9

Please sign in to comment.