@nerd-bible/valio 0.1.6 → 0.1.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.
- package/dist/locales/en.d.ts.map +1 -1
- package/dist/locales/en.js +1 -0
- package/dist/locales/en.js.map +1 -1
- package/dist/primitives.d.ts +5 -0
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +12 -0
- package/dist/primitives.js.map +1 -1
- package/package.json +1 -1
- package/src/locales/en.ts +1 -0
- package/src/primitives.test.ts +12 -0
- package/src/primitives.ts +13 -0
package/dist/locales/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAG5E"}
|
package/dist/locales/en.js
CHANGED
package/dist/locales/en.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAA2B;IACzC,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,gBAAgB;IACpB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,iBAAiB;IACtB,EAAE,EAAE,cAAc;IAClB,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,0BAA0B;IACrC,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,iCAAiC;CACzC,CAAC;AAEF,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAuB;IACrD,+BAA+B;IAC/B,4DAA4D;IAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAY,EAAE,KAAuB;IACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,IAAI,EAAE,CAAC;AAC3E,CAAC"}
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAA2B;IACzC,EAAE,EAAE,gBAAgB;IACpB,EAAE,EAAE,gBAAgB;IACpB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,iBAAiB;IACtB,EAAE,EAAE,cAAc;IAClB,GAAG,EAAE,kBAAkB;IACvB,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,0BAA0B;IACrC,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,iCAAiC;CACzC,CAAC;AAEF,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAuB;IACrD,+BAA+B;IAC/B,4DAA4D;IAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAY,EAAE,KAAuB;IACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,IAAI,EAAE,CAAC;AAC3E,CAAC"}
|
package/dist/primitives.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare class Comparable<I, O> extends Pipe<I, O> {
|
|
|
10
10
|
lt(n: O): this;
|
|
11
11
|
lte(n: O): this;
|
|
12
12
|
eq(n: O): this;
|
|
13
|
+
neq(n: O): this;
|
|
13
14
|
}
|
|
14
15
|
declare class ValioNumber extends Comparable<number, number> {
|
|
15
16
|
constructor();
|
|
@@ -38,4 +39,8 @@ declare class ValioEnum<T extends Lit> extends Pipe<T, T> {
|
|
|
38
39
|
}
|
|
39
40
|
declare function enum_<T extends Lit>(literals: readonly T[]): ValioEnum<T>;
|
|
40
41
|
export { enum_ as enum };
|
|
42
|
+
declare class ValioDate extends Comparable<Date, Date> {
|
|
43
|
+
constructor();
|
|
44
|
+
}
|
|
45
|
+
export declare function date(): ValioDate;
|
|
41
46
|
//# sourceMappingURL=primitives.d.ts.map
|
package/dist/primitives.d.ts.map
CHANGED
|
@@ -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;
|
|
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;IAGP,GAAG,CAAC,CAAC,EAAE,CAAC;CAGR;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"}
|
package/dist/primitives.js
CHANGED
|
@@ -33,6 +33,9 @@ export class Comparable extends Pipe {
|
|
|
33
33
|
eq(n) {
|
|
34
34
|
return this.refine((v) => v === n, "eq", { n });
|
|
35
35
|
}
|
|
36
|
+
neq(n) {
|
|
37
|
+
return this.refine((v) => v !== n, "neq", { n });
|
|
38
|
+
}
|
|
36
39
|
}
|
|
37
40
|
class ValioNumber extends Comparable {
|
|
38
41
|
constructor() {
|
|
@@ -86,4 +89,13 @@ function enum_(literals) {
|
|
|
86
89
|
return new ValioEnum(literals);
|
|
87
90
|
}
|
|
88
91
|
export { enum_ as enum };
|
|
92
|
+
class ValioDate extends Comparable {
|
|
93
|
+
constructor() {
|
|
94
|
+
const half = new HalfPipe("date", (v) => v instanceof Date);
|
|
95
|
+
super(half, half);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export function date() {
|
|
99
|
+
return new ValioDate();
|
|
100
|
+
}
|
|
89
101
|
//# sourceMappingURL=primitives.js.map
|
package/dist/primitives.js.map
CHANGED
|
@@ -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
package/src/locales/en.ts
CHANGED
package/src/primitives.test.ts
CHANGED
|
@@ -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
|
@@ -45,6 +45,9 @@ export class Comparable<I, O> extends Pipe<I, O> {
|
|
|
45
45
|
eq(n: O) {
|
|
46
46
|
return this.refine((v) => v === n, "eq", { n });
|
|
47
47
|
}
|
|
48
|
+
neq(n: O) {
|
|
49
|
+
return this.refine((v) => v !== n, "neq", { n });
|
|
50
|
+
}
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
class ValioNumber extends Comparable<number, number> {
|
|
@@ -115,3 +118,13 @@ function enum_<T extends Lit>(literals: readonly T[]): ValioEnum<T> {
|
|
|
115
118
|
return new ValioEnum(literals);
|
|
116
119
|
}
|
|
117
120
|
export { enum_ as enum };
|
|
121
|
+
|
|
122
|
+
class ValioDate extends Comparable<Date, Date> {
|
|
123
|
+
constructor() {
|
|
124
|
+
const half = new HalfPipe("date", (v: any): v is Date => v instanceof Date);
|
|
125
|
+
super(half, half);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
export function date(): ValioDate {
|
|
129
|
+
return new ValioDate();
|
|
130
|
+
}
|