UNPKG

707 BJavaScriptView Raw
1exports.props = {}
2
3exports.inject = t => {
4 const prop = t.props.default
5 const props = {
6 done: (t, val, key, stamp) => {
7 if (val === true) {
8 val = stamp
9 } else if (val && val.val === true) {
10 val.val = val.stamp
11 }
12 return prop(t, val, key, stamp)
13 }
14 }
15 t.set({ props }, false)
16}
17
18exports.done = {
19 on: {
20 data: {
21 log: (val, stamp, t) => t.parent().get('log', {}).push('done'),
22 parentDone (val, stamp, t) {
23 const tasks = t.parent(2)
24 if (
25 tasks &&
26 tasks.keys().every(key => tasks.get([key, 'done', 'compute']))
27 ) {
28 tasks.parent().set({ done: true }, stamp)
29 }
30 }
31 }
32 }
33}