@nerd-bible/valio 0.1.8 → 0.1.10

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.
@@ -20,7 +20,9 @@ declare class Union<T extends Readonly<Pipe[]>> extends Pipe<Output<T[number]>,
20
20
  }
21
21
  export declare function union<T extends Readonly<Pipe[]>>(options: T): Union<T>;
22
22
  type ObjectOutput<Shape extends Record<string, Pipe<any, any>>> = {
23
- [K in keyof Shape]: Output<Shape[K]>;
23
+ [K in keyof Shape as [undefined] extends [Output<Shape[K]>] ? never : K]: Output<Shape[K]>;
24
+ } & {
25
+ [K in keyof Shape as [undefined] extends [Output<Shape[K]>] ? K : never]?: Output<Shape[K]>;
24
26
  };
25
27
  type Mask<Keys extends PropertyKey> = {
26
28
  [K in Keys]?: true;
@@ -44,7 +46,7 @@ export declare class ValioObject<Shape extends Record<any, Pipe<any, any>>> exte
44
46
  protected typeCheckOutput(v: any): v is ObjectOutput<Shape>;
45
47
  pick<M extends Mask<keyof Shape>>(mask: M): ValioObject<Flatten<Pick<Shape, Extract<keyof Shape, keyof M>>>>;
46
48
  omit<M extends Mask<keyof Shape>>(mask: M): ValioObject<Flatten<Omit<Shape, Extract<keyof Shape, keyof M>>>>;
47
- partial<M extends Mask<keyof Shape>>(mask: M): ValioObject<{
49
+ partial<M extends Mask<keyof Shape>>(mask?: M): ValioObject<{
48
50
  [k in keyof Shape]: k extends keyof M ? Pipe<Input<Shape[k]>, Output<Shape[k]> | undefined> : Shape[k];
49
51
  }>;
50
52
  extend<T extends Record<any, Pipe<any, any>>>(shape: T): ValioObject<Extend<Shape, T>>;
@@ -1 +1 @@
1
- {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../src/containers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAY,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,cAAM,UAAU,CAAC,CAAC,CAAE,SAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;IACjD,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEtB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE;gBAIxB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;CA+BjC;AACD,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAE7D;AAED,cAAM,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,CAAE,SAAQ,IAAI,CACvD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAChB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CACZ;IACA,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEtB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;gBAInC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;CA6CxD;AACD,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAC9C,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EACrB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GACnB,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAEnB;AAED,cAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAE,SAAQ,IAAI,CACnD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EACjB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACjB;IACA,OAAO,EAAE,CAAC,CAAC;gBAEC,OAAO,EAAE,CAAC;CAgCtB;AACD,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAEtE;AAED,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI;KAChE,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC;AACF,KAAK,IAAI,CAAC,IAAI,SAAS,WAAW,IAAI;KAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI;CAAE,CAAC;AAC7D,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AACrB,KAAK,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAC;AACrD,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAE5E,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,KAAK,GAC5B,CAAC,GAAG,CAAC,GACL;KACC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrD,GAAG;KACF,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpB,CACH,CAAC;AAEF,qBAAa,WAAW,CACvB,KAAK,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACxC,SAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACpD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;gBAInC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;IAiB1C,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,cAAc,CACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,GACV,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAqB9B,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC;IAO3D,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,KAAK,CAAC,EAC/B,IAAI,EAAE,CAAC,GACL,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAQnE,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,KAAK,CAAC,EAC/B,IAAI,EAAE,CAAC,GACL,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAQnE,OAAO,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,KAAK,CAAC,EAClC,IAAI,EAAE,CAAC,GACL,WAAW,CAAC;SACb,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,CAAC,GAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GACnD,KAAK,CAAC,CAAC,CAAC;KACX,CAAC;IAWF,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC3C,KAAK,EAAE,CAAC,GACN,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAMhC,KAAK,CAAC,CAAC,GAAG,GAAG,EACZ,OAAO,UAAO,GACZ,WAAW,CAAC,KAAK,GAAG;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC;CAKnD;AACD,wBAAgB,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC/D,KAAK,EAAE,KAAK,EACZ,KAAK,UAAQ,GACX,WAAW,CAAC,KAAK,CAAC,CAEpB"}
1
+ {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../src/containers.ts"],"names":[],"mappings":"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"}
@@ -183,7 +183,7 @@ export class ValioObject extends Pipe {
183
183
  partial(mask) {
184
184
  const next = this.clone();
185
185
  for (const k in next.shape) {
186
- if (mask[k]) {
186
+ if (!mask || mask[k]) {
187
187
  // @ts-expect-error
188
188
  next.shape[k] = union([next.shape[k], p.undefined()]);
189
189
  }
@@ -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":"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"}
package/package.json CHANGED
@@ -30,7 +30,7 @@
30
30
  "README.md",
31
31
  "LICENSE.md"
32
32
  ],
33
- "version": "0.1.8",
33
+ "version": "0.1.10",
34
34
  "repository": {
35
35
  "url": "https://github.com/nerd-bible/valio"
36
36
  }
@@ -87,21 +87,24 @@ test("nested object", () => {
87
87
  });
88
88
 
89
89
  test("partial object", () => {
90
- const o = v.object({ foo: v.number().gt(4) }).partial({ foo: true });
91
- type O = v.Output<typeof o>;
92
-
93
- expect(o.decode({ foo: 10 })).toEqual({
94
- success: true,
95
- output: { foo: 10 } as O,
96
- });
97
- expect(o.decode({ foo: undefined })).toEqual({
98
- success: true,
99
- output: { foo: undefined } as O,
100
- });
101
- expect(o.decode({})).toEqual({
102
- success: true,
103
- output: {} as O,
104
- });
90
+ const o1 = v.object({ foo: v.number().gt(4), bar: v.number() }).partial();
91
+ const o2 = v.object({ foo: v.number().gt(4) }).partial({ foo: true });
92
+ type O = v.Output<typeof o2>;
93
+
94
+ for (const o of [o1, o2]) {
95
+ expect(o.decode({ foo: 10 })).toEqual({
96
+ success: true,
97
+ output: { foo: 10 } as O,
98
+ });
99
+ expect(o.decode({ foo: undefined })).toEqual({
100
+ success: true,
101
+ output: { foo: undefined } as O,
102
+ });
103
+ expect(o.decode({})).toEqual({
104
+ success: true,
105
+ output: {} as O,
106
+ });
107
+ }
105
108
  });
106
109
 
107
110
  test("pick object", () => {
package/src/containers.ts CHANGED
@@ -152,8 +152,16 @@ export function union<T extends Readonly<Pipe[]>>(options: T): Union<T> {
152
152
  return new Union(options);
153
153
  }
154
154
 
155
+ // Undefined means you're fine with records being undefined. If you want the
156
+ // record explicitly, use `null` instead.
155
157
  type ObjectOutput<Shape extends Record<string, Pipe<any, any>>> = {
156
- [K in keyof Shape]: Output<Shape[K]>;
158
+ [K in keyof Shape as [undefined] extends [Output<Shape[K]>]
159
+ ? never
160
+ : K]: Output<Shape[K]>;
161
+ } & {
162
+ [K in keyof Shape as [undefined] extends [Output<Shape[K]>]
163
+ ? K
164
+ : never]?: Output<Shape[K]>;
157
165
  };
158
166
  type Mask<Keys extends PropertyKey> = { [K in Keys]?: true };
159
167
  type Identity<T> = T;
@@ -252,7 +260,7 @@ export class ValioObject<
252
260
  }
253
261
 
254
262
  partial<M extends Mask<keyof Shape>>(
255
- mask: M,
263
+ mask?: M,
256
264
  ): ValioObject<{
257
265
  [k in keyof Shape]: k extends keyof M
258
266
  ? Pipe<Input<Shape[k]>, Output<Shape[k]> | undefined>
@@ -260,7 +268,7 @@ export class ValioObject<
260
268
  }> {
261
269
  const next = this.clone();
262
270
  for (const k in next.shape) {
263
- if (mask[k]) {
271
+ if (!mask || mask[k]) {
264
272
  // @ts-expect-error
265
273
  next.shape[k] = union([next.shape[k], p.undefined()]);
266
274
  }