Reviver

Revive a JSON-serialized complex number.

Usage

var reviver = require( '@stdlib/complex/reviver' );

reviver( key, value )

Revives a JSON-serialized complex number.

var parseJSON = require( '@stdlib/utils/parse-json' );

var str = '{"type":"Complex128","re":5,"im":3}';

var z = parseJSON( str, reviver );
// returns <Complex128>

For details on the JSON serialization format, see Complex128.

Examples

var Complex128 = require( '@stdlib/complex/float64' );
var parseJSON = require( '@stdlib/utils/parse-json' );
var reviver = require( '@stdlib/complex/reviver' );

var z = new Complex128( 5.0, 3.0 );
var str = JSON.stringify( z );
// returns '{"type":"Complex128","re":5,"im":3}'

var w = parseJSON( str, reviver );
if ( w instanceof Error ) {
    throw w;
}
var bool = ( w instanceof z.constructor );
// returns true

bool = ( w.re === z.re );
// returns true

bool = ( w.im === z.im );
// returns true