0.1.6 • Published 6 years ago

is-restorable v0.1.6

Weekly downloads
37
License
Apache License 2....
Repository
github
Last release
6 years ago

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

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago