@based/schema 1.0.6 → 1.0.8

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.
@@ -12,8 +12,8 @@ const parseArray = async (args, value) => {
12
12
  path: [i],
13
13
  value: fromValue[i],
14
14
  fieldSchema: args.fieldSchema.values,
15
- collect: (args, v) => {
16
- (0, utils_1.setByPath)(arr, args.path, v);
15
+ collect: (args) => {
16
+ (0, utils_1.setByPath)(arr, args.path, args.value);
17
17
  },
18
18
  }));
19
19
  }
@@ -35,7 +35,7 @@ const operations = {
35
35
  args.collect(value);
36
36
  },
37
37
  $unshift: async (args, value) => {
38
- value.$unshift = await parseArray(args, value.$push);
38
+ value.$unshift = await parseArray(args, value.$unshift);
39
39
  args.collect(value);
40
40
  },
41
41
  $remove: async (args, value) => {
@@ -53,7 +53,8 @@ const operations = {
53
53
  }
54
54
  await args.parse({
55
55
  key: value.$assign.$idx,
56
- value: args.fieldSchema.values,
56
+ value: value.$assign.$value,
57
+ fieldSchema: args.fieldSchema.values,
57
58
  });
58
59
  },
59
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/set/fields/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/set/fields/array.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import { ArgsClass } from './args';
2
+ export type ParseResult<T> = ArgsClass<T> | void;
2
3
  export declare function parse<T>(args: ArgsClass<T>): Promise<ArgsClass<T> | void>;
@@ -127,12 +127,12 @@ async function parse(args) {
127
127
  if (opts.backtrack &&
128
128
  !args.skipCollection &&
129
129
  (args.fromBackTrack.length || args.collectedCommands.length)) {
130
- const backtracked = opts.backtrack(this, args.fromBackTrack ?? [], args.collectedCommands ?? []);
131
- if (backtracked && this.prev) {
132
- if (!this.prev.fromBackTrack) {
133
- this.prev.fromBackTrack = [];
130
+ const backtracked = opts.backtrack(args, args.fromBackTrack ?? [], args.collectedCommands ?? []);
131
+ if (backtracked && args.prev) {
132
+ if (!args.prev.fromBackTrack) {
133
+ args.prev.fromBackTrack = [];
134
134
  }
135
- this.prev.fromBackTrack.push(backtracked);
135
+ args.prev.fromBackTrack.push(backtracked);
136
136
  }
137
137
  }
138
138
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/schema",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -16,8 +16,8 @@ const parseArray = async (
16
16
  path: [i],
17
17
  value: fromValue[i],
18
18
  fieldSchema: args.fieldSchema.values,
19
- collect: (args, v) => {
20
- setByPath(arr, args.path, v)
19
+ collect: (args) => {
20
+ setByPath(arr, args.path, args.value)
21
21
  },
22
22
  })
23
23
  )
@@ -48,7 +48,7 @@ const operations: {
48
48
  args.collect(value)
49
49
  },
50
50
  $unshift: async (args, value) => {
51
- value.$unshift = await parseArray(args, value.$push)
51
+ value.$unshift = await parseArray(args, value.$unshift)
52
52
  args.collect(value)
53
53
  },
54
54
  $remove: async (args, value) => {
@@ -68,7 +68,8 @@ const operations: {
68
68
  }
69
69
  await args.parse({
70
70
  key: value.$assign.$idx,
71
- value: args.fieldSchema.values,
71
+ value: value.$assign.$value,
72
+ fieldSchema: args.fieldSchema.values,
72
73
  })
73
74
  },
74
75
  }
