UNPKG

715 BMarkdownView Raw
1# data-lens
2## Simple JavaScript implementation of data-lens
3
4### Usage
5
6```javascript
7Lens = require('data-lens');
8
9// Basic use
10lens = new Lens(getter, setter);
11
12lens.get(data); // === getter(data)
13lens.set(val, data); // === setter(val, data)
14
15// Chaining
16lens1.then(lens2).get(data);
17lens1.then(lens2).set(val, data);
18lens1.key(key1).key(key2).index(index1).index(index2)...;
19
20// Convenience methods
21Lens.index(0).get([1,2,3]); // 1
22Lens.index(0).set(3, [1,2,3]); // [3, 2, 3]
23
24Lens.key('a').get({a: 1}); // 1
25Lens.key('a').set(3, {a: 1}); // {a: 3}
26
27Lens.path('a.b').get({a: {b: 1}}); // 1
28Lens.path('a.b').set(3, {a: {b: 1}}); // {a: {b: 3}}
29
30Lens.compose(lens1, lens2); // Equivalent to lens1.then(lens2)
31```
\No newline at end of file