@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,15 @@
|
|
|
1
|
+
|
|
2
|
+
basic: set: [
|
|
3
|
+
{ ctx:{response:{native:{status:200,reason:'OK'}},result:{}},
|
|
4
|
+
out:{status:200,reason:'OK'}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
{ ctx:{response:{native:{status:500,reason:'r01'}},result:{}},
|
|
8
|
+
match:out:{status:500,reason:'r01',err:message:'request: 500: r01'}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
{ ctx:{response:{native:{status:400,reason:'BAD'},err:message:'Foo'},result:{}},
|
|
12
|
+
out:{status:400,reason:'BAD',err:message:'Foo: request: 400: BAD'}
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
basic: set: [
|
|
3
|
+
{
|
|
4
|
+
ctx:response:native:{
|
|
5
|
+
status: 201,
|
|
6
|
+
reason: 'OK1'
|
|
7
|
+
headers: {h1:v1}
|
|
8
|
+
body: {b:1}
|
|
9
|
+
}
|
|
10
|
+
ctx:spec:{}
|
|
11
|
+
match:ctx:result: {
|
|
12
|
+
ok: true
|
|
13
|
+
status: 201
|
|
14
|
+
reason: 'OK1'
|
|
15
|
+
headers: {h1:v1}
|
|
16
|
+
body: {b:1}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
DEF: {
|
|
3
|
+
client: a: test: options: {
|
|
4
|
+
base: 'BASE-',
|
|
5
|
+
prefix: 'PREFIX-',
|
|
6
|
+
suffix: 'SUFFIX-',
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
basic: set: [
|
|
12
|
+
{
|
|
13
|
+
ctx: {
|
|
14
|
+
op:name: 'list'
|
|
15
|
+
},
|
|
16
|
+
client: a
|
|
17
|
+
match: ctx: spec: {
|
|
18
|
+
base: 'BASE-',
|
|
19
|
+
prefix: 'PREFIX-',
|
|
20
|
+
suffix: 'SUFFIX-',
|
|
21
|
+
method: 'GET',
|
|
22
|
+
params: {},
|
|
23
|
+
query: {},
|
|
24
|
+
headers: {
|
|
25
|
+
'content-type': 'application/json',
|
|
26
|
+
},
|
|
27
|
+
step: 'start',
|
|
28
|
+
alias: {}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
basic: {
|
|
4
|
+
set: [
|
|
5
|
+
{ in: { path: 'a', store: {a:10} }, out: 10 }
|
|
6
|
+
{ in: { path: 'a.b', store: {a:{b:11}} }, out: 11 }
|
|
7
|
+
{ in: { path: 'a.b.c', store: {a:{b:{c:12}}} }, out: 12 }
|
|
8
|
+
{ in: { path: 'a.b.c.d', store: {a:{b:{c:{d:13}}}} }, out: 13 }
|
|
9
|
+
{ in: { path: 'a.b.c.d.e', store: {a:{b:{c:{d:{e:14}}}}} }, out: 14 }
|
|
10
|
+
|
|
11
|
+
{ in: { path: 'a', store: {x:2,a:15} }, out: 15 }
|
|
12
|
+
{ in: { path: 'a.b', store: {x:2,a:{b:16}} }, out: 16 }
|
|
13
|
+
{ in: { path: 'a.b.c', store: {x:2,a:{b:{c:17}}} }, out: 17 }
|
|
14
|
+
{ in: { path: 'a.b.c.d', store: {x:2,a:{b:{c:{d:18}}}} }, out: 18 }
|
|
15
|
+
{ in: { path: 'a.b.c.d.e', store: {x:2,a:{b:{c:{d:{e:19}}}}} }, out: 19 }
|
|
16
|
+
|
|
17
|
+
{ in: { path: 'a', store: {a:21,y:3} }, out: 21 }
|
|
18
|
+
{ in: { path: 'a.b', store: {a:{b:22},y:3} }, out: 22 }
|
|
19
|
+
{ in: { path: 'a.b.c', store: {a:{b:{c:23}},y:3} }, out: 23 }
|
|
20
|
+
{ in: { path: 'a.b.c.d', store: {a:{b:{c:{d:24}}},y:3} }, out: 24 }
|
|
21
|
+
{ in: { path: 'a.b.c.d.e', store: {a:{b:{c:{d:{e:25}}}},y:3} }, out: 25 }
|
|
22
|
+
|
|
23
|
+
{ in: { path: 'a', store: {x:2,a:31,y:3} }, out: 31 }
|
|
24
|
+
{ in: { path: 'a.b', store: {x:2,a:{b:32},y:3} }, out: 32 }
|
|
25
|
+
{ in: { path: 'a.b.c', store: {x:2,a:{b:{c:33}},y:3} }, out: 33 }
|
|
26
|
+
{ in: { path: 'a.b.c.d', store: {x:2,a:{b:{c:{d:34}}},y:3} }, out: 34 }
|
|
27
|
+
{ in: { path: 'a.b.c.d.e', store: {x:2,a:{b:{c:{d:{e:35}}}},y:3} }, out: 35 }
|
|
28
|
+
|
|
29
|
+
{ in: { path: 'a.b', store: {x:{y:2},a:{b:41}} }, out: 41 }
|
|
30
|
+
{ in: { path: 'x.y', store: {x:{y:42},a:{b:1}} }, out: 42 }
|
|
31
|
+
|
|
32
|
+
{ in: { path: '0', store: ['a1'] }, out: 'a1' }
|
|
33
|
+
{ in: { path: '0.0', store: [['a2']] }, out: 'a2' }
|
|
34
|
+
{ in: { path: '0.0.0', store: [[['a3']]] }, out: 'a3' }
|
|
35
|
+
{ in: { path: '0.0.0.0', store: [[[['a4']]]] }, out: 'a4' }
|
|
36
|
+
{ in: { path: '0.0.0.0.0', store: [[[[['a5']]]]] }, out: 'a5' }
|
|
37
|
+
|
|
38
|
+
{ in: { path: 'a.0', store: {a:['x1']} }, out: 'x1' }
|
|
39
|
+
{ in: { path: 'a.0.b', store: {a:[{b:'x2'}]} }, out: 'x2' }
|
|
40
|
+
{ in: { path: 'a.0.b.0', store: {a:[{b:['x3']}]} }, out: 'x3' }
|
|
41
|
+
|
|
42
|
+
{ in: { path: '1', store: ['a','b'] }, out: 'b' }
|
|
43
|
+
{ in: { path: '2', store: ['a','b'] } }
|
|
44
|
+
|
|
45
|
+
{ in: { path: 'b', store: {a:1} } }
|
|
46
|
+
{ in: { path: '', store: {a:1} }, out: {a:1} }
|
|
47
|
+
{ in: { store: {a:111} } }
|
|
48
|
+
{ in: { path: 'a' } }
|
|
49
|
+
{ in: { } }
|
|
50
|
+
|
|
51
|
+
{ in: { path: 'a', store: [] } }
|
|
52
|
+
{ in: { path: '0', store: [] } }
|
|
53
|
+
{ in: { path: 'a', store: {} } }
|
|
54
|
+
{ in: { path: '0', store: {} } }
|
|
55
|
+
|
|
56
|
+
{ in: { path: ['a'], store: [] } }
|
|
57
|
+
{ in: { path: ['0'], store: [] } }
|
|
58
|
+
{ in: { path: ['a'], store: {} } }
|
|
59
|
+
{ in: { path: ['0'], store: {} } }
|
|
60
|
+
|
|
61
|
+
{ in: { path: ['a'], store: {a:1} }, out: 1 }
|
|
62
|
+
{ in: { path: ['a','b'], store: {a:{b:2}} }, out: 2 }
|
|
63
|
+
{ in: { path: ['a','b','c'], store: {a:{b:{c:3}}} }, out: 3 }
|
|
64
|
+
|
|
65
|
+
{ in: { path: [''], store: {a:40} }, out: {a:40} }
|
|
66
|
+
|
|
67
|
+
{ in: { path: true, store: {} } }
|
|
68
|
+
{ in: { path: null, store: {} } }
|
|
69
|
+
{ in: { path: {}, store: {} } }
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
relative: {
|
|
75
|
+
set: [
|
|
76
|
+
{ in: { path: '.', store: {a:{b:1}}, dparent: {b:1} }, out: {b:1} }
|
|
77
|
+
|
|
78
|
+
{ in: { path: '.b', store: {a:{b:2}}, dparent: {b:2} }, out: 2 }
|
|
79
|
+
{ in: { path: 'a.b', store: {a:{b:3}}, dparent: {b:3} }, out: 3 }
|
|
80
|
+
{ in: { path: 'a', store: {a:{b:4}}, dparent: {b:4} }, out: {b:4} }
|
|
81
|
+
|
|
82
|
+
{ in: { path: '.1', store: {a:[11,22,33] }, dparent: [11,22,33] }, out: 22 }
|
|
83
|
+
{ in: { path: 'a.1', store: {a:[11,22,33] }, dparent: [11,22,33] }, out: 22 }
|
|
84
|
+
{ in: { path: 'a', store: {a:[11,22,33] }, dparent: [11,22,33] }, out: [11,22,33] }
|
|
85
|
+
|
|
86
|
+
{ in: { path: ['','b'], store: {a:{b:1}}, dparent: {b:1} }, out: 1 }
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
{ in: { path: '.', store: {a:b:41}, dparent: 41, dpath: 'a.b' }, out: 41 }
|
|
90
|
+
{ in: { path: '..', store: {a:b:42}, dparent: 42, dpath: 'a.b' }, out: b:42 }
|
|
91
|
+
{ in: { path: '...', store: {a:b:43}, dparent: 43, dpath: 'a.b' }, out: a:b:43 }
|
|
92
|
+
{ in: { path: '....', store: {a:b:44}, dparent: 44, dpath: 'a.b' } }
|
|
93
|
+
|
|
94
|
+
{ in: { path: '.', store: {a:b:101}, dparent: b:101, dpath: 'a' }, out: b:101 }
|
|
95
|
+
{ in: { path: '..', store: {a:b:102}, dparent: b:102, dpath: 'a' }, out: a:b:102 }
|
|
96
|
+
|
|
97
|
+
{ in: { path: '.', store: {a:{b:201,c:66}}, dparent: 201, dpath: 'a.b' }, out: 201 }
|
|
98
|
+
{ in: { path: '.x', store: {a:{b:202,c:66}}, dparent: 202, dpath: 'a.b' } }
|
|
99
|
+
{ in: { path: '..', store: {a:{b:203,c:66}}, dparent: 203, dpath: 'a.b' },
|
|
100
|
+
out: {b:203,c:66} }
|
|
101
|
+
|
|
102
|
+
{ in: { path: '..c', store: {a:{b:204,c:66}}, dparent: 204, dpath: 'a.b' }, out: 66 }
|
|
103
|
+
|
|
104
|
+
{ in: { path: '..b', store: {a:{b:205,c:66}}, dparent: 205, dpath: 'a.b' }, out: 205 }
|
|
105
|
+
{ in: { path: '...', store: {a:{b:206,c:66}}, dparent: 206, dpath: 'a.b' },
|
|
106
|
+
out: {a:{b:206,c:66}} }
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
handler: {
|
|
112
|
+
set: [
|
|
113
|
+
{ in: { path: '$FOO', store: {} }, out: 'foo' }
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
special: {
|
|
119
|
+
set: [
|
|
120
|
+
{ in: { path: 'a.b$$c', store: {a:'b$c':11} }, out: 11 }
|
|
121
|
+
{ in: { path: 'a.$$c', store: {a:'$c':12} }, out: 12 }
|
|
122
|
+
{ in: { path: 'a.c$$', store: {a:'c$':13} }, out: 13 }
|
|
123
|
+
|
|
124
|
+
{ in: { path: 'a.$KEY', store: {a:[11,22]}, inj: {key:'1'} }, out: 22 }
|
|
125
|
+
|
|
126
|
+
{ in: { path: 'a.$REF:b$', store: {a:c:44, '$SPEC':{b:c}}, inj:{} }, out: 44 }
|
|
127
|
+
{ in: { path: 'a.$REF:d$', store: {a:c:44, '$SPEC':{b:c}}, inj:{} } }
|
|
128
|
+
|
|
129
|
+
{ in: { path: 'a.$GET:b$', store: {a:c:55, b:c}, inj:{} }, out: 55 }
|
|
130
|
+
{ in: { path: 'a.$GET:d$', store: {a:c:55, b:c}, inj:{} } }
|
|
131
|
+
|
|
132
|
+
{ in: { path: 'a.$META:b$', store: {a:c:33}, inj: {meta:{b:c}} }, out: 33 }
|
|
133
|
+
{ in: { path: 'a.$META:d$', store: {a:c:33}, inj: {meta:{b:c}} } }
|
|
134
|
+
{ in: { path: 'a.$META:e$', store: {a:'b.c':34}, inj: {meta:{e:'b.c'}} }, out: 34 }
|
|
135
|
+
|
|
136
|
+
{ in: { path: 'p0$~a', store: {}, inj: {meta:{p0:a:44}} }, out:44 }
|
|
137
|
+
{ in: { path: 'p0$~b', store: {}, inj: {meta:{p0:a:45}} } }
|
|
138
|
+
{ in: { path: 'p0$~a.c', store: {}, inj: {meta:{p0:a:c:46}} }, out:46 }
|
|
139
|
+
|
|
140
|
+
{ in: { path: 'p0$~a', store: {}, inj: {meta:{p0:a:44}} }, out:44 }
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
|
|
2
|
+
basic: {
|
|
3
|
+
in: { val: {x: '`a`', y: 2}, store: {a:1} }
|
|
4
|
+
out: {x:1,y:2}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
string: {
|
|
9
|
+
set: [
|
|
10
|
+
{ in: { val: 'a', store: {a:1} }, out: 'a' }
|
|
11
|
+
{ in: { val: '`a`', store: {a:1} }, out: 1 }
|
|
12
|
+
{ in: { val: 'x`a`', store: {a:1} }, out: 'x1' }
|
|
13
|
+
{ in: { val: '`a`y', store: {a:1} }, out: '1y' }
|
|
14
|
+
{ in: { val: 'x`a`y', store: {a:1} }, out: 'x1y' }
|
|
15
|
+
{ in: { val: '`a`x`a`y', store: {a:1} }, out: '1x1y' }
|
|
16
|
+
{ in: { val: '`a`x`a`y`a`', store: {a:1} }, out: '1x1y1' }
|
|
17
|
+
|
|
18
|
+
{ in: { val: '`a1`x`b1`y`c1`', store: {a1:1,b1:2,c1:3} }, out: '1x2y3' }
|
|
19
|
+
{ in: { val: '`a2`x`b2`y`c2`', store: {a2:'A',b2:false,c2:true} }, out: 'Axfalseytrue' }
|
|
20
|
+
|
|
21
|
+
{ in: { val: '`an`', store: {an:null} }, out: null }
|
|
22
|
+
{ in: { val: '`an`x', store: {an:null} }, out: 'nullx' }
|
|
23
|
+
|
|
24
|
+
{ in: { val: '`a21`x`b21`y`c21`', store: {a21:'A',b21:false,c21:null} },
|
|
25
|
+
out: 'Axfalseynull' }
|
|
26
|
+
{ in: { val: '`a3`x`b3`y`c3`', store: {a3:'A',b3:false} }, out: 'Axfalsey' }
|
|
27
|
+
{ in: { val: '`a4`x`b4`y`c4`', store: {a4:{k:4},b4:['B']} }, out: '{"k":4}x["B"]y' }
|
|
28
|
+
|
|
29
|
+
{ in: { val: '`a`', store: {a:'A'} }, out: 'A' }
|
|
30
|
+
{ in: { val: '`a`', store: {a:true} }, out: true }
|
|
31
|
+
{ in: { val: '`a`', store: {a:false} }, out: false }
|
|
32
|
+
{ in: { val: '`a`', store: {a:{x:1}} }, out: {x:1} }
|
|
33
|
+
{ in: { val: '`a`', store: {a:[2]} }, out: [2] }
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
deep: {
|
|
40
|
+
set: [
|
|
41
|
+
{ in: { val: { x: '`a`'}, store: {a:1} }, out: {x:1} }
|
|
42
|
+
{ in: { val: '`a`', store: {a:{b:2}} }, out: {b:2} }
|
|
43
|
+
|
|
44
|
+
{ in: { val: { x: '`0`'}, store: [3] }, out: {x:3} }
|
|
45
|
+
{ in: { val: '`0`', store: [4] }, out: 4 }
|
|
46
|
+
|
|
47
|
+
{ in: { val: { x: '`a.b`'}, store: {a:{b:5}} }, out: {x:5} }
|
|
48
|
+
{ in: { val: { x: '`a.b`'}, store: {a:{b:{c:6}}} }, out: {x:{c:6}} }
|
|
49
|
+
{ in: { val: { x: '`a.b`'}, store: {a:{b:[7]}} }, out: {x:[7]} }
|
|
50
|
+
{ in: { val: { x: '`a.b`'}, store: {a:{b:true}} }, out: {x:true} }
|
|
51
|
+
|
|
52
|
+
{ in: { val: '`a.b`', store: {a:{b:5}} }, out: 5 }
|
|
53
|
+
{ in: { val: '`a.b`', store: {a:{b:{c:6}}} }, out: {c:6} }
|
|
54
|
+
{ in: { val: '`a.b`', store: {a:{b:[7]}} }, out: [7] }
|
|
55
|
+
{ in: { val: '`a.b`', store: {a:{b:true}} }, out: true }
|
|
56
|
+
|
|
57
|
+
{ in: { val: {x: '`a`',y:'`c.d`',z:'`e`'}, store: {a:{b:1},c:{d:2},e:[33,44]} }
|
|
58
|
+
out: { x: { b: 1 }, y: 2, z: [ 33, 44 ]} }
|
|
59
|
+
|
|
60
|
+
{ in: { val: ['`0`','`1`'], store: [11,22,33] }, out: [11,22] }
|
|
61
|
+
|
|
62
|
+
{ in: { val:{x:'`hold.$TOP`'} , store: {hold:{'$TOP': 44}} }, out: {x:44} }
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
{ in: { val: {x:1}, store: null }, out: {x:1} }
|
|
66
|
+
{ in: { val: null, store: null }, out: null }
|
|
67
|
+
{ in: { val: null, store: {s:1} }, out: null }
|
|
68
|
+
|
|
69
|
+
{ in: { val: {x:1} }, out: {x:1} }
|
|
70
|
+
{ in: { store: null }, out: null }
|
|
71
|
+
{ in: { val: null }, out: null }
|
|
72
|
+
{ in: { store: {x:1} }, out: null }
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
basic: {
|
|
5
|
+
in: [
|
|
6
|
+
{a:1,b:2},
|
|
7
|
+
{b:3,d:4},
|
|
8
|
+
]
|
|
9
|
+
out: {
|
|
10
|
+
a: 1, b: 3, d: 4
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
cases: {
|
|
16
|
+
set: [
|
|
17
|
+
{ in: [{a:1}, {}], out: {a:1} }
|
|
18
|
+
{ in: [{}, {a:2}], out: {a:2} }
|
|
19
|
+
{ in: [{a:3}, {a:4}], out: {a:4} }
|
|
20
|
+
|
|
21
|
+
{ in: [{x:1}, {a:21}], out: {x:1,a:21} }
|
|
22
|
+
|
|
23
|
+
{ in: [{a:{b:3}}, {}], out: {a:{b:3}} }
|
|
24
|
+
{ in: [{}, {a:{b:4}}], out: {a:{b:4}} }
|
|
25
|
+
{ in: [{x:2}, {a:{b:41}}], out: {x:2,a:{b:41}} }
|
|
26
|
+
|
|
27
|
+
{ in:
|
|
28
|
+
[
|
|
29
|
+
{ a: 1, b: 2 },
|
|
30
|
+
{
|
|
31
|
+
b: 3,
|
|
32
|
+
d: {
|
|
33
|
+
e: 4,
|
|
34
|
+
ee: 5
|
|
35
|
+
},
|
|
36
|
+
f: 6
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
x: {
|
|
40
|
+
y: { z: 7, zz: 8 }
|
|
41
|
+
},
|
|
42
|
+
q: { u: 9, uu: 10 },
|
|
43
|
+
v: 11
|
|
44
|
+
},
|
|
45
|
+
]
|
|
46
|
+
out: {
|
|
47
|
+
a: 1,
|
|
48
|
+
b: 3,
|
|
49
|
+
d: { e: 4, ee: 5 },
|
|
50
|
+
f: 6,
|
|
51
|
+
x: { y: { z: 7, zz: 8 } },
|
|
52
|
+
q: { u: 9, uu: 10 },
|
|
53
|
+
v: 11
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
{ in: [1,2], out: 2 }
|
|
58
|
+
{ in: [1,2,3], out: 3 }
|
|
59
|
+
{ in: [{},4], out: 4 }
|
|
60
|
+
{ in: [[],5], out: 5 }
|
|
61
|
+
{ in: [[],{}], out: {} }
|
|
62
|
+
{ in: [{},[]], out: [] }
|
|
63
|
+
{ in: [[6],{x:7}], out: {x:7} }
|
|
64
|
+
{ in: [{x:8},[9]], out: [9] }
|
|
65
|
+
|
|
66
|
+
{ in: [1,{a:11}], out: {a:11}}
|
|
67
|
+
{ in: [{},{a:{b:12}}], out: {a:{b:12}}}
|
|
68
|
+
{ in: [{},{},{a:{b:13}}], out: {a:{b:13}}}
|
|
69
|
+
{ in: [{},null,{a:{b:14}}], out: {a:{b:14}}}
|
|
70
|
+
{ in: [{},null,{a:{b:15}},true,[],{a:{b:16,c:null}}], out: {a:{b:16,c:null}}}
|
|
71
|
+
{ in: [[],{a:17}], out: {a:17}}
|
|
72
|
+
{ in: [{},[18]], out: [18]}
|
|
73
|
+
|
|
74
|
+
{ in: [{x1:1}], out: {x1:1} }
|
|
75
|
+
{ in: [{x1:2},{}], out: {x1:2} }
|
|
76
|
+
{ in: [{},{x1:3}], out: {x1:3} }
|
|
77
|
+
|
|
78
|
+
{ in: [{x21:{}}], out: {x21:{}} }
|
|
79
|
+
{ in: [{x22:{}},{}], out: {x22:{}} }
|
|
80
|
+
{ in: [{},{x23:{}}], out: {x23:{}} }
|
|
81
|
+
|
|
82
|
+
{ in: [{x31:[]}], out: {x31:[]} }
|
|
83
|
+
{ in: [{x32:[]},{}], out: {x32:[]} }
|
|
84
|
+
{ in: [{},{x33:[]}], out: {x33:[]} }
|
|
85
|
+
|
|
86
|
+
{ in: [{x41:{a:1}}], out: {x41:{a:1}} }
|
|
87
|
+
{ in: [{x42:{a:1}},{}], out: {x42:{a:1}} }
|
|
88
|
+
{ in: [{},{x43:{a:1}}], out: {x43:{a:1}} }
|
|
89
|
+
|
|
90
|
+
{ in: [{x51:[1]}], out: {x51:[1]} }
|
|
91
|
+
{ in: [{x52:[1]},{}], out: {x52:[1]} }
|
|
92
|
+
{ in: [{},{x53:[1]}], out: {x53:[1]} }
|
|
93
|
+
|
|
94
|
+
{ in: [{},{s0:''}], out: {s0:''} }
|
|
95
|
+
{ in: [{s1:''},{}], out: {s1:''} }
|
|
96
|
+
{ in: [{},{},{s2:''}], out: {s2:''} }
|
|
97
|
+
{ in: [{s3:''},{},{}], out: {s3:''} }
|
|
98
|
+
{ in: [{},{s4:''},{}], out: {s4:''} }
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
array: {
|
|
104
|
+
set: [
|
|
105
|
+
{ }
|
|
106
|
+
{ in: 1, out: 1 }
|
|
107
|
+
{ in: {a:2}, out: {a:2} }
|
|
108
|
+
{ in: {a:{b:3}}, out: {a:{b:3}} }
|
|
109
|
+
|
|
110
|
+
{ in: [] }
|
|
111
|
+
|
|
112
|
+
{ in: ['a'], out: 'a' }
|
|
113
|
+
{ in: ['a','b'], out: 'b' }
|
|
114
|
+
{ in: ['a','b','c'], out: 'c' }
|
|
115
|
+
{ in: ['a','b','c', null], out: null }
|
|
116
|
+
|
|
117
|
+
{ in: [[11], []], out: [11] }
|
|
118
|
+
{ in: [[12], [22]], out: [22] }
|
|
119
|
+
{ in: [[13,14], [25]], out: [25,14] }
|
|
120
|
+
{ in: [[15,151], [26,27]], out: [26,27] }
|
|
121
|
+
{ in: [[15], [261,271]], out: [261,271] }
|
|
122
|
+
{ in: [[[16]], [[28,29]]], out: [[28,29]] }
|
|
123
|
+
|
|
124
|
+
{ in: [{a:1}, {}], out: {a:1} }
|
|
125
|
+
{ in: [{}, {a:2}], out: {a:2} }
|
|
126
|
+
{ in: [{a:22}, {a:33}], out: {a:33} }
|
|
127
|
+
{ in: [{a:22}, {a:33}, {a:44}], out: {a:44} }
|
|
128
|
+
{ in: [{a:3}, {b:4}], out: {a:3, b:4} }
|
|
129
|
+
|
|
130
|
+
{ in: [{a:{b:5}}, {}], out: {a:{b:5}} }
|
|
131
|
+
{ in: [{}, {a:{b:6}}], out: {a:{b:6}} }
|
|
132
|
+
{ in: [{a:{b:701}}, {a:{b:801}}], out: {a:{b:801}} }
|
|
133
|
+
{ in: [{a:{b:702}}, {a:{b:802}}, {a:{b:902}}], out: {a:{b:902}} }
|
|
134
|
+
|
|
135
|
+
{ in: [ [4] ], out: [ 4 ] }
|
|
136
|
+
{ in: [ [5],[55] ], out: [ 55 ] }
|
|
137
|
+
{ in: [ [51],[552],[5553] ], out: [ 5553 ] }
|
|
138
|
+
{ in: [{}, {a:[6]} ], out: { a: [ 6 ] } }
|
|
139
|
+
|
|
140
|
+
{ in: [['a','b'],['A','b','c']], out: [ 'A','b','c' ] }
|
|
141
|
+
|
|
142
|
+
{ in: [{}, {a:[7]}], out: {a:[7]} }
|
|
143
|
+
{ in: [{}, {a:[{b:71}]}], out: {a:[{b:71}]} }
|
|
144
|
+
|
|
145
|
+
{ in: [{}, {a:[{b:72}], c:[{d:[8]}]} ],
|
|
146
|
+
out: { a: [ { b: 72 } ], c: [ { d: [8] } ] } }
|
|
147
|
+
|
|
148
|
+
{ in: [ {a:[1,2], b:{c:3,d:4}}, {a:[11], b:{c:33}} ],
|
|
149
|
+
out: { a: [ 11, 2 ], b: { c: 33, d: 4 } } }
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
integrity: {
|
|
155
|
+
set: [
|
|
156
|
+
{ in: [{e:5},{a:1,d:4},{a:2,b:3}],
|
|
157
|
+
out: {a:2,b:3,d:4,e:5},
|
|
158
|
+
match:in:[{e:5},{a:1,d:4},{a:2,b:3}]
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|