@@ -7,7 +7,7 @@ import {
7
7
  import { ArgsClass } from './args'
8
8
  import { ArgsOpts, FieldParser, KeyParser, Stopped } from './types'
9
9
 
10
- type ParseResult<T> = ArgsClass<T> | void
10
+ export type ParseResult<T> = ArgsClass<T> | void
11
11
 
12
12
  // TODO needs cleaning
13
13
  function createOrUseArgs<T>(
@@ -164,15 +164,15 @@ export async function parse<T>(
164
164
  (args.fromBackTrack.length || args.collectedCommands.length)
165
165
  ) {
166
166
  const backtracked = opts.backtrack(
167
- this,
167
+ args,
168
168
  args.fromBackTrack ?? [],
169
169
  args.collectedCommands ?? []
170
170
  )
171
- if (backtracked && this.prev) {
172
- if (!this.prev.fromBackTrack) {
173
- this.prev.fromBackTrack = []
171
+ if (backtracked && args.prev) {
172
+ if (!args.prev.fromBackTrack) {
173
+ args.prev.fromBackTrack = []
174
174
  }
175
- this.prev.fromBackTrack.push(backtracked)
175
+ args.prev.fromBackTrack.push(backtracked)
176
176
  }
177
177
  }
178
178
  } else {
package/test/walker.ts CHANGED
@@ -41,6 +41,12 @@ const schema: BasedSchema = {
41
41
  type: 'number',
42
42
  },
43
43
  },
44
+ intarray: {
45
+ type: 'array',
46
+ values: {
47
+ type: 'integer',
48
+ },
49
+ },
44
50
  name: {
45
51
  minLength: 3,
46
52
  maxLength: 6,
@@ -79,31 +85,23 @@ const schema: BasedSchema = {
79
85
  },
80
86
  }
81
87
 
82
- test('walker', async (t) => {
83
- const x = await walk(
88
+ test.only('walker', async (t) => {
89
+ const x = await walk<{ lullz: true }>(
84
90
  schema,
85
91
  {
86
- init: async (args) => {
87
- return { ...args, target: { lullz: true } }
92
+ init: async () => {
93
+ return { target: { lullz: true } }
88
94
  },
89
95
  parsers: {
90
- keys: {
91
- // $list: async (args) => {
92
- // return {
93
- // ...args,
94
- // value: { flapdrol: true },
95
- // }
96
- // },
97
- },
98
- fields: {
99
- // string: () => {}
100
- },
96
+ keys: {},
97
+ fields: {},
101
98
  any: async (args) => {
102
99
  args.collect(args)
103
100
  return args
104
101
  },
105
102
  },
106
103
  collect: (args) => {
104
+ console.info('..', args.path)
107
105
  return args.path.join('.')
108
106
  },
109
107
  backtrack: (args, fromBt, collected) => {
@@ -269,7 +267,7 @@ test('perf setWalker', async (t) => {
269
267
  t.true(d < 1e3)
270
268
  })
271
269
 
272
- test.only('string', async (t) => {
270
+ test('string', async (t) => {
273
271
  // for (let i = 0; i < 10; i++) {
274
272
  // console.log(
275
273
  // (await setWalker(schema, { $id: 'bl120', name: 'blax' })).target
@@ -649,6 +647,59 @@ test.only('string', async (t) => {
649
647
  referencesToThings: { $add: 'ti123' },
650
648
  })
651
649
 
650
+ console.log(r.errors)
651
+ console.dir(
652
+ r.collected.map((v) => ({ path: v.path, value: v.value })),
653
+ { depth: 10 }
654
+ )
655
+
656
+ console.info('---- doink 26 ------')
657
+ r = await setWalker(schema, {
658
+ $id: 'bl120',
659
+ intarray: {
660
+ $assign: {
661
+ $idx: 0,
662
+ $value: 6,
663
+ },
664
+ },
665
+ })
666
+
667
+ r.collected.forEach((v) => {
668
+ console.info(v.root.typeSchema)
669
+ })
670
+
671
+ console.log(r.errors)
672
+ console.dir(
673
+ r.collected.map((v) => ({ path: v.path, value: v.value })),
674
+ { depth: 10 }
675
+ )
676
+
677
+ console.info('---- doink 27 ------')
678
+ r = await setWalker(schema, {
679
+ $id: 'bl120',
680
+ intarray: {
681
+ $push: [1, 2, 3, 4, 5],
682
+ },
683
+ })
684
+
685
+ r.collected.forEach((v) => {
686
+ console.info(v.root.typeSchema)
687
+ })
688
+
689
+ console.log(r.errors)
690
+ console.dir(
691
+ r.collected.map((v) => ({ path: v.path, value: v.value })),
692
+ { depth: 10 }
693
+ )
694
+
695
+ console.info('---- doink 28 ------')
696
+ r = await setWalker(schema, {
697
+ $id: 'bl120',
698
+ intarray: {
699
+ $unshift: [1, 2, 3, 4, 5],
700
+ },
701
+ })
702
+
652
703
  r.collected.forEach((v) => {
653
704
  console.info(v.root.typeSchema)
654
705
  })