sargs2multislice

Create a MultiSlice object from a comma-separated list of string-serialized MultiSlice constructor arguments.

Usage

var sargs2multislice = require( '@stdlib/slice/base/sargs2multislice' );

sargs2multislice( str )

Creates a MultiSlice object from a comma-separated list of string-serialized MultiSlice constructor arguments.

var s = sargs2multislice( '0,Slice(2,10,1),1' );
// returns <MultiSlice>

var d = s.data;
// returns [ 0, <Slice>, 1 ]

The function returns null if provided an invalid string.

var s = sargs2multislice( 'foo,bar' );
// returns null

Notes

  • This function is useful from wanting to create a MultiSlice object from an array of constructor arguments which has been serialized to a string (e.g., when working with Proxy objects supporting slicing].

    var Slice = require( '@stdlib/slice/ctor' );
    
    var args = [ 0, new Slice( 2, 10, 1 ), 1 ];
    
    // ...
    
    var sargs = args.toString();
    // returns '0,Slice(2,10,1),1'
    
    // ...
    
    var s = sargs2multislice( sargs );
    // returns <MultiSlice>
    
    var d = s.data;
    // returns [ 0, <Slice>, 1 ]
    

Examples

var sargs2multislice = require( '@stdlib/slice/base/sargs2multislice' );

var s = sargs2multislice( 'null,null,null' );
var d = s.data;
// returns [ null, null, null ]

s = sargs2multislice( '10,Slice(2,10,1),null' );
d = s.data;
// returns [ 10, <Slice>, null ]

s = sargs2multislice( '2,Slice(2,10,1),-5' );
d = s.data;
// returns [ 2, <Slice>, -5 ]

s = sargs2multislice( 'foo,bar' );
// returns null
Did you find this page helpful?