@nerd-bible/valio 0.1.6 → 0.1.7

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.
@@ -38,4 +38,8 @@ declare class ValioEnum<T extends Lit> extends Pipe<T, T> {
38
38
  }
39
39
  declare function enum_<T extends Lit>(literals: readonly T[]): ValioEnum<T>;
40
40
  export { enum_ as enum };
41
+ declare class ValioDate extends Comparable<Date, Date> {
42
+ constructor();
43
+ }
44
+ export declare function date(): ValioDate;
41
45
  //# sourceMappingURL=primitives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,WAAW,CAAC;AAO3C,wBAAgB,OAAO,2BAKtB;AAGD,wBAAgB,SAAS,+BAKxB;AAED,wBAAgB,GAAG,mBAElB;AAED,iBAAS,KAAK,qBAEb;AACD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;AAEzB,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/C,EAAE,CAAC,CAAC,EAAE,CAAC;IAGP,GAAG,CAAC,CAAC,EAAE,CAAC;IAGR,EAAE,CAAC,CAAC,EAAE,CAAC;IAGP,GAAG,CAAC,CAAC,EAAE,CAAC;IAGR,EAAE,CAAC,CAAC,EAAE,CAAC;CAGP;AAED,cAAM,WAAY,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;;CAKnD;AACD,wBAAgB,MAAM,gBAErB;AAED,qBAAa,QAAQ,CACpB,CAAC,EACD,CAAC,SAAS;IACT,MAAM,EAAE,MAAM,CAAC;CACf,CACA,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,SAAS,CAAC,CAAC,EAAE,MAAM;IAGnB,SAAS,CAAC,CAAC,EAAE,MAAM;CAGnB;AAED,cAAM,WAAY,SAAQ,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;;IAMjD,KAAK,CAAC,EAAE,EAAE,MAAM;CAGhB;AACD,wBAAgB,MAAM,IAAI,WAAW,CAEpC;AAED,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAExE,cAAM,YAAY,CAAC,CAAC,SAAS,GAAG,CAAE,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC;gBAEC,OAAO,EAAE,CAAC;CAKtB;AACD,wBAAgB,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,CAAC,mBAEhD;AAED,cAAM,SAAS,CAAC,CAAC,SAAS,GAAG,CAAE,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;gBAEX,QAAQ,EAAE,SAAS,CAAC,EAAE;CAOlC;AACD,iBAAS,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAElE;AACD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,WAAW,CAAC;AAO3C,wBAAgB,OAAO,2BAKtB;AAGD,wBAAgB,SAAS,+BAKxB;AAED,wBAAgB,GAAG,mBAElB;AAED,iBAAS,KAAK,qBAEb;AACD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;AAEzB,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/C,EAAE,CAAC,CAAC,EAAE,CAAC;IAGP,GAAG,CAAC,CAAC,EAAE,CAAC;IAGR,EAAE,CAAC,CAAC,EAAE,CAAC;IAGP,GAAG,CAAC,CAAC,EAAE,CAAC;IAGR,EAAE,CAAC,CAAC,EAAE,CAAC;CAGP;AAED,cAAM,WAAY,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;;CAKnD;AACD,wBAAgB,MAAM,gBAErB;AAED,qBAAa,QAAQ,CACpB,CAAC,EACD,CAAC,SAAS;IACT,MAAM,EAAE,MAAM,CAAC;CACf,CACA,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,SAAS,CAAC,CAAC,EAAE,MAAM;IAGnB,SAAS,CAAC,CAAC,EAAE,MAAM;CAGnB;AAED,cAAM,WAAY,SAAQ,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;;IAMjD,KAAK,CAAC,EAAE,EAAE,MAAM;CAGhB;AACD,wBAAgB,MAAM,IAAI,WAAW,CAEpC;AAED,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAExE,cAAM,YAAY,CAAC,CAAC,SAAS,GAAG,CAAE,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC;gBAEC,OAAO,EAAE,CAAC;CAKtB;AACD,wBAAgB,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,CAAC,mBAEhD;AAED,cAAM,SAAS,CAAC,CAAC,SAAS,GAAG,CAAE,SAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;gBAEX,QAAQ,EAAE,SAAS,CAAC,EAAE;CAOlC;AACD,iBAAS,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAElE;AACD,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;AAEzB,cAAM,SAAU,SAAQ,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;;CAK7C;AACD,wBAAgB,IAAI,IAAI,SAAS,CAEhC"}
@@ -86,4 +86,13 @@ function enum_(literals) {
86
86
  return new ValioEnum(literals);
87
87
  }
88
88
  export { enum_ as enum };
89
+ class ValioDate extends Comparable {
90
+ constructor() {
91
+ const half = new HalfPipe("date", (v) => v instanceof Date);
92
+ super(half, half);
93
+ }
94
+ }
95
+ export function date() {
96
+ return new ValioDate();
97
+ }
89
98
  //# sourceMappingURL=primitives.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.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.6",
33
+ "version": "0.1.7",
34
34
  "repository": {
35
35
  "url": "https://github.com/nerd-bible/valio"
36
36
  }
@@ -81,3 +81,15 @@ test("pipe", () => {
81
81
  },
82
82
  });
83
83
  });
84
+
85
+ test("date comparison", () => {
86
+ const schema = v.date().gt(new Date(2020, 1));
87
+
88
+ expect(schema.decode(new Date(2021, 1))).toEqual({
89
+ success: true,
90
+ output: new Date(2021, 1),
91
+ });
92
+
93
+ // error message has timezone-dependent string
94
+ expect(schema.decode(new Date(2010, 1)).success).toEqual(false);
95
+ });
package/src/primitives.ts CHANGED
@@ -115,3 +115,13 @@ function enum_<T extends Lit>(literals: readonly T[]): ValioEnum<T> {
115
115
  return new ValioEnum(literals);
116
116
  }
117
117
  export { enum_ as enum };
118
+
119
+ class ValioDate extends Comparable<Date, Date> {
120
+ constructor() {
121
+ const half = new HalfPipe("date", (v: any): v is Date => v instanceof Date);
122
+ super(half, half);
123
+ }
124
+ }
125
+ export function date(): ValioDate {
126
+ return new ValioDate();
127
+ }