@nerd-bible/valio 0.1.13 → 0.1.15

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/codecs.d.ts CHANGED
@@ -4,7 +4,7 @@ export declare function custom<I, O>(input: Pipe<I, any>, output: Pipe<any, O>,
4
4
  encode?(input: O, ctx: Context): Result<I>;
5
5
  decode?(output: I, ctx: Context): Result<O>;
6
6
  }): Pipe<I, O>;
7
- export declare function number(parser?: (string: string) => number): p.Comparable<string | number | null | undefined, number>;
7
+ export declare function number(parser?: (string: string) => number): p.Comparable<any, number>;
8
8
  export declare function boolean(opts: {
9
9
  true?: RegExp;
10
10
  false?: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAC1B,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EACnB,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EACpB,KAAK,EAAE;IACN,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;CAC5C,GACC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAMZ;AAED,wBAAgB,MAAM,CACrB,MAAM,6BAAoB,GACxB,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,CAc1D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAerB"}
1
+ {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAC1B,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EACnB,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EACpB,KAAK,EAAE;IACN,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;CAC5C,GACC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAuBZ;AAED,wBAAgB,MAAM,CACrB,MAAM,6BAAoB,GACxB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAc3B;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAerB"}
package/dist/codecs.js CHANGED
@@ -1,9 +1,26 @@
1
1
  import * as p from "./primitives.js";
2
2
  export function custom(input, output, codec) {
3
3
  const res = output.clone();
4
- res.i = input.i.clone();
5
- res.i.transform = codec.decode;
6
- res.o.transform = codec.encode;
4
+ Object.defineProperty(res, "inputName", {
5
+ get() {
6
+ return input.inputName;
7
+ },
8
+ });
9
+ Object.defineProperty(res, "inputTypeCheck", {
10
+ get() {
11
+ return input.inputTypeCheck.bind(input);
12
+ },
13
+ });
14
+ Object.defineProperty(res, "inputTransform", {
15
+ get() {
16
+ return codec.decode;
17
+ },
18
+ });
19
+ Object.defineProperty(res, "outputTransform", {
20
+ get() {
21
+ return codec.encode;
22
+ },
23
+ });
7
24
  return res;
8
25
  }
9
26
  export function number(parser = Number.parseFloat) {
@@ -11,7 +28,7 @@ export function number(parser = Number.parseFloat) {
11
28
  decode(input, ctx) {
12
29
  if (typeof input === "number")
13
30
  return { success: true, output: input };
14
- if (!input || input.toLowerCase() === "nan")
31
+ if (input == null || (typeof input === "string" && input.toLowerCase()) === "nan")
15
32
  return { success: true, output: Number.NaN };
16
33
  const output = parser(input);
17
34
  if (!Number.isNaN(output))
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,MAAM,UAAU,MAAM,CACrB,KAAmB,EACnB,MAAoB,EACpB,KAGC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAS,CAAC;IAClC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACxB,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,MAAM,CACrB,MAAM,GAAG,MAAM,CAAC,UAAU;IAE1B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,MAAM,CAAC,KAAK,EAAE,GAAG;YAChB,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK;gBAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;YAE9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAE5D,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACD,CAA8B,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAGvB;IACA,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,CAAC,KAAK,EAAE,GAAG;YAChB,IAAI,OAAO,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACnE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACtE,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAElD,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,35 @@ import { Context, Pipe } from "./pipe.ts";
3
3
  import * as p from "./primitives.ts";
4
4
  export declare class ValioArray<T> extends p.Arrayish<any[], T[]> {
5
5
  element: Pipe<any, T>;
6
- static typeCheck(v: any): v is any[];
7
6
  constructor(element: Pipe<any, T>);
7
+ get inputName(): string;
8
+ static typeCheck(v: any): v is any[];
9
+ inputTypeCheck(v: any): v is any[];
10
+ inputTransform(input: any[], ctx: Context): Result<T[]>;
11
+ get outputName(): string;
12
+ outputTypeCheck(v: any): v is T[];
8
13
  }
9
14
  export declare function array<T>(element: Pipe<any, T>): ValioArray<T>;
10
15
  export declare class ValioRecord<K extends PropertyKey, V> extends Pipe<Record<any, any>, Record<K, V>> {
11
16
  keyPipe: Pipe<any, K>;
12
17
  valPipe: Pipe<any, V>;
13
- static typeCheck(v: any): v is Record<any, any>;
14
18
  constructor(keyPipe: Pipe<any, K>, valPipe: Pipe<any, V>);
19
+ get inputName(): string;
20
+ static typeCheck(v: any): v is Record<any, any>;
21
+ inputTypeCheck(v: any): v is Record<any, any>;
22
+ inputTransform(input: Record<any, any>, ctx: Context): Result<Record<K, V>>;
23
+ get outputName(): string;
24
+ outputTypeCheck(v: any): v is Record<K, V>;
15
25
  }
16
26
  export declare function record<K extends PropertyKey, V>(keyPipe: Pipe<any, K>, valPipe: Pipe<any, V>): ValioRecord<K, V>;
17
27
  export declare class Union<T extends Readonly<Pipe[]>> extends Pipe<Output<T[number]>, Output<T[number]>> {
18
28
  options: T;
19
29
  constructor(options: T);
30
+ get inputName(): string;
31
+ inputTypeCheck(v: any): v is Output<T[number]>;
32
+ inputTransform(data: Output<T[number]>, ctx: Context): Result<Output<T[number]>>;
33
+ get outputName(): string;
34
+ outputTypeCheck(v: any): v is Output<T[number]>;
20
35
  }
21
36
  export declare function union<T extends Readonly<Pipe[]>>(options: T): Union<T>;
22
37
  type ObjectOutput<Shape extends Record<string, Pipe<any, any>>> = {
@@ -41,9 +56,11 @@ export declare class ValioObject<Shape extends Record<any, Pipe<any, any>>> exte
41
56
  isLoose: boolean;
42
57
  static typeCheck(v: any): v is Record<any, any>;
43
58
  constructor(shape: Shape, isLoose: boolean);
44
- clone(): this;
45
- protected transformInput(data: object, ctx: Context): Result<ObjectOutput<Shape>>;
46
- protected typeCheckOutput(v: any): v is ObjectOutput<Shape>;
59
+ get inputName(): string;
60
+ get outputName(): string;
61
+ inputTypeCheck(v: any): v is Record<any, any>;
62
+ inputTransform(data: object, ctx: Context): Result<ObjectOutput<Shape>>;
63
+ outputTypeCheck(v: any): v is ObjectOutput<Shape>;
47
64
  pick<M extends Mask<keyof Shape>>(mask: M): ValioObject<Flatten<Pick<Shape, Extract<keyof Shape, keyof M>>>>;
48
65
  omit<M extends Mask<keyof Shape>>(mask: M): ValioObject<Flatten<Omit<Shape, Extract<keyof Shape, keyof M>>>>;
49
66
  partial<M extends Mask<keyof Shape>>(mask?: M): ValioObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../src/containers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../src/containers.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,47 @@
1
- import { Context, HalfPipe, Pipe } from "./pipe.js";
1
+ import { Context, Pipe } from "./pipe.js";
2
2
  import * as p from "./primitives.js";
3
3
  export class ValioArray extends p.Arrayish {
4
4
  element;
5
+ constructor(element) {
6
+ super();
7
+ this.element = element;
8
+ }
9
+ get inputName() {
10
+ return "array";
11
+ }
5
12
  static typeCheck(v) {
6
13
  return Array.isArray(v);
7
14
  }
8
- constructor(element) {
9
- super(new HalfPipe("array", ValioArray.typeCheck, function parseAnyArr(input, ctx) {
10
- const output = new Array(input.length);
11
- let success = true;
12
- const length = ctx.jsonPath.length;
13
- for (let i = 0; i < input.length; i++) {
14
- ctx.jsonPath[length] = i.toString();
15
- const decoded = element.decode(input[i], ctx);
16
- if (decoded.success)
17
- output[i] = decoded.output;
18
- else
19
- success = false;
20
- }
21
- ctx.jsonPath.length = length;
22
- if (!success)
23
- return { success, errors: ctx.errors };
24
- return { success, output };
25
- }), new HalfPipe(`array<${element.o.name}>`, function isArrT(v) {
26
- if (!ValioArray.typeCheck(v))
15
+ inputTypeCheck(v) {
16
+ return ValioArray.typeCheck(v);
17
+ }
18
+ inputTransform(input, ctx) {
19
+ const output = new Array(input.length);
20
+ let success = true;
21
+ const length = ctx.jsonPath.length;
22
+ for (let i = 0; i < input.length; i++) {
23
+ ctx.jsonPath[length] = i.toString();
24
+ const decoded = this.element.decode(input[i], ctx);
25
+ if (decoded.success)
26
+ output[i] = decoded.output;
27
+ else
28
+ success = false;
29
+ }
30
+ ctx.jsonPath.length = length;
31
+ if (!success)
32
+ return { success, errors: ctx.errors };
33
+ return { success, output };
34
+ }
35
+ get outputName() {
36
+ return `array<${this.element.outputName}>`;
37
+ }
38
+ outputTypeCheck(v) {
39
+ if (!ValioArray.typeCheck(v))
40
+ return false;
41
+ for (const e of v)
42
+ if (!this.element.outputTypeCheck(e))
27
43
  return false;
28
- for (const e of v)
29
- if (!element.o.typeCheck(e))
30
- return false;
31
- return true;
32
- }));
33
- this.element = element;
44
+ return true;
34
45
  }
35
46
  }
36
47
  export function array(element) {
@@ -39,47 +50,58 @@ export function array(element) {
39
50
  export class ValioRecord extends Pipe {
40
51
  keyPipe;
41
52
  valPipe;
53
+ constructor(keyPipe, valPipe) {
54
+ super();
55
+ this.keyPipe = keyPipe;
56
+ this.valPipe = valPipe;
57
+ }
58
+ get inputName() {
59
+ return "object";
60
+ }
42
61
  static typeCheck(v) {
43
- return Object.prototype.toString.call(v) === "[object Object]";
62
+ return v && typeof v === "object";
44
63
  }
45
- constructor(keyPipe, valPipe) {
46
- super(new HalfPipe("object", ValioRecord.typeCheck, function anyToRecordKV(input, ctx) {
47
- const output = {};
48
- let success = true;
49
- const length = ctx.jsonPath.length;
50
- for (const key in input) {
51
- ctx.jsonPath[length] = key;
52
- const decodedKey = keyPipe.decode(key, ctx);
53
- if (decodedKey.success) {
54
- const decodedVal = valPipe.decode(input[key], ctx);
55
- if (decodedVal.success) {
56
- output[decodedKey.output] = decodedVal.output;
57
- }
58
- else {
59
- success = false;
60
- }
64
+ inputTypeCheck(v) {
65
+ return ValioRecord.typeCheck(v);
66
+ }
67
+ inputTransform(input, ctx) {
68
+ const output = {};
69
+ let success = true;
70
+ const length = ctx.jsonPath.length;
71
+ for (const key in input) {
72
+ ctx.jsonPath[length] = key;
73
+ const decodedKey = this.keyPipe.decode(key, ctx);
74
+ if (decodedKey.success) {
75
+ const decodedVal = this.valPipe.decode(input[key], ctx);
76
+ if (decodedVal.success) {
77
+ output[decodedKey.output] = decodedVal.output;
61
78
  }
62
79
  else {
63
80
  success = false;
64
81
  }
65
82
  }
66
- ctx.jsonPath.length = length;
67
- if (!success)
68
- return { success, errors: ctx.errors };
69
- return { success, output };
70
- }), new HalfPipe(`record<${keyPipe.o.name},${valPipe.o.name}>`, function recordCheckV(v) {
71
- if (!ValioRecord.typeCheck(v))
72
- return false;
73
- for (const k in v) {
74
- // Keys will always be strings.
75
- // if (!keyPipe.o.typeCheck(k)) return false;
76
- if (!valPipe.o.typeCheck(v[k]))
77
- return false;
83
+ else {
84
+ success = false;
78
85
  }
79
- return true;
80
- }));
81
- this.keyPipe = keyPipe;
82
- this.valPipe = valPipe;
86
+ }
87
+ ctx.jsonPath.length = length;
88
+ if (!success)
89
+ return { success, errors: ctx.errors };
90
+ return { success, output };
91
+ }
92
+ get outputName() {
93
+ return `record<${this.keyPipe.inputName},${this.valPipe.outputName}>`;
94
+ }
95
+ outputTypeCheck(v) {
96
+ if (!ValioRecord.typeCheck(v))
97
+ return false;
98
+ for (const k in v) {
99
+ // Keys will always be strings.
100
+ // if (!keyPipe.o.typeCheck(k)) return false;
101
+ if (!this.valPipe.outputTypeCheck(v[k]))
102
+ return false;
103
+ }
104
+ return true;
83
105
  }
84
106
  }
85
107
  export function record(keyPipe, valPipe) {
@@ -88,34 +110,42 @@ export function record(keyPipe, valPipe) {
88
110
  export class Union extends Pipe {
89
111
  options;
90
112
  constructor(options) {
91
- const name = options.map((o) => o.o.name).join("|");
92
- super(new HalfPipe(name, function isUnionType(v) {
93
- for (const f of options)
94
- if (f.i.typeCheck(v))
95
- return true;
96
- return false;
97
- }, (data, ctx) => {
98
- // Throw away errors since we expect them.
99
- const newCtx = new Context();
100
- newCtx.pushErrorFmt = () => { };
101
- newCtx.pushError = () => { };
102
- for (const f of options) {
103
- const decoded = f.decode(data, newCtx);
104
- if (decoded.success)
105
- return decoded;
106
- }
107
- // Sad path -- do again with real ctx to gather errors.
108
- for (const f of options)
109
- f.decode(data, ctx);
110
- return { success: false, errors: ctx.errors };
111
- }), new HalfPipe(name, function isUnionType2(v) {
112
- for (const f of options)
113
- if (f.o.typeCheck(v))
114
- return true;
115
- return false;
116
- }));
113
+ super();
117
114
  this.options = options;
118
115
  }
116
+ get inputName() {
117
+ return this.options.map((o) => o.outputName).join("|");
118
+ }
119
+ inputTypeCheck(v) {
120
+ for (const f of this.options)
121
+ if (f.inputTypeCheck(v))
122
+ return true;
123
+ return false;
124
+ }
125
+ inputTransform(data, ctx) {
126
+ // Throw away errors since we expect them.
127
+ const newCtx = new Context();
128
+ newCtx.pushErrorFmt = () => { };
129
+ newCtx.pushError = () => { };
130
+ for (const f of this.options) {
131
+ const decoded = f.decode(data, newCtx);
132
+ if (decoded.success)
133
+ return decoded;
134
+ }
135
+ // Sad path -- do again with real ctx to gather errors.
136
+ for (const f of this.options)
137
+ f.decode(data, ctx);
138
+ return { success: false, errors: ctx.errors };
139
+ }
140
+ get outputName() {
141
+ return this.inputName;
142
+ }
143
+ outputTypeCheck(v) {
144
+ for (const f of this.options)
145
+ if (f.outputTypeCheck(v))
146
+ return true;
147
+ return false;
148
+ }
119
149
  }
120
150
  export function union(options) {
121
151
  return new Union(options);
@@ -127,16 +157,22 @@ export class ValioObject extends Pipe {
127
157
  return typeof v === "object";
128
158
  }
129
159
  constructor(shape, isLoose) {
130
- super(new HalfPipe("object", ValioObject.typeCheck, (data, ctx) => this.transformInput(data, ctx)), new HalfPipe(`{${Object.entries(shape)
131
- .map(([k, v]) => `${k}: ${v.o.name}`)
132
- .join(",")}}`, (v) => this.typeCheckOutput(v)));
160
+ super();
133
161
  this.shape = shape;
134
162
  this.isLoose = isLoose;
135
163
  }
136
- clone() {
137
- return new ValioObject(this.shape, this.isLoose);
164
+ get inputName() {
165
+ return "object";
166
+ }
167
+ get outputName() {
168
+ return `{${Object.entries(this.shape)
169
+ .map(([k, v]) => `${k}: ${v.outputName}`)
170
+ .join(",")}}`;
171
+ }
172
+ inputTypeCheck(v) {
173
+ return ValioObject.typeCheck(v);
138
174
  }
139
- transformInput(data, ctx) {
175
+ inputTransform(data, ctx) {
140
176
  const output = this.isLoose ? data : {};
141
177
  let success = true;
142
178
  const length = ctx.jsonPath.length;
@@ -156,11 +192,11 @@ export class ValioObject extends Pipe {
156
192
  return { success, errors: ctx.errors };
157
193
  return { success, output: output };
158
194
  }
159
- typeCheckOutput(v) {
195
+ outputTypeCheck(v) {
160
196
  if (!ValioObject.typeCheck(v))
161
197
  return false;
162
198
  for (const s in this.shape)
163
- if (!this.shape[s].o.typeCheck(v[s]))
199
+ if (!this.shape[s].outputTypeCheck(v[s]))
164
200
  return false;
165
201
  return true;
166
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"containers.js","sourceRoot":"","sources":["../src/containers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../src/containers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,MAAM,OAAO,UAAc,SAAQ,CAAC,CAAC,QAAoB;IACxD,OAAO,CAAe;IAEtB,YAAY,OAAqB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,CAAM;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,CAAM;QACpB,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,KAAY,EAAE,GAAY;QACxC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;;gBAC3C,OAAO,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACb,OAAO,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC;IAC5C,CAAC;IAED,eAAe,CAAC,CAAM;QACrB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACtE,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AACD,MAAM,UAAU,KAAK,CAAI,OAAqB;IAC7C,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,WAAsC,SAAQ,IAG1D;IACA,OAAO,CAAe;IACtB,OAAO,CAAe;IAEtB,YAAY,OAAqB,EAAE,OAAqB;QACvD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,CAAM;QACtB,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,CAAM;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,KAAuB,EAAE,GAAY;QACnD,MAAM,MAAM,GAAG,EAAkB,CAAC;QAElC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAE,KAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACjE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACP,OAAO,GAAG,KAAK,CAAC;gBACjB,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,GAAG,KAAK,CAAC;YACjB,CAAC;QACF,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACb,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC;IACvE,CAAC;IAED,eAAe,CAAC,CAAM;QACrB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,+BAA+B;YAC/B,6CAA6C;YAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AACD,MAAM,UAAU,MAAM,CACrB,OAAqB,EACrB,OAAqB;IAErB,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,KAAkC,SAAQ,IAGtD;IACA,OAAO,CAAI;IAEX,YAAY,OAAU;QACrB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,cAAc,CAAC,CAAM;QACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CACb,IAAuB,EACvB,GAAY;QAEZ,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC;QACrC,CAAC;QAED,uDAAuD;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,eAAe,CAAC,CAAM;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpE,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AACD,MAAM,UAAU,KAAK,CAA6B,OAAU;IAC3D,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AA2BD,MAAM,OAAO,WAEX,SAAQ,IAA2C;IACpD,KAAK,CAAQ;IACb,OAAO,CAAU;IAEjB,MAAM,CAAC,SAAS,CAAC,CAAM;QACtB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC;IAC9B,CAAC;IAED,YAAY,KAAY,EAAE,OAAgB;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,CAAM;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,GAAY;QACxC,MAAM,MAAM,GAA6B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,6DAA6D;QAC7D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAE,IAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC3C,CAAC;gBACL,OAAO,GAAG,KAAK,CAAC;gBAChB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACF,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAA6B,EAAE,CAAC;IAC3D,CAAC;IAED,eAAe,CAAC,CAAM;QACrB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK;YACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CACH,IAAO;QAEP,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAW,CAAC;IACpB,CAAC;IAED,IAAI,CACH,IAAO;QAEP,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAW,CAAC;IACpB,CAAC;IAED,OAAO,CACN,IAAQ;QAMR,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,mBAAmB;gBACnB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;QACD,OAAO,IAAW,CAAC;IACpB,CAAC;IAED,MAAM,CACL,KAAQ;QAER,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,IAAW,CAAC;IACpB,CAAC;IAED,aAAa,CACZ,KAAQ;QAOR,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACvB,mBAAmB;YACnB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAW,CAAC;IACpB,CAAC;IAED,KAAK,CACJ,OAAO,GAAG,IAAI;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAW,CAAC;IACpB,CAAC;CACD;AACD,MAAM,UAAU,MAAM,CACrB,KAAY,EACZ,KAAK,GAAG,KAAK;IAEb,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC"}
package/dist/pipe.d.ts CHANGED
@@ -12,20 +12,11 @@ export type Result<T> = {
12
12
  success: false;
13
13
  errors: any;
14
14
  };
15
- interface Check<T> {
15
+ export interface Check<T> {
16
16
  valid(data: T, ctx: Context): boolean;
17
17
  name: string;
18
18
  props: Record<any, any>;
19
19
  }
20
- export declare class HalfPipe<I, O = never> {
21
- name: string;
22
- typeCheck: (v: any) => v is I;
23
- transform?: (v: I, ctx: Context) => Result<O>;
24
- /** Checks to run after type check */
25
- checks: Check<I>[];
26
- constructor(name: string, typeCheck: (v: any) => v is I, transform?: (v: I, ctx: Context) => Result<O>, checks?: Check<I>[]);
27
- clone(): HalfPipe<I, O>;
28
- }
29
20
  /** During encoding, decoding, or validation. */
30
21
  export declare class Context {
31
22
  jsonPath: (string | number)[];
@@ -34,15 +25,22 @@ export declare class Context {
34
25
  clone(): Context;
35
26
  pushError(error: Error): void;
36
27
  pushErrorFmt(name: string, input: any, props: Record<any, any>): void;
37
- run<I, O>(input: any, halfPipe: HalfPipe<I, O>): Result<I>;
28
+ run<I>(input: any, name: () => string, typeCheck: (v: any) => v is I, checks?: Check<I>[]): Result<I>;
38
29
  }
39
- export declare class Pipe<I = any, O = any> {
40
- i: HalfPipe<I, O>;
41
- o: HalfPipe<O, I>;
42
- constructor(i: HalfPipe<I, O>, o: HalfPipe<O, I>);
30
+ export declare function cloneObject(obj: any): any;
31
+ export declare abstract class Pipe<I = any, O = any> {
43
32
  pipes: Pipe<any, any>[];
44
33
  registry: Record<PropertyKey, any>;
45
- debug: boolean;
34
+ abstract inputName: string;
35
+ abstract inputTypeCheck(v: any): v is I;
36
+ /** Checks to run after type check */
37
+ inputChecks?: Check<I>[];
38
+ inputTransform?(v: I, ctx: Context): Result<O>;
39
+ abstract outputName: string;
40
+ abstract outputTypeCheck(v: any): v is O;
41
+ /** Checks to run after type check */
42
+ outputChecks?: Check<O>[];
43
+ outputTransform?(v: O, ctx: Context): Result<I>;
46
44
  clone(): this;
47
45
  refine(valid: (data: O, ctx: Context) => boolean, name: string, props?: Record<any, any>): this;
48
46
  pipe<I2 extends O, O2>(pipe: Pipe<I2, O2>): Pipe<I, O2>;
@@ -50,9 +48,8 @@ export declare class Pipe<I = any, O = any> {
50
48
  decode(input: I, ctx?: Context): Result<O>;
51
49
  encodeAny(output: any, ctx?: Context): Result<I>;
52
50
  encode(output: O, ctx?: Context): Result<I>;
53
- register(key: PropertyKey, value: any): this;
51
+ register(key: PropertyKey, value: any): Pipe<I, O>;
54
52
  }
55
53
  export type Input<T extends Pipe> = Parameters<T["decode"]>[0];
56
54
  export type Output<T extends Pipe> = Parameters<T["encode"]>[0];
57
- export {};
58
55
  //# sourceMappingURL=pipe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../src/pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../src/pipe.ts"],"names":[],"mappings":"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"}