0.2.0 • Published 6 years ago

jsmoves v0.2.0

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

jsmoves Build Status

Move JS from one live system to another.

engines: node >= 8.x

Example

const {encode, decode} = require('jsmoves');
const obj = {
  a: 1,
  b() {
    return 1;
  }
};
const str = encode(obj);
const obj1 = decode(str);

Installation

npm i jsmoves --save

API

.encode(obj, throwOnInvalidType = false)

.decode(str throwOnInvalidSyntax = false)

By default, without throwing errors, .encode() returns false given an invalid type. By default, without throwing errors, .decode() returns undefined given a invalid syntax.

Supported data types

  • String
  • Boolean
  • Number
  • Array
  • Object
  • Date
  • Function (all combinations of: regular, async, generator, arrow)
  • NaN
  • null
  • undefined

All types are supported when wrapped in a function.

Caveats

Function behavior is normalized and consistent; however, the parsed function may contain slight formatting differences from the original; its functionality however, will remain consistent.

Perf

As fast as native JSON.parse() JSON.stringify():

// 1M iterations. Each iteration calls both encode and decode.

// jsmoves:
// milliseconds: 6833.45
// ops/sec: 146,338.965
// ---
// control (native):
// milliseconds: 7033.58
// ops/sec: 142,175.109

License

MIT

0.2.0

6 years ago

0.1.0

6 years ago