-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
expressions.js
60 lines (47 loc) · 906 Bytes
/
expressions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Generated by CoffeeScript 1.9.3
(function() {
var data, graph, jg, json;
jg = require('jsongraph');
json = {
graph: {
a: {
value: "{book.category[0].text}"
},
b: {
value: "{foo}",
value_int: {
"$ref": "#/data/book/code"
},
value_str: {
"$ref": "#/data/book/category[0].text"
}
}
}
};
data = {
book: {
code: 1,
category: [
{
text: "fairytales stories"
}
]
},
foo: function() {
return ++this.book.code;
}
};
jg.opts.verbose = 2;
graph = jg.init(json);
graph.evaluate(data);
graph.dump();
data.book.category[0].text = "foo";
graph.set('a', graph.evaluate(data, {
graph: graph.get('a')
}));
graph.dump();
graph.evaluate(data, {
parsers: ["ref", "expr"]
});
graph.dump();
}).call(this);