is-restorable

0.1.6 • Public • Published

is-restorable CircleCI

Checking instance's restorablity. Designed for testing.

What is "Restorable"

Restorable is a characteristic of JavaScript classes whose instance meets the following requirement.

const jsonStr = JSON.stringify(instance)
const plain = JSON.parse(jsonStr)
const newInstance = new TheClass(plain)
 
assert.deepEqual(newInstance, instance)

Roughly, Restorable object is an instance which can re-created by passing its JSON object to the class constructor.

Restorable === shareable over environments

Class instances are subject to become JSON when they are passed over environments.

Class instance => JSON => Network server

Class instance => JSON => File, storage

Class instance => JSON => Redux store

Class instance => JSON => Web worker, another process

Restorable objects are easily restored from JSON in the passed environments.

Installation

npm install is-restorable

Usage

import isRestorable from 'is-restorable'
 
class Foo {
  constructor(params) {
    this.name = params.name
    this.age = params.age
    this.hasCar = params.hasCar || null
    this.info = params.info || {}
  }
}
 
const instance = new Foo({
  name: 'Shin Suzuki',
  age: 55,
  info: {
    foo: 400,
    bar: { baz: 'abcd' },
    abc: null,
  }
})
assert(isRestorable(instance))

Phenyl Family

is-restorable is one of Phenyl Family. Phenyl is a JavaScript Server/Client framework for State Synchronization over Environment(SSoE). Restorable instances are essential for state synchronization.

LICENSE

Apache License 2.0

Readme

Keywords

none

Package Sidebar

Install

npm i is-restorable

Weekly Downloads

100

Version

0.1.6

License

Apache License 2.0

Unpacked Size

15.4 kB

Total Files

7

Last publish

Collaborators

  • camcam-lemon
  • alternacrow
  • bowzstandard
  • shinout
  • naturalclar
  • sasurau4
  • wh1tecat