@based/schema 0.0.12 → 0.0.13

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/walker.d.ts CHANGED
@@ -11,11 +11,12 @@ export type Args<T, K extends keyof BasedSchemaFields = keyof BasedSchemaFields>
11
11
  fieldSchema?: BasedSchemaFields[K];
12
12
  typeSchema?: BasedSchemaType;
13
13
  path: Path;
14
+ key?: number | string;
14
15
  value: any;
15
16
  target: T;
16
17
  parse: Parse<T>;
17
18
  collect: (args: Args<T>) => any;
18
- backtrack: (collectedCommands: any[]) => any;
19
+ backtrack: (args: Args<T>, collectedCommands: any[]) => any;
19
20
  requiresAsyncValidation: (validationType: any) => Promise<any>;
20
21
  error: ErrorHandler<T>;
21
22
  };
@@ -36,9 +37,10 @@ export type Opts<T> = {
36
37
  };
37
38
  any: KeyParser<T>;
38
39
  };
39
- collect: (args: Args<T>) => any;
40
- backtrack: (collectedCommands: any[]) => any;
41
- requiresAsyncValidation: (validationType: any) => Promise<boolean>;
40
+ collect?: (args: Args<T>) => any;
41
+ backtrack?: (args: Args<T>, collectedCommands: any[]) => any;
42
+ requiresAsyncValidation?: (validationType: any) => Promise<boolean>;
43
+ errorsCollector?: ErrorHandler<T>;
42
44
  };
