@based/schema 1.1.10 → 1.1.12

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 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) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/set/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -171,6 +171,7 @@ export type BasedSetTarget = {
171
171
  $alias?: string;
172
172
  $id?: string;
173
173
  schema: BasedSchema;
174
+ $merge?: boolean;
174
175
  $language?: BasedSchemaLanguage;
175
176
  required: (number | string)[][];
176
177
  collected: BasedSchemaCollectProps[];
@@ -28,6 +28,9 @@ const walk = async (schema, opts, value, asyncOperationHandler) => {
28
28
  opts.asyncOperationHandler = asyncOperationHandler;
29
29
  }
30
30
  const argsOpts = await opts.init(value, schema, opts.error);
31
+ if (!argsOpts) {
32
+ return {};
33
+ }
31
34
  if (!argsOpts.value) {
32
35
  argsOpts.value = value;
33
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/walker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,iCAAkC;AAqCzB,0FArCA,gBAAS,OAqCA;AAlCX,MAAM,IAAI,GAAG,KAAK,EACvB,MAAmB,EACnB,IAAa,EACb,KAAU,EACV,qBAAyC,EAC7B,EAAE;IACd,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;KACxB;IAED,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE;QACtB,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;KACtB;IAED,IAAI,qBAAqB,EAAE;QACzB,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;KACnD;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAE3D,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACnB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;KACvB;IAED,MAAM,IAAI,GAAG,IAAI,gBAAS,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IAErB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IAElB,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC,CAAA;AAhCY,QAAA,IAAI,QAgChB;AAID,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/walker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,iCAAkC;AAyCzB,0FAzCA,gBAAS,OAyCA;AAtCX,MAAM,IAAI,GAAG,KAAK,EACvB,MAAmB,EACnB,IAAa,EACb,KAAU,EACV,qBAAyC,EAC7B,EAAE;IACd,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;KACxB;IAED,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE;QACtB,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;KACtB;IAED,IAAI,qBAAqB,EAAE;QACzB,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;KACnD;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAE3D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAU,EAAE,CAAA;KACb;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACnB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;KACvB;IAED,MAAM,IAAI,GAAG,IAAI,gBAAS,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IAErB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IAElB,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC,CAAA;AApCY,QAAA,IAAI,QAoChB;AAID,0CAAuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/schema",
3
- "version": "1.1.10",
3
+ "version": "1.1.12",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
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
@@ -343,6 +343,7 @@ export type BasedSetTarget = {
343
343
  $alias?: string
344
344
  $id?: string
345
345
  schema: BasedSchema
346
+ $merge?: boolean
346
347
  $language?: BasedSchemaLanguage
347
348
  required: (number | string)[][]
348
349
  collected: BasedSchemaCollectProps[]
@@ -22,6 +22,10 @@ export const walk = async <T>(
22
22
 
23
23
  const argsOpts = await opts.init(value, schema, opts.error)
24
24
 
25
+ if (!argsOpts) {
26
+ return <T>{}
27
+ }
28
+
25
29
  if (!argsOpts.value) {
26
30
  argsOpts.value = value
27
31
  }
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
- // test.only('default arr', async (t) => {
66
- // r = await setWalker(schema, {
67
- // $id: 'bl120',
68
- // setOfNumbers: { $add: [1, 2, 3, 4, 5, 6] },
69
- // })
70
-
71
- // console.log(r.errors)
72
- // console.dir(
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
- // test.only('default arr', async (t) => {
80
- // r = await setWalker(schema, {
81
- // $id: 'bl120',
82
- // setOfNumbers: { $remove: [1, 2, 3, 4, 5, 6] },
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
- // console.log(r.errors)
86
- // console.dir(
87
- // r.collected.map((v) => ({ path: v.path, value: v.value })),
88
- // { depth: 10 }
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
+ })