@infra-blocks/zod-utils 0.17.0 → 0.18.0-alpha.0
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/lib/cjs/index.d.ts +2 -1
- package/lib/cjs/index.js +7 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/string/index.d.ts +1 -0
- package/lib/cjs/string/index.js +2 -0
- package/lib/cjs/string/index.js.map +1 -1
- package/lib/cjs/string/types.d.ts +1 -0
- package/lib/cjs/string/url.d.ts +9 -0
- package/lib/cjs/string/url.js +12 -0
- package/lib/cjs/string/url.js.map +1 -0
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +7 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/string/index.d.ts +1 -0
- package/lib/esm/string/index.js +2 -0
- package/lib/esm/string/index.js.map +1 -1
- package/lib/esm/string/types.d.ts +1 -0
- package/lib/esm/string/url.d.ts +9 -0
- package/lib/esm/string/url.js +8 -0
- package/lib/esm/string/url.js.map +1 -0
- package/package.json +1 -1
package/lib/cjs/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ declare function stringtoInteger(): z.ZodCodec<z.core.$ZodBranded<z.ZodString, "
|
|
|
19
19
|
*
|
|
20
20
|
* @see https://zod.dev/codecs#stringtourl
|
|
21
21
|
*/
|
|
22
|
-
declare function stringToUrl(): z.ZodCodec<z.ZodURL, z.ZodCustom<import("url").URL, import("url").URL>>;
|
|
22
|
+
declare function stringToUrl(): z.ZodCodec<z.core.$ZodBranded<z.ZodURL, "UrlString">, z.ZodCustom<import("url").URL, import("url").URL>>;
|
|
23
23
|
/**
|
|
24
24
|
* Returns a type guard function using the provided schema as the source of truth.
|
|
25
25
|
*
|
|
@@ -87,6 +87,7 @@ declare const zu: {
|
|
|
87
87
|
};
|
|
88
88
|
string: {
|
|
89
89
|
integer: () => z.core.$ZodBranded<z.ZodString, "IntegerString">;
|
|
90
|
+
url: () => z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
90
91
|
};
|
|
91
92
|
csv: () => z.ZodCodec<z.ZodString, z.ZodArray<z.ZodString>>;
|
|
92
93
|
isValid: typeof isValid;
|
package/lib/cjs/index.js
CHANGED
|
@@ -9,9 +9,13 @@ const integer_js_1 = require("./integer.js");
|
|
|
9
9
|
const index_js_3 = require("./iso/index.js");
|
|
10
10
|
const index_js_4 = require("./json/index.js");
|
|
11
11
|
const index_js_5 = require("./string/index.js");
|
|
12
|
+
// TODO: ts-types.
|
|
13
|
+
function trusted(value) {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
12
16
|
const stringToIntegerCodec = zod_1.z.codec(index_js_5.string.integer(), (0, integer_js_1.integer)(), {
|
|
13
17
|
decode: (str) => Number.parseInt(str, 10),
|
|
14
|
-
encode: (num) => num.toString(),
|
|
18
|
+
encode: (num) => trusted(num.toString()),
|
|
15
19
|
});
|
|
16
20
|
/**
|
|
17
21
|
* A string to integer codec.
|
|
@@ -27,9 +31,9 @@ const stringToIntegerCodec = zod_1.z.codec(index_js_5.string.integer(), (0, inte
|
|
|
27
31
|
function stringtoInteger() {
|
|
28
32
|
return stringToIntegerCodec;
|
|
29
33
|
}
|
|
30
|
-
const stringToURLCodec = zod_1.z.codec(
|
|
34
|
+
const stringToURLCodec = zod_1.z.codec(index_js_5.string.url(), zod_1.z.instanceof(URL), {
|
|
31
35
|
decode: (urlString) => new URL(urlString),
|
|
32
|
-
encode: (url) => url.href,
|
|
36
|
+
encode: (url) => trusted(url.href),
|
|
33
37
|
});
|
|
34
38
|
/**
|
|
35
39
|
* A string to URL codec, as defined in Zod's documentation.
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AACxB,6CAAqC;AACrC,qCAA+B;AAC/B,iDAA6C;AAC7C,6CAAuC;AACvC,6CAAqC;AACrC,8CAAuC;AACvC,gDAA2C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AACxB,6CAAqC;AACrC,qCAA+B;AAC/B,iDAA6C;AAC7C,6CAAuC;AACvC,6CAAqC;AACrC,8CAAuC;AACvC,gDAA2C;AAE3C,kBAAkB;AAClB,SAAS,OAAO,CAAI,KAAc;IAChC,OAAO,KAAU,CAAC;AACpB,CAAC;AAED,MAAM,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC,iBAAM,CAAC,OAAO,EAAE,EAAE,IAAA,oBAAO,GAAE,EAAE;IAChE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAS,eAAe;IACtB,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,gBAAgB,GAAG,OAAC,CAAC,KAAK,CAAC,iBAAM,CAAC,GAAG,EAAE,EAAE,OAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IAChE,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAS,WAAW;IAClB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,SAAS,CAAsB,MAAS;IAC/C,OAAO,CAAC,KAAc,EAAuB,EAAE;QAC7C,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,OAAO,CACd,MAAS,EACT,KAAc;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,EAAE,GAAG;IACT,GAAG,EAAH,cAAG;IACH,OAAO,EAAP,kBAAO;IACP,GAAG,EAAH,cAAG;IACH,IAAI,EAAJ,eAAI;IACJ,MAAM,EAAN,iBAAM;IACN,GAAG,EAAH,YAAG;IACH,OAAO;IACP,OAAO,EAAP,oBAAO;IACP,eAAe;IACf,WAAW;IACX,SAAS;CACV,CAAC;AAGO,gBAAE"}
|
package/lib/cjs/string/index.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.string = void 0;
|
|
4
4
|
const integer_js_1 = require("./integer.js");
|
|
5
|
+
const url_js_1 = require("./url.js");
|
|
5
6
|
const string = {
|
|
6
7
|
integer: integer_js_1.integer,
|
|
8
|
+
url: url_js_1.url,
|
|
7
9
|
};
|
|
8
10
|
exports.string = string;
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/string/index.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/string/index.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AACvC,qCAA+B;AAE/B,MAAM,MAAM,GAAG;IACb,OAAO,EAAP,oBAAO;IACP,GAAG,EAAH,YAAG;CACJ,CAAC;AAEO,wBAAM"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const schema: z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
3
|
+
export type UrlString = z.infer<typeof schema>;
|
|
4
|
+
/**
|
|
5
|
+
* @returns A schema that uses `z.string().regex(z.regexes.integer)` internally and returns an {@link UrlString}
|
|
6
|
+
* upon success.
|
|
7
|
+
*/
|
|
8
|
+
export declare const url: () => z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.url = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const schema = zod_1.z.url().brand("UrlString");
|
|
6
|
+
/**
|
|
7
|
+
* @returns A schema that uses `z.string().regex(z.regexes.integer)` internally and returns an {@link UrlString}
|
|
8
|
+
* upon success.
|
|
9
|
+
*/
|
|
10
|
+
const url = () => schema;
|
|
11
|
+
exports.url = url;
|
|
12
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/string/url.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,MAAM,GAAG,OAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAI1C;;;GAGG;AACI,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;AAAnB,QAAA,GAAG,OAAgB"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ declare function stringtoInteger(): z.ZodCodec<z.core.$ZodBranded<z.ZodString, "
|
|
|
19
19
|
*
|
|
20
20
|
* @see https://zod.dev/codecs#stringtourl
|
|
21
21
|
*/
|
|
22
|
-
declare function stringToUrl(): z.ZodCodec<z.ZodURL, z.ZodCustom<import("url").URL, import("url").URL>>;
|
|
22
|
+
declare function stringToUrl(): z.ZodCodec<z.core.$ZodBranded<z.ZodURL, "UrlString">, z.ZodCustom<import("url").URL, import("url").URL>>;
|
|
23
23
|
/**
|
|
24
24
|
* Returns a type guard function using the provided schema as the source of truth.
|
|
25
25
|
*
|
|
@@ -87,6 +87,7 @@ declare const zu: {
|
|
|
87
87
|
};
|
|
88
88
|
string: {
|
|
89
89
|
integer: () => z.core.$ZodBranded<z.ZodString, "IntegerString">;
|
|
90
|
+
url: () => z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
90
91
|
};
|
|
91
92
|
csv: () => z.ZodCodec<z.ZodString, z.ZodArray<z.ZodString>>;
|
|
92
93
|
isValid: typeof isValid;
|
package/lib/esm/index.js
CHANGED
|
@@ -6,9 +6,13 @@ import { integer } from "./integer.js";
|
|
|
6
6
|
import { iso } from "./iso/index.js";
|
|
7
7
|
import { json } from "./json/index.js";
|
|
8
8
|
import { string } from "./string/index.js";
|
|
9
|
+
// TODO: ts-types.
|
|
10
|
+
function trusted(value) {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
9
13
|
const stringToIntegerCodec = z.codec(string.integer(), integer(), {
|
|
10
14
|
decode: (str) => Number.parseInt(str, 10),
|
|
11
|
-
encode: (num) => num.toString(),
|
|
15
|
+
encode: (num) => trusted(num.toString()),
|
|
12
16
|
});
|
|
13
17
|
/**
|
|
14
18
|
* A string to integer codec.
|
|
@@ -24,9 +28,9 @@ const stringToIntegerCodec = z.codec(string.integer(), integer(), {
|
|
|
24
28
|
function stringtoInteger() {
|
|
25
29
|
return stringToIntegerCodec;
|
|
26
30
|
}
|
|
27
|
-
const stringToURLCodec = z.codec(
|
|
31
|
+
const stringToURLCodec = z.codec(string.url(), z.instanceof(URL), {
|
|
28
32
|
decode: (urlString) => new URL(urlString),
|
|
29
|
-
encode: (url) => url.href,
|
|
33
|
+
encode: (url) => trusted(url.href),
|
|
30
34
|
});
|
|
31
35
|
/**
|
|
32
36
|
* A string to URL codec, as defined in Zod's documentation.
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,kBAAkB;AAClB,SAAS,OAAO,CAAI,KAAc;IAChC,OAAO,KAAU,CAAC;AACpB,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;CACzC,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAS,eAAe;IACtB,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IAChE,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAS,WAAW;IAClB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,SAAS,CAAsB,MAAS;IAC/C,OAAO,CAAC,KAAc,EAAuB,EAAE;QAC7C,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,OAAO,CACd,MAAS,EACT,KAAc;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED,MAAM,EAAE,GAAG;IACT,GAAG;IACH,OAAO;IACP,GAAG;IACH,IAAI;IACJ,MAAM;IACN,GAAG;IACH,OAAO;IACP,OAAO;IACP,eAAe;IACf,WAAW;IACX,SAAS;CACV,CAAC;AAGF,OAAO,EAAE,EAAE,EAAE,CAAC"}
|
package/lib/esm/string/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/string/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/string/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,MAAM,GAAG;IACb,OAAO;IACP,GAAG;CACJ,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare const schema: z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
3
|
+
export type UrlString = z.infer<typeof schema>;
|
|
4
|
+
/**
|
|
5
|
+
* @returns A schema that uses `z.string().regex(z.regexes.integer)` internally and returns an {@link UrlString}
|
|
6
|
+
* upon success.
|
|
7
|
+
*/
|
|
8
|
+
export declare const url: () => z.core.$ZodBranded<z.ZodURL, "UrlString">;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const schema = z.url().brand("UrlString");
|
|
3
|
+
/**
|
|
4
|
+
* @returns A schema that uses `z.string().regex(z.regexes.integer)` internally and returns an {@link UrlString}
|
|
5
|
+
* upon success.
|
|
6
|
+
*/
|
|
7
|
+
export const url = () => schema;
|
|
8
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/string/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAI1C;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC"}
|