43
45
  export declare const walk: <T>(opts: Opts<T>, value: any) => Promise<{
44
46
  target: T;
package/dist/walker.js CHANGED
@@ -3,6 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.walk = void 0;
4
4
  const walk = async (opts, value) => {
5
5
  const errors = [];
6
+ if (!('collect' in opts)) {
7
+ opts.collect = () => { };
8
+ }
9
+ if (!('backtrack' in opts)) {
10
+ opts.backtrack = (c) => c;
11
+ }
12
+ if (!('requiresAsyncValidation' in opts)) {
13
+ opts.requiresAsyncValidation = async () => true;
14
+ }
6
15
  const target = await opts.init(value, opts, errors);
7
16
  const errorsCollector = (args, code) => {
8
17
  errors.push({
@@ -10,21 +19,25 @@ const walk = async (opts, value) => {
10
19
  message: `Error in ${args.path.join('.')}`,
11
20
  });
12
21
  };
22
+ if (!('errorsCollector' in opts)) {
23
+ opts.errorsCollector = errorsCollector;
24
+ }
13
25
  const parse = async (prevArgs, key, value) => {
14
26
  const collectedCommands = [];
15
27
  const fromBackTrack = [];
16
28
  const args = {
17
29
  schema: opts.schema,
18
30
  path: key ? [...prevArgs.path, key] : prevArgs.path,
31
+ key: key ?? prevArgs.path[prevArgs.path.length - 1],
19
32
  parentValue: value ? prevArgs.value : undefined,
20
33
  value: value ?? prevArgs.value,
21
34
  target,
22
- parse: prevArgs.parse,
35
+ parse,
23
36
  collect: (args) => {
24
37
  collectedCommands.push(opts.collect(args));
25
38
  },
26
- backtrack: (args) => {
27
- fromBackTrack.push(opts.backtrack(args));
39
+ backtrack: (args, commands) => {
40
+ fromBackTrack.push(opts.backtrack(args, commands));
28
41
  },
29
42
  error: errorsCollector,
30
43
  requiresAsyncValidation: opts.requiresAsyncValidation,
@@ -33,9 +46,17 @@ const walk = async (opts, value) => {
33
46
  const q = [];
34
47
  if (Array.isArray(args.value)) {
35
48
  for (let i = 0; i < args.value.length; i++) {
36
- //
37
49
  const parser = opts.parsers.keys[i] || opts.parsers.any;
38
- q.push(parser({ ...args, value: args.value[i], path: [...args.path, i] }));
50
+ q.push((async () => {
51
+ const newArgs = await parser({
52
+ ...args,
53
+ value: args.value[i],
54
+ path: [...args.path, i],
55
+ });
56
+ if (newArgs) {
57
+ return parse(newArgs);
58
+ }
59
+ })());
39
60
  }
40
61
  }
41
62
  else {
@@ -53,12 +74,11 @@ const walk = async (opts, value) => {
53
74
  })());
54
75
  }
55
76
  }
56
- await Promise.all(q);
57
77
  if (fromBackTrack.length) {
58
- opts.backtrack(fromBackTrack);
78
+ args.backtrack(args, fromBackTrack);
59
79
  }
60
80
  else if (collectedCommands.length) {
61
- opts.backtrack(collectedCommands);
81
+ args.backtrack(args, collectedCommands);
62
82
  }
63
83
  }
64
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"walker.js","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walker.js","sourceRoot":"","sources":["../src/walker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/schema",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/walker.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { ParseError } from './set/error'
2
2
  import { BasedSchema, BasedSetHandlers, BasedSetTarget } from './types'
3
3
  import { BasedSchemaType, BasedSchemaFields } from './types'
4
+ import { SetOptional } from 'type-fest'
4
5
 
5
6
  type Path = (string | number)[]
6
7
 
@@ -22,11 +23,12 @@ export type Args<
22
23
  fieldSchema?: BasedSchemaFields[K]
23
24
  typeSchema?: BasedSchemaType
24
25
  path: Path
26
+ key?: number | string
25
27
  value: any
26
28
  target: T
27
29
  parse: Parse<T>
28
30
  collect: (args: Args<T>) => any
29
- backtrack: (collectedCommands: any[]) => any
31
+ backtrack: (args: Args<T>, collectedCommands: any[]) => any
30
32
  requiresAsyncValidation: (validationType: any) => Promise<any>
31
33
  error: ErrorHandler<T>
32
34
  }
@@ -53,9 +55,10 @@ export type Opts<T> = {
53
55
  keys: { [key: string]: KeyParser<T> } // $list -> true
54
56
  any: KeyParser<T> // y.x
55
57
  }
56
- collect: (args: Args<T>) => any
57
- backtrack: (collectedCommands: any[]) => any // from back TRACKS OR COLLECT
58
- requiresAsyncValidation: (validationType: any) => Promise<boolean>
58
+ collect?: (args: Args<T>) => any
59
+ backtrack?: (args: Args<T>, collectedCommands: any[]) => any // from back TRACKS OR COLLECT
60
+ requiresAsyncValidation?: (validationType: any) => Promise<boolean>
61
+ errorsCollector?: ErrorHandler<T>
59
62
  }
60
63
 
61
64
  export const walk = async <T>(
@@ -66,6 +69,19 @@ export const walk = async <T>(
66
69
  errors: { code: ParseError; message: string }[]
67
70
  }> => {
68
71
  const errors: { code: ParseError; message: string }[] = []
72
+
73
+ if (!('collect' in opts)) {
74
+ opts.collect = () => {}
75
+ }
76
+
77
+ if (!('backtrack' in opts)) {
78
+ opts.backtrack = (c) => c
79
+ }
80
+
81
+ if (!('requiresAsyncValidation' in opts)) {
82
+ opts.requiresAsyncValidation = async () => true
83
+ }
84
+
69
85
  const target = await opts.init(value, opts, errors)
70
86
 
71
87
  const errorsCollector: ErrorHandler<T> = (args, code) => {
@@ -75,21 +91,26 @@ export const walk = async <T>(
75
91
  })
76
92
  }
77
93
 
94
+ if (!('errorsCollector' in opts)) {
95
+ opts.errorsCollector = errorsCollector
96
+ }
97
+
78
98
  const parse: Parse<T> = async (prevArgs, key, value) => {
79
99
  const collectedCommands: any[] = []
80
100
  const fromBackTrack: any[] = []
81
101
  const args: Args<T> = {
82
102
  schema: opts.schema,
83
103
  path: key ? [...prevArgs.path, key] : prevArgs.path,
104
+ key: key ?? prevArgs.path[prevArgs.path.length - 1],
84
105
  parentValue: value ? prevArgs.value : undefined,
85
106
  value: value ?? prevArgs.value,
86
107
  target,
87
- parse: prevArgs.parse,
108
+ parse,
88
109
  collect: (args) => {
89
110
  collectedCommands.push(opts.collect(args))
90
111
  },
91
- backtrack: (args) => {
92
- fromBackTrack.push(opts.backtrack(args))
112
+ backtrack: (args, commands) => {
113
+ fromBackTrack.push(opts.backtrack(args, commands))
93
114
  },
94
115
  error: errorsCollector,
95
116
  requiresAsyncValidation: opts.requiresAsyncValidation,
@@ -98,10 +119,18 @@ export const walk = async <T>(
98
119
  const q: Promise<Args<T> | void>[] = []
99
120
  if (Array.isArray(args.value)) {
100
121
  for (let i = 0; i < args.value.length; i++) {
101
- //
102
122
  const parser = opts.parsers.keys[i] || opts.parsers.any
103
123
  q.push(
104
- parser({ ...args, value: args.value[i], path: [...args.path, i] })
124
+ (async () => {
125
+ const newArgs = await parser({
126
+ ...args,
127
+ value: args.value[i],
128
+ path: [...args.path, i],
129
+ })
130
+ if (newArgs) {
131
+ return parse(newArgs)
132
+ }
133
+ })()
105
134
  )
106
135
  }
107
136
  } else {
@@ -114,7 +143,6 @@ export const walk = async <T>(
114
143
  value: args.value[key],
115
144
  path: [...args.path, key],
116
145
  })
117
-
118
146
  if (newArgs) {
119
147
  return parse(newArgs)
120
148
  }
@@ -122,11 +150,11 @@ export const walk = async <T>(
122
150
  )
123
151
  }
124
152
  }
125
- await Promise.all(q)
153
+
126
154
  if (fromBackTrack.length) {
127
- opts.backtrack(fromBackTrack)
155
+ args.backtrack(args, fromBackTrack)
128
156
  } else if (collectedCommands.length) {
129
- opts.backtrack(collectedCommands)
157
+ args.backtrack(args, collectedCommands)
130
158
  }
131
159
  }
132
160
  }
package/test/walker.ts CHANGED
@@ -45,6 +45,7 @@ test('walker', async (t) => {
45
45
  $list: async (args) => {
46
46
  return {
47
47
  ...args,
48
+
48
49
  value: { flapdrol: true },
49
50
  }
50
51
  },
@@ -53,22 +54,18 @@ test('walker', async (t) => {
53
54
  // string: () => {}
54
55
  },
55
56
  any: async (args) => {
57
+ args.collect(args)
56
58
  return args
57
59
  },
58
60
  },
59
61
  collect: (args) => {
60
- // console.log(' lulz collect dat command', args.path)
61
62
  return args.path.join('.')
62
63
  },
63
- backtrack: (collectedCommands) => {
64
+ backtrack: (args, collectedCommands) => {
64
65
  console.log(' \n-----------BACK TRACK GOOD GO', collectedCommands)
65
66
  // if return next btrack will not receive backtrack from commands
66
67
  return collectedCommands
67
68
  },
68
- requiresAsyncValidation: async (validateType) => {
69
- // console.info('lullz async validaion at the end!')
70
- return true
71
- },
72
69
  },
73
70
  {
74
71
  gurk: [1, 2, 3, 4],
@@ -93,7 +90,7 @@ test('walker', async (t) => {
93
90
  )
94
91
 
95
92
  console.info('------------')
96
- // console.info(x)
93
+ console.info(x)
97
94
 
98
95
  t.true(true)
99
96
  })