js-jsonf

0.1.0 • Public • Published

js-jsonf Build Status

JS Objects w/ function support.

Move JS from one live system to another.

engines: node >= 8.x

Example

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

Installation

npm i js-jsonf --save

API

.encode(obj, [throwOnInvalidType = false])

Returns false given an invalid type.

.decode(str, [throwOnInvalidSyntax = false])

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.
 
// js-jsonf:
// milliseconds: 6833.45
// ops/sec: 146,338.965
// ---
// control (native):
// milliseconds: 7033.58
// ops/sec: 142,175.109

License

MIT

Dependents (0)

Package Sidebar

Install

npm i js-jsonf

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

23.5 kB

Total Files

13

Last publish

Collaborators

  • iamdevonbutler