is-restorable
v0.1.6
Published
Checking instance's restorablity. Designed for testing.
Downloads
303
Keywords
Readme
is-restorable
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