0.2.1 • Published 8 years ago

fray.model v0.2.1

Weekly downloads
3
License
-
Repository
-
Last release
8 years ago

fray.model

Persistent data structures

Usage

var model = require('fray,.model');

var user = model({
  name: 'John',
  age: 30
});

// read
user(['name']); // 'John'

// update
user(['age'], 40);
user(['age']); // 40

Root node

// root
user([]); // { name: 'John', age: 40 }

// replace
user([], { name: 'James' });
user([]); // { name: 'James' }

Persistent data structures

var snapshot = user([]);
user([]) === snapshot // true

user(['age'], 30);
user([]) === snapshot // false

Nested trees

var data = model({
  foo: {
    bar: 123
  }
});

// read
data(['foo', 'bar']); // 123

// update
data(['foo', 'bar'], 'abc');
data(['foo', 'bar']); // 'abc'

Create nodes

data(['foz']); // undefined
data(['foz'], 123);
data([]); // { foo: { bar: 'abc' }, foz: 123 }

Install

npm install fray.model

Contributing

PRs are welcome!

Unit tests

git clone https://github.com/frayjs/model
cd model
npm install
npm test

References

License

MIT