@voxgig/create-sdkgen 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/create-sdkgen +2 -0
- package/bin/create-sdkgen~ +261 -0
- package/dist/create-sdkgen.js +2 -1
- package/dist/create-sdkgen.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/project/standard/.env.local +1 -0
- package/project/standard/.sdk/build/apidef.js +8 -0
- package/project/standard/.sdk/build/docgen.js +15 -0
- package/project/standard/.sdk/build/sdkgen.js +16 -0
- package/project/standard/.sdk/def/README.md +4 -0
- package/project/standard/.sdk/model/.model-config/model-config.jsonic +19 -0
- package/project/standard/.sdk/model/README.md +2 -0
- package/project/standard/.sdk/model/api/api-def.jsonic +5 -0
- package/project/standard/.sdk/model/api/api-entity-index.jsonic +2 -0
- package/project/standard/.sdk/model/config.jsonic +13 -0
- package/project/standard/.sdk/model/feature/README.md +2 -0
- package/project/standard/.sdk/model/feature/feature-index.jsonic +3 -0
- package/project/standard/.sdk/model/flow/flow-index.jsonic +2 -0
- package/project/standard/.sdk/model/guide.jsonic +5 -0
- package/project/standard/.sdk/model/sdk.fragment.jsonic +39 -0
- package/project/standard/.sdk/model/target/README.md +2 -0
- package/project/standard/.sdk/model/target/target-index.jsonic +2 -0
- package/project/standard/.sdk/model/target/target-index.jsonic~ +4 -0
- package/project/standard/.sdk/package.json +37 -0
- package/project/standard/.sdk/src/DocStaticRoot.ts +45 -0
- package/project/standard/.sdk/src/Root.ts +233 -0
- package/project/standard/.sdk/src/Top.ts +48 -0
- package/project/standard/.sdk/src/cmp/README.md +2 -0
- package/project/standard/.sdk/src/tsconfig.json +16 -0
- package/project/standard/.sdk/test/.model-config/model-config.json +7 -0
- package/project/standard/.sdk/test/.model-config/model-config.jsonic +4 -0
- package/project/standard/.sdk/test/primary/auth.jsonic +20 -0
- package/project/standard/.sdk/test/primary/body.jsonic +27 -0
- package/project/standard/.sdk/test/primary/contextify.jsonic +5 -0
- package/project/standard/.sdk/test/primary/done.jsonic +7 -0
- package/project/standard/.sdk/test/primary/error.jsonic +19 -0
- package/project/standard/.sdk/test/primary/findparam.jsonic +22 -0
- package/project/standard/.sdk/test/primary/fullurl.jsonic +50 -0
- package/project/standard/.sdk/test/primary/headers.jsonic +12 -0
- package/project/standard/.sdk/test/primary/inward.jsonic +3 -0
- package/project/standard/.sdk/test/primary/method.jsonic +11 -0
- package/project/standard/.sdk/test/primary/operator.jsonic +60 -0
- package/project/standard/.sdk/test/primary/options.jsonic +60 -0
- package/project/standard/.sdk/test/primary/outward.jsonic +3 -0
- package/project/standard/.sdk/test/primary/params.jsonic +10 -0
- package/project/standard/.sdk/test/primary/query.jsonic +9 -0
- package/project/standard/.sdk/test/primary/reqform.jsonic +9 -0
- package/project/standard/.sdk/test/primary/request.jsonic +31 -0
- package/project/standard/.sdk/test/primary/resbasic.jsonic +15 -0
- package/project/standard/.sdk/test/primary/resbody.jsonic +5 -0
- package/project/standard/.sdk/test/primary/resform.jsonic +11 -0
- package/project/standard/.sdk/test/primary/resheaders.jsonic +9 -0
- package/project/standard/.sdk/test/primary/response.jsonic +20 -0
- package/project/standard/.sdk/test/primary/spec.jsonic +32 -0
- package/project/standard/.sdk/test/struct/getpath.jsonic +143 -0
- package/project/standard/.sdk/test/struct/inject.jsonic +76 -0
- package/project/standard/.sdk/test/struct/merge.jsonic +161 -0
- package/project/standard/.sdk/test/struct/minor.jsonic +693 -0
- package/project/standard/.sdk/test/struct/select.jsonic +166 -0
- package/project/standard/.sdk/test/struct/transform.jsonic +453 -0
- package/project/standard/.sdk/test/struct/validate.jsonic +287 -0
- package/project/standard/.sdk/test/struct/walk.jsonic +57 -0
- package/project/standard/.sdk/test/test.json +15080 -0
- package/project/standard/.sdk/test/test.jsonic +44 -0
- package/project/standard/.sdk/tm/LICENSE +22 -0
- package/project/standard/.sdk/tm/README.md +2 -0
- package/src/create-sdkgen.ts +3 -1
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
|
|
2
|
+
basic: {
|
|
3
|
+
set: [
|
|
4
|
+
# Basic equality matching
|
|
5
|
+
{ in: { query: {age:30}, obj: {a:{name:'Alice',age:30}, b:{name:'Bob',age:25}} },
|
|
6
|
+
out: [{name:'Alice',age:30,'$KEY':'a'}] }
|
|
7
|
+
|
|
8
|
+
{ in: { query: {name:'Bob'}, obj: {a:{name:'Alice',age:30}, b:{name:'Bob',age:25}} },
|
|
9
|
+
out: [{name:'Bob',age:25,'$KEY':'b'}] }
|
|
10
|
+
|
|
11
|
+
# Multiple field equality
|
|
12
|
+
{ in: { query: {age:30,city:'NYC'}, obj: {a:{age:30,city:'NYC'}, b:{age:30,city:'LA'}} },
|
|
13
|
+
out: [{age:30,city:'NYC','$KEY':'a'}] }
|
|
14
|
+
|
|
15
|
+
# Array children
|
|
16
|
+
{ in: { query: {type:'user'}, obj: [{id:1,type:'user'}, {id:2,type:'admin'}, {id:3,type:'user'}] },
|
|
17
|
+
out: [{id:1,type:'user','$KEY':0}, {id:3,type:'user','$KEY':2}] }
|
|
18
|
+
|
|
19
|
+
# No matches
|
|
20
|
+
{ in: { query: {age:40}, obj: {a:{age:30}, b:{age:25}} },
|
|
21
|
+
out: [] }
|
|
22
|
+
|
|
23
|
+
# Empty query matches all
|
|
24
|
+
{ in: { query: {}, obj: {a:{x:1}, b:{x:2}} },
|
|
25
|
+
out: [{x:1,'$KEY':'a'}, {x:2,'$KEY':'b'}] }
|
|
26
|
+
|
|
27
|
+
# Non-object input
|
|
28
|
+
{ in: { query: {x:1}, obj: 'hello' }, out: [] }
|
|
29
|
+
{ in: { query: {x:1}, obj: 42 }, out: [] }
|
|
30
|
+
{ in: { query: {x:1}, obj: null }, out: [] }
|
|
31
|
+
{ in: { query: {x:1}, obj: undefined }, out: [] }
|
|
32
|
+
|
|
33
|
+
# Deep equality for objects
|
|
34
|
+
{ in: { query: {data:{x:1,y:2}}, obj: {a:{data:{x:1,y:2}}, b:{data:{x:1,y:3}}} },
|
|
35
|
+
out: [{data:{x:1,y:2},'$KEY':'a'}] }
|
|
36
|
+
|
|
37
|
+
# Deep equality for arrays
|
|
38
|
+
{ in: { query: {tags:['a','b']}, obj: {a:{tags:['a','b']}, b:{tags:['a','c']}} },
|
|
39
|
+
out: [{tags:['a','b'],'$KEY':'a'}] }
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
operators: {
|
|
44
|
+
set: [
|
|
45
|
+
# `$AND` operator
|
|
46
|
+
{ in: { query: {'`$AND`':[{age:30}, {city:'NYC'}]},
|
|
47
|
+
obj: {a:{age:30,city:'NYC'}, b:{age:30,city:'LA'}, c:{age:25,city:'NYC'}} },
|
|
48
|
+
out: [{age:30,city:'NYC','$KEY':'a'}] }
|
|
49
|
+
|
|
50
|
+
# `$AND` with no matches
|
|
51
|
+
{ in: { query: {'`$AND`':[{age:30}, {city:'Boston'}]},
|
|
52
|
+
obj: {a:{age:30,city:'NYC'}, b:{age:30,city:'LA'}} },
|
|
53
|
+
out: [] }
|
|
54
|
+
|
|
55
|
+
# `$OR` operator
|
|
56
|
+
{ in: { query: {'`$OR`':[{age:25}, {age:35}]},
|
|
57
|
+
obj: {a:{age:30}, b:{age:25}, c:{age:35}} },
|
|
58
|
+
out: [{age:25,'$KEY':'b'}, {age:35,'$KEY':'c'}] }
|
|
59
|
+
|
|
60
|
+
# `$OR` with all matches
|
|
61
|
+
{ in: { query: {'`$OR`':[{type:'user'}, {type:'admin'}]},
|
|
62
|
+
obj: [{type:'user'}, {type:'admin'}, {type:'guest'}] },
|
|
63
|
+
out: [{type:'user','$KEY':0}, {type:'admin','$KEY':1}] }
|
|
64
|
+
|
|
65
|
+
# Nested `$AND` within `$OR`
|
|
66
|
+
{ in: { query: {'`$OR`':[{'`$AND`':[{role:'user'}, {active:true}]}, {'`$AND`':[{role:'admin'}, {age:30}]}]},
|
|
67
|
+
obj: {a:{role:'admin',age:30,active:true}, b:{role:'user',age:25,active:true},
|
|
68
|
+
c:{role:'user',age:30,active:false}, d:{role:'admin',age:30,active:false}} },
|
|
69
|
+
out: [{role:'admin',age:30,active:true,'$KEY':'a'}, {role:'user',age:25,active:true,'$KEY':'b'},
|
|
70
|
+
{role:'admin',age:30,active:false,'$KEY':'d'}] }
|
|
71
|
+
|
|
72
|
+
# Complex nested operators
|
|
73
|
+
{ in: { query: {'`$AND`':[{'`$OR`':[{status:'active'}, {status:'pending'}]}, {priority:'high'}]},
|
|
74
|
+
obj: {a:{status:'active',priority:'high'}, b:{status:'active',priority:'low'},
|
|
75
|
+
c:{status:'pending',priority:'high'}, d:{status:'done',priority:'high'}} },
|
|
76
|
+
out: [{status:'active',priority:'high','$KEY':'a'}, {status:'pending',priority:'high','$KEY':'c'}] }
|
|
77
|
+
|
|
78
|
+
# Empty `$AND` array (should match all)
|
|
79
|
+
{ in: { query: {'`$AND`':[]}, obj: {a:{x:1}, b:{x:2}} },
|
|
80
|
+
out: [{x:1,'$KEY':'a'}, {x:2,'$KEY':'b'}] }
|
|
81
|
+
|
|
82
|
+
# Empty `$OR` array (should match none)
|
|
83
|
+
{ in: { query: {'`$OR`':[]}, obj: {a:{x:1}, b:{x:2}} },
|
|
84
|
+
out: [] }
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
{ in: { query: {a:{'`$GT`':10}}, obj: [{a:9},{a:10},{a:11},{a:12}] },
|
|
88
|
+
out: [{a:11,'$KEY':2},{a:12,'$KEY':3}] }
|
|
89
|
+
|
|
90
|
+
{ in: { query: {b:{'`$LT`':10}}, obj: [{b:9},{b:10},{b:11},{b:12}] },
|
|
91
|
+
out: [{b:9,'$KEY':0}] }
|
|
92
|
+
|
|
93
|
+
{ in: { query: {a:b:'`$LT`':10}, obj: [{a:b:9},{a:b:10},{a:b:11},{a:b:12}] },
|
|
94
|
+
out: [{a:b:9,'$KEY':0}] }
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
{ in: { query: {x:{y:20}}, obj: [{x:{y:20,z:220}},{x:{y:21,z:221}}] },
|
|
98
|
+
out: [{x:{y:20,z:220},'$KEY':0}] }
|
|
99
|
+
|
|
100
|
+
{ in: { query: {s0:'`$LIKE`':'[aA][bB][cC]'}, obj: [{s0:'DEf'},{s0:'ABc'}] },
|
|
101
|
+
out: [{s0:'ABc','$KEY':1}] }
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
{ in: { query: {'`$NOT`':10}, obj: [9,10,11] },
|
|
105
|
+
out: [9,11] }
|
|
106
|
+
|
|
107
|
+
{ in: { query: {'`$NOT`':{n0:'x'}}, obj: [{n0:x},{n0:y},{n0:z}] },
|
|
108
|
+
out: [{n0:y,'$KEY':1},{n0:z,'$KEY':2}] }
|
|
109
|
+
|
|
110
|
+
{ in: { query: {'`$NOT`':{'`$OR`':[{x:1},{y:2}]}},
|
|
111
|
+
obj: [{x:1,y:3},{x:2,y:2},{x:3,y:1}] },
|
|
112
|
+
out: [{x:3,y:1,'$KEY':2}] }
|
|
113
|
+
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
edge: {
|
|
118
|
+
set: [
|
|
119
|
+
# Mixed equality and operators
|
|
120
|
+
{ in: { query: {type:'user', '`$OR`':[{status:'active'}, {admin:true}]},
|
|
121
|
+
obj: [{type:'user',status:'active'}, {type:'user',status:'inactive',admin:true},
|
|
122
|
+
{type:'guest',status:'active'}] },
|
|
123
|
+
out: [{type:'user',status:'active','$KEY':0}, {type:'user',status:'inactive',admin:true,'$KEY':1}] }
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
{ in: { query: {value:q}, obj: {a:{value:q}, b:{value:p},c:{}} },
|
|
127
|
+
out: [{value:q,'$KEY':'a'}] }
|
|
128
|
+
|
|
129
|
+
{ in: { query: {value:null}, obj: {a:{value:null}, b:{value:0}, c:{}} },
|
|
130
|
+
out: [{value:null,'$KEY':'a'}] }
|
|
131
|
+
|
|
132
|
+
{ in: { query: {active:true}, obj: {a:{active:true}, b:{active:false}, c:{active:1}} },
|
|
133
|
+
out: [{active:true,'$KEY':'a'}] }
|
|
134
|
+
|
|
135
|
+
# Number comparison (exact match)
|
|
136
|
+
{ in: { query: {count:0}, obj: {a:{count:0}, b:{count:false}, c:{count:'0'}} },
|
|
137
|
+
out: [{count:0,'$KEY':'a'}] }
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
{ in: { query: {'`$OR`':[{a:1},{a:2}]}, obj: [{a:0}, {a:1}, {a:2}, {a:3}] },
|
|
141
|
+
out: [{a:1,'$KEY':1}, {a:2,'$KEY':2}] }
|
|
142
|
+
|
|
143
|
+
{ in: { query: {a:{'`$OR`':[10,20]}}, obj: [{a:0}, {a:10}, {a:20}, {a:30}] },
|
|
144
|
+
out: [{a:10,'$KEY':1}, {a:20,'$KEY':2}] }
|
|
145
|
+
|
|
146
|
+
{ in: { query: {a2:{'`$OR`':[{b2:1},{b2:2}]}},
|
|
147
|
+
obj: [{a2:{b2:0}}, {a2:{b2:1}}, {a2:{b2:2}}, {a2:{b2:3}}] },
|
|
148
|
+
out: [{a2:{b2:1},'$KEY':1}, {a2:{b2:2},'$KEY':2}] }
|
|
149
|
+
|
|
150
|
+
{ in: { query: {'`$OR`':[{a3:{'`$OR`':[1]}}]}, obj: [{a3:0}, {a3:1}, {a3:2}] },
|
|
151
|
+
out: [{a3:1,'$KEY':1}] }
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
{ in: { query: {c0:{'`$AND`':[{x:1},{y:2}]}},
|
|
155
|
+
obj: [{c0:{x:1,y:3,z:0}}, {c0:{x:1,y:2,z:1}}] },
|
|
156
|
+
out: [{c0:{x:1,y:2,z:1},'$KEY':1}] }
|
|
157
|
+
|
|
158
|
+
{ in: { query: {c0:{'`$AND`':[{x:1},{y:{'`$OR`':[2,3]}}]}},
|
|
159
|
+
obj: [{c0:{x:1,y:3,z:0}}, {c0:{x:1,y:2,z:1}}, {c0:{x:1,y:1,z:2}}] },
|
|
160
|
+
out: [{c0:{x:1,y:3,z:0},'$KEY':0}, {c0:{x:1,y:2,z:1},'$KEY':1}] }
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
]
|
|
166
|
+
}
|
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
basic: {
|
|
4
|
+
in: { data: {a:1}, spec: {a:'`a`',b:2} }
|
|
5
|
+
out: {a:1,b:2}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
paths: {
|
|
10
|
+
set: [
|
|
11
|
+
{ in: { } }
|
|
12
|
+
{ in: { data: {} } }
|
|
13
|
+
{ in: { data: {}, spec: {} }, out: {} }
|
|
14
|
+
{ in: { spec: {} }, out: {} }
|
|
15
|
+
{ in: { spec: 'A' }, out: 'A' }
|
|
16
|
+
{ in: { spec: '`a`' } }
|
|
17
|
+
{ in: { data: {}, spec: '`a`' } }
|
|
18
|
+
{ in: { data: { x: 1 }, spec: '`a`' } }
|
|
19
|
+
{ in: { data: { y: 2 }, spec: { y: '`a`' } }, out: {} }
|
|
20
|
+
{ in: { data: { z: 1 }, spec: '``' }, out: {z:1} }
|
|
21
|
+
|
|
22
|
+
{ in: { data: {a:1,b:2}, spec: '`a`' }, out: 1 }
|
|
23
|
+
{ in: { data: {a:1,b:2}, spec: '`b`' }, out: 2 }
|
|
24
|
+
{ in: { data: {a:1,b:2}, spec: '`a``b`' }, out: '12' }
|
|
25
|
+
{ in: { data: {a:3,b:4}, spec: 'X`a`Y`b`Z' }, out: 'X3Y4Z' }
|
|
26
|
+
|
|
27
|
+
{ in: { data: {a:{b:5}}, spec: '`a.b`' }, out: 5 }
|
|
28
|
+
{ in: { data: {a:{b:6}}, spec: 'X`a.b`Y' }, out: 'X6Y' }
|
|
29
|
+
{ in: { data: {a:{b:'B'}}, spec: '`a.b`' }, out: 'B' }
|
|
30
|
+
{ in: { data: {a:{b:'C'}}, spec: '`a.b``c`' }, out: 'C' }
|
|
31
|
+
{ in: { data: {a:{b:'D'}}, spec: '`a.b``a.b`' }, out: 'DD' }
|
|
32
|
+
{ in: { data: {a:{b:'E',c:'F'}}, spec: '`a.b``a.c`' }, out: 'EF' }
|
|
33
|
+
|
|
34
|
+
{ in: { data: {a:{b:5}}, spec: {q:'`a.b`'} }, out: {q:5} }
|
|
35
|
+
{ in: { data: {a:{b:6}}, spec: {q:'X`a.b`Y'} }, out: {q:'X6Y'} }
|
|
36
|
+
{ in: { data: {a:{b:'B'}}, spec: {q:'`a.b`'} }, out: {q:'B'} }
|
|
37
|
+
{ in: { data: {a:{b:'C'}}, spec: {q:'`a.b``c`'} }, out: {q:'C'} }
|
|
38
|
+
{ in: { data: {a:{b:'D'}}, spec: {q:'`a.b``a.b`'} }, out: {q:'DD'} }
|
|
39
|
+
{ in: { data: {a:{b:'E',c:'F'}}, spec: {q:'`a.b``a.c`'} }, out: {q:'EF'} }
|
|
40
|
+
|
|
41
|
+
{ in: { data: {a:{b:1}}, spec:{} }, out: {} }
|
|
42
|
+
{ in: { data: {a:{b:2}}, spec:{x:2} }, out: {x:2} }
|
|
43
|
+
{ in: { data: {a:{b:3}}, spec: {x:'`a`'} }, out: {x:{b:3}} }
|
|
44
|
+
{ in: { data: {a:{b:4}}, spec: {x:'`a.b`'} }, out: {x:4} }
|
|
45
|
+
{ in: { data: {a:{b:5}}, spec: {x:'`b`'} }, out: {} }
|
|
46
|
+
{ in: { data: {a:{b:6}}, spec: {x:'`a.c`'} }, out: {} }
|
|
47
|
+
|
|
48
|
+
{ in: { data: {a:{b:7,c:'C'}}, spec: {x:'`a.b``a.c`'} }, out: {x:'7C'} }
|
|
49
|
+
{ in: { data: {a:{b:8},c:9}, spec: {x:'`a.b`'} }, out: {x:8} }
|
|
50
|
+
{ in: { data: {d:10,a:{b:11},c:12}, spec: {x:'`a.b`'} }, out: {x:11} }
|
|
51
|
+
{ in: { data: {d:13,a:{b:14}}, spec: {x:'`a.b`'} }, out: {x:14} }
|
|
52
|
+
|
|
53
|
+
{ in: { data: {a:{b:'B',c:'C'}}, spec: {a:{d:'`.b`'}} }, out: {a:{d:'B'}} }
|
|
54
|
+
{ in: { data: {a:{b:{c:'C'}}}, spec: {a:{d:'`.b.c`'}} }, out: {a:{d:'C'}} }
|
|
55
|
+
|
|
56
|
+
{ in: { data: {hold:{'`$COPY`':111, '$TOP':222}},
|
|
57
|
+
spec: {a:'`hold.$BT$COPY$BT`', b:'`hold.$TOP`'} }, out: {a:111,b:222} }
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
cmds: {
|
|
63
|
+
set: [
|
|
64
|
+
{ in: { data: {}, spec: '`$BT``$DS`ESCAPED`$BT`' }, out: '`$ESCAPED`' }
|
|
65
|
+
|
|
66
|
+
{ in: { data: 1, spec: '`$COPY`' }, out: 1 }
|
|
67
|
+
{ in: { data: {a:1}, spec: {a:'`$COPY`'} }, out: {a:1} }
|
|
68
|
+
{ in: { data: {a:{b:1}}, spec: {a:'`$COPY`'} }, out: {a:{b:1}} }
|
|
69
|
+
{ in: { data: {a:{b:{c:11}}}, spec: {a:'`$COPY`'} }, out: {a:{b:{c:11}}} }
|
|
70
|
+
{ in: { data: {a:{b:{c:12}}}, spec: {a:{b:'`$COPY`'}} }, out: {a:{b:{c:12}}} }
|
|
71
|
+
{ in: { data: {a:{b:{c:13}}}, spec: {a:{b:{c:'`$COPY`'}}} }, out: {a:{b:{c:13}}} }
|
|
72
|
+
|
|
73
|
+
{ in: { data: {a:{b:2}}, spec: {a:{b:'`$COPY`'}} }, out: {a:{b:2}} }
|
|
74
|
+
{ in: { data: {a:[21,22]}, spec: {a:'`$COPY`'} }, out: {a:[21,22]} }
|
|
75
|
+
{ in: { data: {a23:true}, spec: {a23:'`$COPY`', a24:'`$COPY`'} },
|
|
76
|
+
out: {a23:true} }
|
|
77
|
+
|
|
78
|
+
{ in: { data: {a:{b:3}}, spec: {a:{'`$MERGE`':'`a`',c:3}} }, out: {a:{b:3,c:3}} }
|
|
79
|
+
{ in: { data: {a:{b:4}}, spec: {'`$MERGE`':'``'} }, out: {a:{b:4}} }
|
|
80
|
+
{ in: { data: {a:{b:5}}, spec: {a:{'`$MERGE`':'`a`',b:51}} }, out: {a:{b:51}} }
|
|
81
|
+
{ in: { data: {a:{b:6}}, spec: {a:{b:61,'`$MERGE`':'`a`'}} }, out: {a:{b:61}} }
|
|
82
|
+
|
|
83
|
+
{ in: { data: {a:{b:71},c:{b:81}}, spec: {x:{'`$MERGE`':['`a`']}} }, out: {x:{b:71}} }
|
|
84
|
+
{ in: { data: {a:{b:72},c:{b:82}}, spec: {x:{'`$MERGE`':['`a`','`c`']}} }, out: {x:{b:82}} }
|
|
85
|
+
{ in: { data: {a:{b:73},c:{b:83}}, spec: {x:{'`$MERGE`':['`c`','`a`']}} }, out: {x:{b:73}} }
|
|
86
|
+
|
|
87
|
+
{ in: { data: {a:{b:74},c:{b:84}}, spec: {x:{'`$MERGE`':'`a`'}} }, out: {x:{b:74}} }
|
|
88
|
+
|
|
89
|
+
{ in: { data: {a:{b:75},c:{b:85}}, spec: {x:{'`$MERGE1`':'`a`','`$MERGE0`':'`c`'}} },
|
|
90
|
+
out: {x:{b:85}} }
|
|
91
|
+
{ in: { data: {a:{b:76},c:{b:86}}, spec: {x:{'`$MERGE0`':'`a`','`$MERGE1`':'`c`'}} },
|
|
92
|
+
out: {x:{b:76}} }
|
|
93
|
+
|
|
94
|
+
{ in: { data: {a:{b:8}}, spec: {a:{'`$MERGE`':['`a`',{b:81}]}} }, out: {a:{b:81}} }
|
|
95
|
+
|
|
96
|
+
{ in: { data: {a:{b:81}}, spec: {a:['`$MERGE`']}}, out: {a:[]} }
|
|
97
|
+
|
|
98
|
+
{ in: { data: {a:{b:72}}, spec: {a:['`$MERGE`',77]}}, out: {a:[77]} }
|
|
99
|
+
|
|
100
|
+
{ in: { data: {a:{b:73}}, spec: {x:{'`$MERGE`':'`a`',b:74,c:75}} },
|
|
101
|
+
out: {x:{b:74,c:75}} }
|
|
102
|
+
|
|
103
|
+
{ in: { data: {a:{b:76},d:77}, spec: {x:{'`$MERGE`':'`a`',b:'`d`',c:78}} },
|
|
104
|
+
out: {x:{b:77,c:78}} }
|
|
105
|
+
|
|
106
|
+
{ in: { data: {a:{b:8}}, spec: {a:{b:'`$DELETE`'}} }, out: {a:{}} }
|
|
107
|
+
{ in: { data: {a:{b:8}}, spec: {a:'`$DELETE`'} }, out: {} }
|
|
108
|
+
|
|
109
|
+
{ in: { data: {}, spec: {a:'`$BT`$COPY`$BT`'} }, out: {a:'`$COPY`'} }
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
{ in: { spec: {q:1} }, out: {q:1} }
|
|
113
|
+
{ in: { spec: {q:'`$COPY`'} }, out: {} }
|
|
114
|
+
|
|
115
|
+
{ in: { data: null, spec: {q:1} }, out: {q:1} }
|
|
116
|
+
{ in: { data: null, spec: {q:'`$COPY`'} }, out: {} }
|
|
117
|
+
|
|
118
|
+
{ in: { data: {q:2}, spec: null }, out: null }
|
|
119
|
+
{ in: { data: {q:2} } }
|
|
120
|
+
{ in: { } }
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
each: {
|
|
126
|
+
set: [
|
|
127
|
+
{ in: { data: {x:y:[{q:11},{q:22}]},
|
|
128
|
+
spec: {x:y:[{q:'`$COPY`'},{q:'`$COPY`'}]} },
|
|
129
|
+
out: {x:y:[{q:11},{q:22}]} }
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
{ in: { data: [{q:12},{q:22}],
|
|
133
|
+
spec: {x:y:['`$EACH`','',{q:'`$COPY`',r:'`.q`',p:'`...v`'}]} },
|
|
134
|
+
out: {x:y:[{q:12,r:12},{q:22,r:22}]} }
|
|
135
|
+
|
|
136
|
+
{ in: { data: {v:1,a:[{q:13},{q:23}]},
|
|
137
|
+
spec: {x:y:['`$EACH`','a',{q:'`$COPY`',r:'`.q`',p:'`...v`'}]} },
|
|
138
|
+
out: {x:y:[{q:13,r:13,p:1},{q:23,r:23,p:1}]} }
|
|
139
|
+
|
|
140
|
+
{ in: { data: {a:b:[{q:14},{q:24}]},
|
|
141
|
+
spec: {x:y:['`$EACH`','a.b',{q:'`$COPY`'}]} },
|
|
142
|
+
out: {x:y:[{q:14},{q:24}]} }
|
|
143
|
+
|
|
144
|
+
{ in: { data: {a:b:c:[{q:15},{q:25}]},
|
|
145
|
+
spec: {x:y:['`$EACH`','a.b.c',{q:'`$COPY`'}]} },
|
|
146
|
+
out: {x:y:[{q:15},{q:25}]} }
|
|
147
|
+
|
|
148
|
+
{ in: { data: {a:b:c:d:[{q:16},{q:26}]},
|
|
149
|
+
spec: {x:y:['`$EACH`','a.b.c.d',{q:'`$COPY`'}]} },
|
|
150
|
+
out: {x:y:[{q:16},{q:26}]} }
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
{ in: { data: [],
|
|
154
|
+
spec: [{t:'T9',c:'`$COPY`'},{t:'T9',c:'`$COPY`'}] },
|
|
155
|
+
out: [{t:'T9'},{t:'T9'}] }
|
|
156
|
+
|
|
157
|
+
{ in: { data: [{w:'W10',c:'C10'},{w:'W11',c:'C11'}],
|
|
158
|
+
spec: [{t:'T10',c:'`$COPY`'},{t:'T10',c:'`$COPY`'}] },
|
|
159
|
+
out: [{t:'T10',c:'C10'},{t:'T10',c:'C11'}] }
|
|
160
|
+
|
|
161
|
+
{ in: { data: [{w:'W20',c:'C20'},{w:'W21',c:'C21'}],
|
|
162
|
+
spec: [{t:'T20',c:'`$COPY`',k:'`$KEY`'},{t:'T20',c:'`$COPY`',k:'`$KEY`'}] },
|
|
163
|
+
out: [{t:'T20',c:'C20',k:'0'},{t:'T20',c:'C21',k:'1'}] }
|
|
164
|
+
|
|
165
|
+
{ in: { data: [{w:'W20',c:'C20'},{w:'W21',c:'C21'}],
|
|
166
|
+
spec: [{t:'T20',c:'`$COPY`',k:'`$KEY`','`$KEY`':'w'},
|
|
167
|
+
{t:'T20',c:'`$COPY`',k:'`$KEY`','`$KEY`':'w'}] },
|
|
168
|
+
out: [{t:'T20',c:'C20',k:'W20'},{t:'T20',c:'C21',k:'W21'}] }
|
|
169
|
+
|
|
170
|
+
{ in: { data: [11,22],
|
|
171
|
+
spec: ['`$COPY`','`$COPY`'] },
|
|
172
|
+
out: [11,22] }
|
|
173
|
+
|
|
174
|
+
{ in: { data: ['A',true],
|
|
175
|
+
spec: ['`$COPY`','`$COPY`'] },
|
|
176
|
+
out: ['A',true] }
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
{ in: { data: {}, spec: {z:['`$EACH`','x',{q:'Q01'}]} },
|
|
180
|
+
out: {z:[]} }
|
|
181
|
+
|
|
182
|
+
{ in: { data: {}, spec: {z:[['`$EACH`','x',{q:'Q02'}]]} },
|
|
183
|
+
out: {z:[[]]} }
|
|
184
|
+
|
|
185
|
+
{ in: { data: {}, spec: {z:[[['`$EACH`','x',{q:'Q02'}]]]} },
|
|
186
|
+
out: {z:[[[]]]} }
|
|
187
|
+
|
|
188
|
+
{ in: { data: {}, spec: {z:['`$EACH`','x',{y:'`$COPY`',q:'Q0'}]} },
|
|
189
|
+
out: {z:[]} }
|
|
190
|
+
|
|
191
|
+
{ in: { data: {x:{}}, spec: {z:['`$EACH`','x',{y:'`$COPY`',q:'Q1'}]} },
|
|
192
|
+
out: {z:[]} }
|
|
193
|
+
|
|
194
|
+
{ in: { data: {x:{a:{y:10}}}, spec: {z:['`$EACH`','x',{y:'`$COPY`',q:'Q2'}]} },
|
|
195
|
+
out: {z:[{y:10,q:'Q2'}]} }
|
|
196
|
+
|
|
197
|
+
{ in: { data: {x:{a:{y:10},b:{y:11}}}, spec: {z:['`$EACH`','x',{y:'`$COPY`',q:'Q3'}]} },
|
|
198
|
+
out: {z:[{y:10,q:'Q3'},{y:11,q:'Q3'}]} }
|
|
199
|
+
|
|
200
|
+
{ in: { data: {x:{a:{y:10},b:{y:11},c:{y:12}}},
|
|
201
|
+
spec: {z:['`$EACH`','x',{y:'`$COPY`',q:'Q4'}]} },
|
|
202
|
+
out: {z:[{y:10,q:'Q4'},{y:11,q:'Q4'},{y:12,q:'Q4'}]} }
|
|
203
|
+
|
|
204
|
+
{ in: { data: {x:{a:{y:10},b:{y:11},c:{y:12},d:{y:13}}},
|
|
205
|
+
spec: {z:['`$EACH`','x',{y:'`$COPY`',q:'Q5'}]} },
|
|
206
|
+
out: {z:[{y:10,q:'Q5'},{y:11,q:'Q5'},{y:12,q:'Q5'},{y:13,q:'Q5'}]} }
|
|
207
|
+
|
|
208
|
+
{ in: { data: {x:{a:{y:10},b:{y:11},c:{y:12},d:{y:13},e:{y:14}}},
|
|
209
|
+
spec: {z:['`$EACH`','x',{y:'`$COPY`',q:'Q6'}]} },
|
|
210
|
+
out: {z:[{y:10,q:'Q6'},{y:11,q:'Q6'},{y:12,q:'Q6'},{y:13,q:'Q6'},{y:14,q:'Q6'}]} }
|
|
211
|
+
|
|
212
|
+
{ in: { data: {}, spec: ['`$EACH`','x',{y:'`$COPY`',p:'P0'}] },
|
|
213
|
+
out: [] }
|
|
214
|
+
|
|
215
|
+
{ in: { data: {x:{}}, spec: ['`$EACH`','x',{y:'`$COPY`',p:'P1'}] },
|
|
216
|
+
out: [] }
|
|
217
|
+
|
|
218
|
+
{ in: { data: {x:{a:{y:101}}}, spec: ['`$EACH`','x',{p:'P102'}] },
|
|
219
|
+
out: [{p:'P102'}] }
|
|
220
|
+
|
|
221
|
+
{ in: { data: {x:{a:{y:10}}}, spec: ['`$EACH`','x',{y:'`$COPY`',p:'P2'}] },
|
|
222
|
+
out: [{y:10,p:'P2'}] }
|
|
223
|
+
|
|
224
|
+
{ in: { data: {x:z:a:{q:10}}, spec: ['`$EACH`','x.z',{q:'`$COPY`',p:'P21'}] },
|
|
225
|
+
out: [{q:10,p:'P21'}] }
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
{ in: { data: {x:{a:{y:10},b:{y:11}}}, spec: ['`$EACH`','x',{y:'`$COPY`',p:'P3'}] },
|
|
229
|
+
out: [{y:10,p:'P3'},{y:11,p:'P3'}] }
|
|
230
|
+
|
|
231
|
+
{ in: { data: {x:{a:{y:10},b:{y:11},c:{y:12}}},
|
|
232
|
+
spec: ['`$EACH`','x',{y:'`$COPY`',p:'P4'}] },
|
|
233
|
+
out: [{y:10,p:'P4'},{y:11,p:'P4'},{y:12,p:'P4'}] }
|
|
234
|
+
|
|
235
|
+
{ in: { data: {x:{a:{y:10},b:{y:11},c:{y:12},d:{y:13}}},
|
|
236
|
+
spec: ['`$EACH`','x',{y:'`$COPY`',p:'P5'}] },
|
|
237
|
+
out: [{y:10,p:'P5'},{y:11,p:'P5'},{y:12,p:'P5'},{y:13,p:'P5'}] }
|
|
238
|
+
|
|
239
|
+
{ in: { data: {x:{a:{y:10},b:{y:11},c:{y:12},d:{y:13},e:{y:14}}},
|
|
240
|
+
spec: ['`$EACH`','x',{y:'`$COPY`',p:'P6'}] },
|
|
241
|
+
out: [{y:10,p:'P6'},{y:11,p:'P6'},{y:12,p:'P6'},{y:13,p:'P6'},{y:14,p:'P6'}] }
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
{ in: { data: {x:{p:{a:{y:10}}}},
|
|
245
|
+
spec: {z:['`$EACH`','x.p',{y:'`$COPY`',w:'w0',k:'`$KEY`'}]} },
|
|
246
|
+
out: {z:[{y:10,w:'w0',k:'a'}]} }
|
|
247
|
+
|
|
248
|
+
{ in: { data: {x:{p:{q:{a:{y:10}}}}},
|
|
249
|
+
spec: {z:['`$EACH`','x.p.q',{y:'`$COPY`',w:'w1',k:'`$KEY`'}]} },
|
|
250
|
+
out: {z:[{y:10,w:'w1',k:'a'}]} }
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
{ in: { data: {x:{a0:{y:0}}}, spec: {r0:[['`$EACH`','x',{y:'`$COPY`',q:'T0'}]]} },
|
|
254
|
+
out: {r0:[[{y:0,q:T0}]]} }
|
|
255
|
+
|
|
256
|
+
{ in: { data: {x:{a1:{y:0}}}, spec: {r1:[[['`$EACH`','x',{y:'`$COPY`',q:'T1'}]]]} },
|
|
257
|
+
out: {r1:[[[{y:0,q:T1}]]]} }
|
|
258
|
+
|
|
259
|
+
{ in: { data: {x:{a2:{y:0}}}, spec: {r2:[[[['`$EACH`','x',{y:'`$COPY`',q:'T2'}]]]]} },
|
|
260
|
+
out: {r2:[[[[{y:0,q:T2}]]]]} }
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
{ in: { data: {a0:[{i:0},{i:1}]},
|
|
264
|
+
spec: {b0:['`$EACH`','a0',{i:'`$COPY`',j:'`.i`'}]} }
|
|
265
|
+
out: {b0:[{i:0,j:0},{i:1,j:1}]} }
|
|
266
|
+
|
|
267
|
+
{ in: { data: {zz:99,a0:[{i:0},{i:1}]},
|
|
268
|
+
spec: {b0:['`$EACH`','a0',{i:'`$COPY`',j:'`.i`',k:'`zz`'}]} }
|
|
269
|
+
out: {b0:[{i:0,j:0,k:99},{i:1,j:1,k:99}]} }
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
{ in: { data: {a1:[{i:0},{i:1}]},
|
|
273
|
+
spec: {b1:['`$EACH`','a1',{'`$MERGE`':'`.`',k:'`.i`'}]} }
|
|
274
|
+
out: {b1:[{i:0,k:0},{i:1,k:1}]} }
|
|
275
|
+
|
|
276
|
+
{ in: { data: {p2:20, a2:[{i:30},{i:31}]},
|
|
277
|
+
spec: {b2:['`$EACH`','a2',{k:'`.i`',p:'`...p2`'}]} }
|
|
278
|
+
out: {b2:[{k:30,p:20},{k:31,p:20}]} }
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
{
|
|
282
|
+
in: data: {a0:[{n:0},{n:1}]}
|
|
283
|
+
in: spec: ['`$EACH`','a0',{x0:{y0:'`..n`'}}]
|
|
284
|
+
out: [{x0:y0:0},{x0:y0:1}]
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
]
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
pack: {
|
|
293
|
+
set: [
|
|
294
|
+
{ in: { data: {x:[{y:0,k:'K0'},{y:1,k:'K1'}]},
|
|
295
|
+
spec: {z:{'`$PACK`':['x',{'`$KEY`':'k', y:'`$COPY`',q:'Q0'}]}} },
|
|
296
|
+
out: {z:{K0:{y:0,q:'Q0'},K1:{y:1,q:'Q0'}}} }
|
|
297
|
+
|
|
298
|
+
{ in: { data: {x:[{y:0,k:'K0'},{y:1,k:'K1'}]},
|
|
299
|
+
spec: {'`$PACK`':['x',{'`$KEY`':'k', y:'`$COPY`',q:'Q1'}]} },
|
|
300
|
+
out: {K0:{y:0,q:'Q1'},K1:{y:1,q:'Q1'}} }
|
|
301
|
+
|
|
302
|
+
{ in: { data: [{y:0,k:'K0'},{y:1,k:'K1'}],
|
|
303
|
+
spec: {'`$PACK`':['',{'`$KEY`':'k', y:'`$COPY`',q:'Q2'}]} },
|
|
304
|
+
out: {K0:{y:0,q:'Q2'},K1:{y:1,q:'Q2'}} }
|
|
305
|
+
|
|
306
|
+
{ in: { data: [{y:0,k:'K0'},{y:1,k:'K1'}],
|
|
307
|
+
spec: {z:{'`$PACK`':['',{'`$KEY`':'k', y:'`$COPY`',q:'Q3'}]}} },
|
|
308
|
+
out: {z:{K0:{y:0,q:'Q3'},K1:{y:1,q:'Q3'}}} }
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
{ in: { data: [{y:0,k:'K0'}],
|
|
312
|
+
spec: {a:{b:{'`$PACK`':['',{'`$KEY`':'k', y:'`$COPY`',q:'Q4'}]}}} },
|
|
313
|
+
out: {a:{b:{K0:{y:0,q:'Q4'}}}} }
|
|
314
|
+
|
|
315
|
+
{ in: { data: [{y:0,k:'K0'}],
|
|
316
|
+
spec: {a:{b:{c:{'`$PACK`':['',{'`$KEY`':'k', y:'`$COPY`',q:'Q5'}]}}}} },
|
|
317
|
+
out: {a:{b:{c:{K0:{y:0,q:'Q5'}}}}} }
|
|
318
|
+
|
|
319
|
+
{ in: { data: [{y:0,k:'K0'}],
|
|
320
|
+
spec: {a:{b:{c:{d:{'`$PACK`':['',{'`$KEY`':'k', y:'`$COPY`',q:'Q6'}]}}}}} },
|
|
321
|
+
out: {a:{b:{c:{d:{K0:{y:0,q:'Q6'}}}}}} }
|
|
322
|
+
|
|
323
|
+
{ in: { data: [{y:0,k:'K0'}],
|
|
324
|
+
spec: {a:{b:{c:{d:{e:{'`$PACK`':['',{'`$KEY`':'k', y:'`$COPY`',q:'Q7'}]}}}}}} },
|
|
325
|
+
out: {a:{b:{c:{d:{e:{K0:{y:0,q:'Q7'}}}}}}} }
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
{ in: { data: {x:[{y:0,k:'K0'}]},
|
|
329
|
+
spec: {a:{b:{c:{d:{e:{'`$PACK`':['x',{'`$KEY`':'k', y:'`$COPY`',q:'Q8'}]}}}}}} },
|
|
330
|
+
out: {a:{b:{c:{d:{e:{K0:{y:0,q:'Q8'}}}}}}} }
|
|
331
|
+
|
|
332
|
+
{ in: { data: {x:{a:{y:0,k:'K0'},b:{y:1,k:'K1'}}},
|
|
333
|
+
spec: {z:{'`$PACK`':['x',{p:'`$KEY`', '`$KEY`':'k', y:'`$COPY`',q:'Q9'}]}} },
|
|
334
|
+
out: {z:{K0:{y:0,q:'Q9',p:'a'},K1:{y:1,q:'Q9',p:'b'}}} }
|
|
335
|
+
|
|
336
|
+
{ in: { data: {v100:11,x100:[{y:0,k:'K0'},{y:1,k:'K1'}]},
|
|
337
|
+
spec: {a:{b:{'`$PACK`':['x100',{'`$KEY`':'k', y:'`.y`',p:'`...v100`'}]}}} },
|
|
338
|
+
out: {a:{b:{K0:{y:0,p:11}, K1:{y:1,p:11}}}} }
|
|
339
|
+
|
|
340
|
+
]
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
modify: {
|
|
345
|
+
set: [
|
|
346
|
+
{ in: { data: {x:'X'}, spec: {z:'`x`'} }, out: { z: '@X' } }
|
|
347
|
+
]
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
ref: {
|
|
353
|
+
set: [
|
|
354
|
+
|
|
355
|
+
{ in: { data: {}, spec: {x0:0,r0:0} }, out: {x0:0,r0:0} }
|
|
356
|
+
{ in: { data: {}, spec: {r0:['`$REF`','x0']} }, out: {} }
|
|
357
|
+
{ in: { data: {}, spec: {x0:0,r0:['`$REF`','x0']} }, out: {x0:0,r0:0} }
|
|
358
|
+
|
|
359
|
+
{ in: { data: {r2:2}, spec: {r2:'`$COPY`'} }, out: {r2:2} }
|
|
360
|
+
{ in: { data: {r2:2,p2:2}, spec: {r2:['`$REF`','x2'], x2:'`$COPY`'} }, out: {r2:2} }
|
|
361
|
+
|
|
362
|
+
{ in: { data: {}, spec: {z:['`$REF`','z']} }, out: {} }
|
|
363
|
+
{ in: { data: {}, spec: {z:y:['`$REF`','z']} }, out: {z:{}} }
|
|
364
|
+
{ in: { data: {}, spec: {z:y:x:['`$REF`','z']} }, out: {z:{y:{}}} }
|
|
365
|
+
|
|
366
|
+
{ in: { data: [], spec: [['`$REF`','z']] }, out:[] }
|
|
367
|
+
{ in: { data: [], spec: [[['`$REF`','z']]] }, out:[[]] }
|
|
368
|
+
{ in: { data: [], spec: [[[['`$REF`','z']]]] }, out:[[[]]] }
|
|
369
|
+
|
|
370
|
+
{ in: { data: {}, spec: {z:['`$REF`','y'],y:['`$REF`','z']} }, out: {} }
|
|
371
|
+
{ in: { data: {}, spec: {z:x:['`$REF`','y'],y:q:['`$REF`','z']} }, out: {z:{},y:{}} }
|
|
372
|
+
|
|
373
|
+
{ in: { data: {},
|
|
374
|
+
spec: {z:{s:0,n:'`$COPY`',m:'`.n`',p:['`$REF`','z']}} },
|
|
375
|
+
out: {z:{s:0}} }
|
|
376
|
+
|
|
377
|
+
{ in: { data: {z:{n:1}},
|
|
378
|
+
spec: {z:{s:0,n:'`$COPY`',m:'`.n`',p:['`$REF`','z']}} },
|
|
379
|
+
out: {z:{s:0,n:1,m:1}} }
|
|
380
|
+
|
|
381
|
+
{ in: { data: {z:{n:1,p:{n:2}}},
|
|
382
|
+
spec: {z:{s:0,n:'`$COPY`',m:'`.n`',p:['`$REF`','z']}} },
|
|
383
|
+
out: {z:{s:0,n:1,m:1,p:{s:0,n:2,m:2}}} }
|
|
384
|
+
|
|
385
|
+
{ in: { data: {z:{n:1,p:{n:2,p:{n:3}}}},
|
|
386
|
+
spec: {z:{s:0,n:'`$COPY`',m:'`.n`',p:['`$REF`','z']}} },
|
|
387
|
+
out: {z:{s:0,n:1,m:1,p:{s:0,n:2,m:2,p:{s:0,n:3,m:3}}}} }
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
{ in: { data: {zz:{n:1,p:{n:2},q:{n:3}}},
|
|
391
|
+
spec: {zz:{s:0,n:'`$COPY`',m:'`.n`',p:['`$REF`','zz'],q:['`$REF`','zz']}} },
|
|
392
|
+
out: {zz:{s:0,n:1,m:1,p:{s:0,n:2,m:2},q:{s:0,n:3,m:3}}} }
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
{ in: {
|
|
397
|
+
data: { z0: { y0: 10, p:[{y0:11}] } }
|
|
398
|
+
spec: { z0: { x0: '`.y0`', p:[{x0:'`.y0`'}] } }
|
|
399
|
+
}
|
|
400
|
+
out: {z0:{x0:10,p:[{x0:11}]}}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
{ in: {
|
|
404
|
+
data: { z1: { y1: 20, p:[{y1:21}] } }
|
|
405
|
+
spec: { z1: { x1: '`.y1`', p:[['`$REF`','z1']] } }
|
|
406
|
+
}
|
|
407
|
+
out: {z1:{x1:20,p:[{x1:21,p:[]}]}}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
{ in: {
|
|
411
|
+
data: { z2: { y2: 30, p:[{y2:31},{y2:32}] } }
|
|
412
|
+
spec: { z2: { x2: '`.y2`', p:[['`$REF`','z2'],['`$REF`','z2']] } }
|
|
413
|
+
}
|
|
414
|
+
out: {z2:{x2:30,p:[{x2:31,p:[]},{x2:32,p:[]}]}}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
{ in: {
|
|
418
|
+
data: { z3: { y3: 40, p:[{y3:41},{y3:42,p:[{y3:43}]}] } }
|
|
419
|
+
spec: { z3: { x3: '`.y3`', p:[['`$REF`','z3'],['`$REF`','z3']] } }
|
|
420
|
+
}
|
|
421
|
+
out: {z3:{x3:40,p:[{x3:41,p:[]},{x3:42,p:[{x3:43,p:[]}]}]}}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
{ in: {
|
|
428
|
+
data: { z22: { y22: 90, p:[{y22:91},{y22:92}] } }
|
|
429
|
+
spec: { z22: { x22: '`.y22`', y22:'`$COPY`',
|
|
430
|
+
p:['`$EACH`','.',{y22:'`$COPY`',x22: '`.y22`'}] } }
|
|
431
|
+
}
|
|
432
|
+
out: {z22:{x22:90,y22:90,p:[{x22:91,y22:91},{x22:92,y22:92}]}}
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
{ in: {
|
|
436
|
+
data: { z22: { y22: 90, p:[{y22:91},{y22:92}] } }
|
|
437
|
+
spec: { z22: { x22: '`.y22`', y22:'`$COPY`',
|
|
438
|
+
p:['`$EACH`','.',['`$REF`','z22']] } }
|
|
439
|
+
}
|
|
440
|
+
out: {z22:{x22:90,y22:90,p:[{x22:91,y22:91,p:[]},{x22:92,y22:92,p:[]}]}}
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
{ in: {
|
|
444
|
+
data: { z33: { y33: 90, p:[{y33:91},{y33:92,p:[{y33:93}]}] } }
|
|
445
|
+
spec: { z33: { x33: '`.y33`', y33:'`$COPY`',
|
|
446
|
+
p:['`$EACH`','.',['`$REF`','z33']] } }
|
|
447
|
+
}
|
|
448
|
+
out: {z33:{x33:90,y33:90,p:[{x33:91,y33:91,p:[]},
|
|
449
|
+
{x33:92,y33:92,p:[{x33:93,y33:93,p:[]}]}]}}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
]
|
|
453
|
+
}
|