@based/schema 1.1.10 → 1.1.11
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/dist/set/index.js +14 -1
- package/dist/set/index.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
- package/src/set/index.ts +15 -2
- package/src/types.ts +1 -0
- package/test/set.ts +34 -24
package/dist/set/index.js
CHANGED
|
@@ -34,6 +34,13 @@ const opts = {
|
|
|
34
34
|
args.error(error_1.ParseError.incorrectFormat);
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
+
$merge: async (args) => {
|
|
38
|
+
if (typeof args.value !== 'boolean') {
|
|
39
|
+
args.error(error_1.ParseError.incorrectFormat);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
return;
|
|
43
|
+
},
|
|
37
44
|
$id: async (args) => {
|
|
38
45
|
if (!(0, isValidId_1.isValidId)(args.schema, args.value)) {
|
|
39
46
|
args.error(error_1.ParseError.incorrectFormat);
|
|
@@ -89,7 +96,7 @@ const opts = {
|
|
|
89
96
|
collect(a.create({ value: { $default: a.value } }));
|
|
90
97
|
}
|
|
91
98
|
else {
|
|
92
|
-
console.info('hello', a.path)
|
|
99
|
+
// console.info('hello', a.path) can handle this later
|
|
93
100
|
}
|
|
94
101
|
},
|
|
95
102
|
});
|
|
@@ -146,6 +153,12 @@ const opts = {
|
|
|
146
153
|
target.type = type;
|
|
147
154
|
target.$language = value.$language;
|
|
148
155
|
target.$id = value.$id;
|
|
156
|
+
if ('$merge' in value) {
|
|
157
|
+
if (typeof value.$merge !== 'boolean') {
|
|
158
|
+
error(error_1.ParseError.incorrectFormat, { target });
|
|
159
|
+
}
|
|
160
|
+
target.$merge = value.$merge;
|
|
161
|
+
}
|
|
149
162
|
return { target, typeSchema };
|
|
150
163
|
},
|
|
151
164
|
error: (code, args) => {
|
package/dist/set/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":";;;AAAA,oCAAqC;AAErC,sCAAsD;AACtD,qCAAiC;AACjC,2CAAuC;AAEvC,MAAM,IAAI,GAAyB;IACjC,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;oBAC3B,IAAI,CAAC,KAAK,CAAC,kBAAU,CAAC,0BAA0B,CAAC,CAAA;oBACjD,OAAM;iBACP;gBACD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;oBACvB,IAAI,CAAC,IAAI,EAAE,CAAA;oBACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;oBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;oBAChB,OAAM;iBACP;YACH,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;wBAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;4BAC7B,IAAI,CAAC,KAAK,CAAC,kBAAU,CAAC,eAAe,CAAC,CAAA;4BACtC,OAAM;yBACP;qBACF;oBACD,OAAM;iBACP;gBACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAClC,IAAI,CAAC,KAAK,CAAC,kBAAU,CAAC,eAAe,CAAC,CAAA;iBACvC;YACH,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClB,IAAI,CAAC,IAAA,qBAAS,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;oBACvC,IAAI,CAAC,KAAK,CAAC,kBAAU,CAAC,eAAe,CAAC,CAAA;oBACtC,OAAM;iBACP;YACH,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC/C,IAAI,CAAC,KAAK,CAAC,kBAAU,CAAC,oBAAoB,CAAC,CAAA;oBAC3C,OAAM;iBACP;YACH,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAA;gBACnC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,YAAY,EAAE;oBAC7D,OAAM;iBACP;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;gBAChB,IAAI,CAAC,IAAI,EAAE,CAAA;gBACX,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC5B,IAAI,CAAC,KAAK,CAAC,kBAAU,CAAC,eAAe,CAAC,CAAA;oBACtC,OAAM;iBACP;gBACD,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAA;YACH,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAA;gBACnC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE;oBAC9D,yCAAyC;oBACzC,OAAM;iBACP;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;gBAChB,IAAI,CAAC,IAAI,EAAE,CAAA;gBAEX,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE;oBAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;wBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC5B,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAA;oBACF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;oBACrB,OAAO,CAAC,cAAc,GAAG,KAAK,CAAA;oBAC9B,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;oBAC3C,OAAO,CAAC,OAAO,EAAE,CAAA;iBAClB;qBAAM;oBACL,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;oBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;wBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4BACb,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC1C,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;6BACpD;iCAAM;gCACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
package/src/set/index.ts
CHANGED
|
@@ -33,6 +33,13 @@ const opts: Opts<BasedSetTarget> = {
|
|
|
33
33
|
args.error(ParseError.incorrectFormat)
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
|
+
$merge: async (args) => {
|
|
37
|
+
if (typeof args.value !== 'boolean') {
|
|
38
|
+
args.error(ParseError.incorrectFormat)
|
|
39
|
+
return
|
|
40
|
+
}
|
|
41
|
+
return
|
|
42
|
+
},
|
|
36
43
|
$id: async (args) => {
|
|
37
44
|
if (!isValidId(args.schema, args.value)) {
|
|
38
45
|
args.error(ParseError.incorrectFormat)
|
|
@@ -87,7 +94,7 @@ const opts: Opts<BasedSetTarget> = {
|
|
|
87
94
|
if (a.path.length === args.path.length - 1) {
|
|
88
95
|
collect(a.create({ value: { $default: a.value } }))
|
|
89
96
|
} else {
|
|
90
|
-
console.info('hello', a.path)
|
|
97
|
+
// console.info('hello', a.path) can handle this later
|
|
91
98
|
}
|
|
92
99
|
},
|
|
93
100
|
})
|
|
@@ -127,7 +134,6 @@ const opts: Opts<BasedSetTarget> = {
|
|
|
127
134
|
} else if (value.$alias) {
|
|
128
135
|
target.$alias = value.$alias
|
|
129
136
|
}
|
|
130
|
-
|
|
131
137
|
if (value.type) {
|
|
132
138
|
if (type && value.type !== type) {
|
|
133
139
|
error(ParseError.incorrectNodeType, { target })
|
|
@@ -140,9 +146,16 @@ const opts: Opts<BasedSetTarget> = {
|
|
|
140
146
|
error(ParseError.incorrectNodeType, { target })
|
|
141
147
|
return
|
|
142
148
|
}
|
|
149
|
+
|
|
143
150
|
target.type = type
|
|
144
151
|
target.$language = value.$language
|
|
145
152
|
target.$id = value.$id
|
|
153
|
+
if ('$merge' in value) {
|
|
154
|
+
if (typeof value.$merge !== 'boolean') {
|
|
155
|
+
error(ParseError.incorrectFormat, { target })
|
|
156
|
+
}
|
|
157
|
+
target.$merge = value.$merge
|
|
158
|
+
}
|
|
146
159
|
return { target, typeSchema }
|
|
147
160
|
},
|
|
148
161
|
error: (code, args) => {
|
package/src/types.ts
CHANGED
package/test/set.ts
CHANGED
|
@@ -14,6 +14,12 @@ const schema: BasedSchema = {
|
|
|
14
14
|
bla: {
|
|
15
15
|
prefix: 'bl',
|
|
16
16
|
fields: {
|
|
17
|
+
x: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
bla: { type: 'string' },
|
|
21
|
+
},
|
|
22
|
+
},
|
|
17
23
|
setOfNumbers: {
|
|
18
24
|
type: 'set',
|
|
19
25
|
items: {
|
|
@@ -62,29 +68,33 @@ test('default arr', async (t) => {
|
|
|
62
68
|
])
|
|
63
69
|
})
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
// r.collected.map((v) => ({ path: v.path, value: v.value })),
|
|
74
|
-
// { depth: 10 }
|
|
75
|
-
// )
|
|
76
|
-
// t.true(r.errors.length === 0)
|
|
77
|
-
// })
|
|
71
|
+
test('$merge on object', async (t) => {
|
|
72
|
+
r = await setWalker(schema, {
|
|
73
|
+
$id: 'bl120',
|
|
74
|
+
x: {
|
|
75
|
+
$merge: false,
|
|
76
|
+
bla: 'x',
|
|
77
|
+
},
|
|
78
|
+
})
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
t.true(r.errors.length === 0)
|
|
81
|
+
t.deepEqual(resultCollect(r), [
|
|
82
|
+
{ path: ['x', 'bla'], value: 'x' },
|
|
83
|
+
{ path: ['x'], value: { $merge: false, bla: 'x' } },
|
|
84
|
+
])
|
|
85
|
+
})
|
|
84
86
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
test('$merge on set', async (t) => {
|
|
88
|
+
r = await setWalker(schema, {
|
|
89
|
+
$id: 'bl120',
|
|
90
|
+
$merge: false,
|
|
91
|
+
x: {
|
|
92
|
+
bla: 'x',
|
|
93
|
+
},
|
|
94
|
+
})
|
|
95
|
+
t.true(r.errors.length === 0)
|
|
96
|
+
t.deepEqual(resultCollect(r), [
|
|
97
|
+
{ path: ['x', 'bla'], value: 'x' },
|
|
98
|
+
{ path: ['x'], value: { bla: 'x' } },
|
|
99
|
+
])
|
|
100
|
+
})
|