0.2.1 • Published 8 years ago
fray.model v0.2.1
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
0.2.1
8 years ago