@percepta/utils 0.1.7 → 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.
- package/dist/cjs/{config → src/config}/getEnvConfig.d.ts +26 -26
- package/dist/cjs/src/config/getEnvConfig.d.ts.map +1 -0
- package/dist/cjs/{config → src/config}/getEnvConfig.js +5 -1
- package/dist/cjs/src/config/getEnvConfig.js.map +1 -0
- package/dist/cjs/src/config/index.d.ts.map +1 -0
- package/dist/cjs/src/config/index.js.map +1 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/utils/__tests__/assertNever.test.d.ts.map +1 -0
- package/dist/cjs/{utils → src/utils}/__tests__/assertNever.test.js +4 -3
- package/dist/cjs/src/utils/__tests__/assertNever.test.js.map +1 -0
- package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts +2 -0
- package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts.map +1 -0
- package/dist/cjs/src/utils/__tests__/batchAsync.test.js +47 -0
- package/dist/cjs/src/utils/__tests__/batchAsync.test.js.map +1 -0
- package/dist/cjs/src/utils/assertNever.d.ts.map +1 -0
- package/dist/cjs/src/utils/assertNever.js.map +1 -0
- package/dist/cjs/src/utils/batchAsync.d.ts +2 -0
- package/dist/cjs/src/utils/batchAsync.d.ts.map +1 -0
- package/dist/cjs/src/utils/batchAsync.js +18 -0
- package/dist/cjs/src/utils/batchAsync.js.map +1 -0
- package/dist/cjs/src/utils/index.d.ts +7 -0
- package/dist/cjs/src/utils/index.d.ts.map +1 -0
- package/dist/cjs/{utils → src/utils}/index.js +3 -0
- package/dist/cjs/src/utils/index.js.map +1 -0
- package/dist/cjs/src/utils/logNever.d.ts.map +1 -0
- package/dist/cjs/src/utils/logNever.js.map +1 -0
- package/dist/cjs/src/utils/promiseAllValues.d.ts.map +1 -0
- package/dist/cjs/src/utils/promiseAllValues.js.map +1 -0
- package/dist/cjs/src/utils/replaceAt.d.ts +10 -0
- package/dist/cjs/src/utils/replaceAt.d.ts.map +1 -0
- package/dist/cjs/src/utils/replaceAt.js +17 -0
- package/dist/cjs/src/utils/replaceAt.js.map +1 -0
- package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts +17 -0
- package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts.map +1 -0
- package/dist/cjs/src/utils/zodKeyedTypeUnion.js +15 -0
- package/dist/cjs/src/utils/zodKeyedTypeUnion.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/vitest.config.d.ts +3 -0
- package/dist/cjs/vitest.config.d.ts.map +1 -0
- package/dist/cjs/vitest.config.js +5 -0
- package/dist/cjs/vitest.config.js.map +1 -0
- package/dist/esnext/{config → src/config}/getEnvConfig.d.ts +26 -26
- package/dist/esnext/src/config/getEnvConfig.d.ts.map +1 -0
- package/dist/esnext/{config → src/config}/getEnvConfig.js +5 -1
- package/dist/esnext/src/config/getEnvConfig.js.map +1 -0
- package/dist/esnext/src/config/index.d.ts.map +1 -0
- package/dist/esnext/src/config/index.js.map +1 -0
- package/dist/esnext/src/index.d.ts.map +1 -0
- package/dist/esnext/src/index.js.map +1 -0
- package/dist/esnext/src/utils/__tests__/assertNever.test.d.ts.map +1 -0
- package/dist/esnext/{utils → src/utils}/__tests__/assertNever.test.js +1 -0
- package/dist/esnext/{utils → src/utils}/__tests__/assertNever.test.js.map +1 -1
- package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts +2 -0
- package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts.map +1 -0
- package/dist/esnext/src/utils/__tests__/batchAsync.test.js +45 -0
- package/dist/esnext/src/utils/__tests__/batchAsync.test.js.map +1 -0
- package/dist/esnext/src/utils/assertNever.d.ts.map +1 -0
- package/dist/esnext/src/utils/assertNever.js.map +1 -0
- package/dist/esnext/src/utils/batchAsync.d.ts +2 -0
- package/dist/esnext/src/utils/batchAsync.d.ts.map +1 -0
- package/dist/esnext/src/utils/batchAsync.js +15 -0
- package/dist/esnext/src/utils/batchAsync.js.map +1 -0
- package/dist/esnext/src/utils/index.d.ts +7 -0
- package/dist/esnext/src/utils/index.d.ts.map +1 -0
- package/dist/esnext/src/utils/index.js +7 -0
- package/dist/esnext/src/utils/index.js.map +1 -0
- package/dist/esnext/src/utils/logNever.d.ts.map +1 -0
- package/dist/esnext/src/utils/logNever.js.map +1 -0
- package/dist/esnext/src/utils/promiseAllValues.d.ts.map +1 -0
- package/dist/esnext/src/utils/promiseAllValues.js.map +1 -0
- package/dist/esnext/src/utils/replaceAt.d.ts +10 -0
- package/dist/esnext/src/utils/replaceAt.d.ts.map +1 -0
- package/dist/esnext/src/utils/replaceAt.js +14 -0
- package/dist/esnext/src/utils/replaceAt.js.map +1 -0
- package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts +17 -0
- package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts.map +1 -0
- package/dist/esnext/src/utils/zodKeyedTypeUnion.js +12 -0
- package/dist/esnext/src/utils/zodKeyedTypeUnion.js.map +1 -0
- package/dist/esnext/tsconfig.tsbuildinfo +1 -1
- package/dist/esnext/vitest.config.d.ts +3 -0
- package/dist/esnext/vitest.config.d.ts.map +1 -0
- package/dist/esnext/vitest.config.js +3 -0
- package/dist/esnext/vitest.config.js.map +1 -0
- package/package.json +7 -6
- package/dist/cjs/config/getEnvConfig.d.ts.map +0 -1
- package/dist/cjs/config/getEnvConfig.js.map +0 -1
- package/dist/cjs/config/index.d.ts.map +0 -1
- package/dist/cjs/config/index.js.map +0 -1
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/utils/__tests__/assertNever.test.d.ts.map +0 -1
- package/dist/cjs/utils/__tests__/assertNever.test.js.map +0 -1
- package/dist/cjs/utils/assertNever.d.ts.map +0 -1
- package/dist/cjs/utils/assertNever.js.map +0 -1
- package/dist/cjs/utils/index.d.ts +0 -4
- package/dist/cjs/utils/index.d.ts.map +0 -1
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/logNever.d.ts.map +0 -1
- package/dist/cjs/utils/logNever.js.map +0 -1
- package/dist/cjs/utils/promiseAllValues.d.ts.map +0 -1
- package/dist/cjs/utils/promiseAllValues.js.map +0 -1
- package/dist/esnext/config/getEnvConfig.d.ts.map +0 -1
- package/dist/esnext/config/getEnvConfig.js.map +0 -1
- package/dist/esnext/config/index.d.ts.map +0 -1
- package/dist/esnext/config/index.js.map +0 -1
- package/dist/esnext/index.d.ts.map +0 -1
- package/dist/esnext/index.js.map +0 -1
- package/dist/esnext/utils/__tests__/assertNever.test.d.ts.map +0 -1
- package/dist/esnext/utils/assertNever.d.ts.map +0 -1
- package/dist/esnext/utils/assertNever.js.map +0 -1
- package/dist/esnext/utils/index.d.ts +0 -4
- package/dist/esnext/utils/index.d.ts.map +0 -1
- package/dist/esnext/utils/index.js +0 -4
- package/dist/esnext/utils/index.js.map +0 -1
- package/dist/esnext/utils/logNever.d.ts.map +0 -1
- package/dist/esnext/utils/logNever.js.map +0 -1
- package/dist/esnext/utils/promiseAllValues.d.ts.map +0 -1
- package/dist/esnext/utils/promiseAllValues.js.map +0 -1
- /package/dist/cjs/{config → src/config}/index.d.ts +0 -0
- /package/dist/cjs/{config → src/config}/index.js +0 -0
- /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/cjs/{index.js → src/index.js} +0 -0
- /package/dist/cjs/{utils → src/utils}/__tests__/assertNever.test.d.ts +0 -0
- /package/dist/cjs/{utils → src/utils}/assertNever.d.ts +0 -0
- /package/dist/cjs/{utils → src/utils}/assertNever.js +0 -0
- /package/dist/cjs/{utils → src/utils}/logNever.d.ts +0 -0
- /package/dist/cjs/{utils → src/utils}/logNever.js +0 -0
- /package/dist/cjs/{utils → src/utils}/promiseAllValues.d.ts +0 -0
- /package/dist/cjs/{utils → src/utils}/promiseAllValues.js +0 -0
- /package/dist/esnext/{config → src/config}/index.d.ts +0 -0
- /package/dist/esnext/{config → src/config}/index.js +0 -0
- /package/dist/esnext/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/esnext/{index.js → src/index.js} +0 -0
- /package/dist/esnext/{utils → src/utils}/__tests__/assertNever.test.d.ts +0 -0
- /package/dist/esnext/{utils → src/utils}/assertNever.d.ts +0 -0
- /package/dist/esnext/{utils → src/utils}/assertNever.js +0 -0
- /package/dist/esnext/{utils → src/utils}/logNever.d.ts +0 -0
- /package/dist/esnext/{utils → src/utils}/logNever.js +0 -0
- /package/dist/esnext/{utils → src/utils}/promiseAllValues.d.ts +0 -0
- /package/dist/esnext/{utils → src/utils}/promiseAllValues.js +0 -0
|
@@ -5,12 +5,12 @@ export declare const BASE_ENV_SCHEMA: z.ZodObject<{
|
|
|
5
5
|
production: "production";
|
|
6
6
|
test: "test";
|
|
7
7
|
}>>;
|
|
8
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
8
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
9
9
|
debug: "debug";
|
|
10
10
|
info: "info";
|
|
11
11
|
warn: "warn";
|
|
12
12
|
error: "error";
|
|
13
|
-
}
|
|
13
|
+
}>>>;
|
|
14
14
|
}, z.core.$strip>;
|
|
15
15
|
export type BaseEnvConfig = z.infer<typeof BASE_ENV_SCHEMA>;
|
|
16
16
|
export declare function createEnvConfig<TExtension extends z.ZodRawShape>(extensionSchema: z.ZodObject<TExtension>): {
|
|
@@ -20,72 +20,72 @@ export declare function createEnvConfig<TExtension extends z.ZodRawShape>(extens
|
|
|
20
20
|
production: "production";
|
|
21
21
|
test: "test";
|
|
22
22
|
}>>;
|
|
23
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
23
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
24
24
|
debug: "debug";
|
|
25
25
|
info: "info";
|
|
26
26
|
warn: "warn";
|
|
27
27
|
error: "error";
|
|
28
|
-
}
|
|
28
|
+
}>>>;
|
|
29
29
|
} & TExtension : ({
|
|
30
30
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
31
31
|
development: "development";
|
|
32
32
|
production: "production";
|
|
33
33
|
test: "test";
|
|
34
34
|
}>>;
|
|
35
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
35
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
36
36
|
debug: "debug";
|
|
37
37
|
info: "info";
|
|
38
38
|
warn: "warn";
|
|
39
39
|
error: "error";
|
|
40
|
-
}
|
|
40
|
+
}>>>;
|
|
41
41
|
} extends infer T_2 extends z.core.util.SomeObject ? { [K in keyof T_2 as K extends keyof TExtension ? never : K]: {
|
|
42
42
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
43
43
|
development: "development";
|
|
44
44
|
production: "production";
|
|
45
45
|
test: "test";
|
|
46
46
|
}>>;
|
|
47
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
47
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
48
48
|
debug: "debug";
|
|
49
49
|
info: "info";
|
|
50
50
|
warn: "warn";
|
|
51
51
|
error: "error";
|
|
52
|
-
}
|
|
52
|
+
}>>>;
|
|
53
53
|
}[K]; } : never) & { [K_1 in keyof TExtension]: TExtension[K_1]; }) extends infer T ? { [k in keyof T]: (("NODE_ENV" | "LOG_LEVEL") & keyof TExtension extends never ? {
|
|
54
54
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
55
55
|
development: "development";
|
|
56
56
|
production: "production";
|
|
57
57
|
test: "test";
|
|
58
58
|
}>>;
|
|
59
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
59
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
60
60
|
debug: "debug";
|
|
61
61
|
info: "info";
|
|
62
62
|
warn: "warn";
|
|
63
63
|
error: "error";
|
|
64
|
-
}
|
|
64
|
+
}>>>;
|
|
65
65
|
} & TExtension : ({
|
|
66
66
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
67
67
|
development: "development";
|
|
68
68
|
production: "production";
|
|
69
69
|
test: "test";
|
|
70
70
|
}>>;
|
|
71
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
71
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
72
72
|
debug: "debug";
|
|
73
73
|
info: "info";
|
|
74
74
|
warn: "warn";
|
|
75
75
|
error: "error";
|
|
76
|
-
}
|
|
76
|
+
}>>>;
|
|
77
77
|
} extends infer T_1 extends z.core.util.SomeObject ? { [K in keyof T_1 as K extends keyof TExtension ? never : K]: {
|
|
78
78
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
79
79
|
development: "development";
|
|
80
80
|
production: "production";
|
|
81
81
|
test: "test";
|
|
82
82
|
}>>;
|
|
83
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
83
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
84
84
|
debug: "debug";
|
|
85
85
|
info: "info";
|
|
86
86
|
warn: "warn";
|
|
87
87
|
error: "error";
|
|
88
|
-
}
|
|
88
|
+
}>>>;
|
|
89
89
|
}[K]; } : never) & { [K_1 in keyof TExtension]: TExtension[K_1]; })[k]; } : never, {}>;
|
|
90
90
|
schema: z.ZodObject<(("NODE_ENV" | "LOG_LEVEL") & keyof TExtension extends never ? {
|
|
91
91
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
@@ -93,72 +93,72 @@ export declare function createEnvConfig<TExtension extends z.ZodRawShape>(extens
|
|
|
93
93
|
production: "production";
|
|
94
94
|
test: "test";
|
|
95
95
|
}>>;
|
|
96
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
96
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
97
97
|
debug: "debug";
|
|
98
98
|
info: "info";
|
|
99
99
|
warn: "warn";
|
|
100
100
|
error: "error";
|
|
101
|
-
}
|
|
101
|
+
}>>>;
|
|
102
102
|
} & TExtension : ({
|
|
103
103
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
104
104
|
development: "development";
|
|
105
105
|
production: "production";
|
|
106
106
|
test: "test";
|
|
107
107
|
}>>;
|
|
108
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
108
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
109
109
|
debug: "debug";
|
|
110
110
|
info: "info";
|
|
111
111
|
warn: "warn";
|
|
112
112
|
error: "error";
|
|
113
|
-
}
|
|
113
|
+
}>>>;
|
|
114
114
|
} extends infer T_2 extends z.core.util.SomeObject ? { [K in keyof T_2 as K extends keyof TExtension ? never : K]: {
|
|
115
115
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
116
116
|
development: "development";
|
|
117
117
|
production: "production";
|
|
118
118
|
test: "test";
|
|
119
119
|
}>>;
|
|
120
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
120
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
121
121
|
debug: "debug";
|
|
122
122
|
info: "info";
|
|
123
123
|
warn: "warn";
|
|
124
124
|
error: "error";
|
|
125
|
-
}
|
|
125
|
+
}>>>;
|
|
126
126
|
}[K]; } : never) & { [K_1 in keyof TExtension]: TExtension[K_1]; }) extends infer T ? { [k in keyof T]: (("NODE_ENV" | "LOG_LEVEL") & keyof TExtension extends never ? {
|
|
127
127
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
128
128
|
development: "development";
|
|
129
129
|
production: "production";
|
|
130
130
|
test: "test";
|
|
131
131
|
}>>;
|
|
132
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
132
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
133
133
|
debug: "debug";
|
|
134
134
|
info: "info";
|
|
135
135
|
warn: "warn";
|
|
136
136
|
error: "error";
|
|
137
|
-
}
|
|
137
|
+
}>>>;
|
|
138
138
|
} & TExtension : ({
|
|
139
139
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
140
140
|
development: "development";
|
|
141
141
|
production: "production";
|
|
142
142
|
test: "test";
|
|
143
143
|
}>>;
|
|
144
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
144
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
145
145
|
debug: "debug";
|
|
146
146
|
info: "info";
|
|
147
147
|
warn: "warn";
|
|
148
148
|
error: "error";
|
|
149
|
-
}
|
|
149
|
+
}>>>;
|
|
150
150
|
} extends infer T_1 extends z.core.util.SomeObject ? { [K in keyof T_1 as K extends keyof TExtension ? never : K]: {
|
|
151
151
|
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
152
152
|
development: "development";
|
|
153
153
|
production: "production";
|
|
154
154
|
test: "test";
|
|
155
155
|
}>>;
|
|
156
|
-
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
156
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
157
157
|
debug: "debug";
|
|
158
158
|
info: "info";
|
|
159
159
|
warn: "warn";
|
|
160
160
|
error: "error";
|
|
161
|
-
}
|
|
161
|
+
}>>>;
|
|
162
162
|
}[K]; } : never) & { [K_1 in keyof TExtension]: TExtension[K_1]; })[k]; } : never, z.core.$strip>;
|
|
163
163
|
};
|
|
164
164
|
//# sourceMappingURL=getEnvConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvConfig.d.ts","sourceRoot":"","sources":["../../../../src/config/getEnvConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;iBAS1B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAG5D,wBAAgB,eAAe,CAAC,UAAU,SAAS,CAAC,CAAC,WAAW,EAC9D,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAezC"}
|
|
@@ -9,7 +9,11 @@ exports.BASE_ENV_SCHEMA = zod_1.z.object({
|
|
|
9
9
|
NODE_ENV: zod_1.z
|
|
10
10
|
.enum(["development", "production", "test"])
|
|
11
11
|
.default("development"),
|
|
12
|
-
LOG_LEVEL: zod_1.z
|
|
12
|
+
LOG_LEVEL: zod_1.z
|
|
13
|
+
.string()
|
|
14
|
+
.toLowerCase()
|
|
15
|
+
.pipe(zod_1.z.enum(["debug", "info", "warn", "error"]))
|
|
16
|
+
.default("info"),
|
|
13
17
|
});
|
|
14
18
|
// Factory that creates a configured getEnvConfig
|
|
15
19
|
function createEnvConfig(extensionSchema) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvConfig.js","sourceRoot":"","sources":["../../../../src/config/getEnvConfig.ts"],"names":[],"mappings":";;;AAkBA,0CAgBC;AAlCD,0CAA0C;AAC1C,6BAAwB;AAExB,gCAAgC;AACnB,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,OAAC;SACR,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;SAC3C,OAAO,CAAC,aAAa,CAAC;IACzB,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,WAAW,EAAE;SACb,IAAI,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SAChD,OAAO,CAAC,MAAM,CAAC;CACnB,CAAC,CAAC;AAIH,iDAAiD;AACjD,SAAgB,eAAe,CAC7B,eAAwC;IAExC,MAAM,MAAM,GAAG,uBAAe,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAG7D,IAAI,OAA2B,CAAC;IAEhC,SAAS,YAAY;QACnB,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/__tests__/assertNever.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
3
4
|
const assertNever_1 = require("../assertNever");
|
|
4
|
-
describe(assertNever_1.assertNever, () => {
|
|
5
|
-
it("throws an error on unhandled types", () => {
|
|
5
|
+
(0, vitest_1.describe)(assertNever_1.assertNever, () => {
|
|
6
|
+
(0, vitest_1.it)("throws an error on unhandled types", () => {
|
|
6
7
|
function getInvalidType() {
|
|
7
8
|
return 0;
|
|
8
9
|
}
|
|
9
|
-
expect(() => {
|
|
10
|
+
(0, vitest_1.expect)(() => {
|
|
10
11
|
const invalidType = getInvalidType();
|
|
11
12
|
switch (invalidType) {
|
|
12
13
|
case 1:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.test.js","sourceRoot":"","sources":["../../../../../src/utils/__tests__/assertNever.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,gDAA6C;AAE7C,IAAA,iBAAQ,EAAC,yBAAW,EAAE,GAAG,EAAE;IACzB,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAG5C,SAAS,cAAc;YACrB,OAAO,CAAU,CAAC;QACpB,CAAC;QAED,IAAA,eAAM,EAAC,GAAG,EAAE;YACV,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;YACrC,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,CAAC,CAAC;gBACP,KAAK,CAAC;oBACJ,OAAO;gBACT;oBACE,IAAA,yBAAW,EAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/__tests__/batchAsync.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const batchAsync_1 = require("../batchAsync");
|
|
5
|
+
(0, vitest_1.describe)(batchAsync_1.batchAsync, () => {
|
|
6
|
+
(0, vitest_1.it)("processes all items and returns results in order", async () => {
|
|
7
|
+
const values = [1, 2, 3, 4, 5];
|
|
8
|
+
const result = await (0, batchAsync_1.batchAsync)(values, 2, (v) => Promise.resolve(v * 10));
|
|
9
|
+
(0, vitest_1.expect)(result).toEqual([10, 20, 30, 40, 50]);
|
|
10
|
+
});
|
|
11
|
+
(0, vitest_1.it)("passes the original index to the iteratee", async () => {
|
|
12
|
+
const values = ["a", "b", "c"];
|
|
13
|
+
const indices = [];
|
|
14
|
+
await (0, batchAsync_1.batchAsync)(values, 2, (_v, index) => {
|
|
15
|
+
indices.push(index);
|
|
16
|
+
return Promise.resolve();
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.expect)(indices).toEqual([0, 1, 2]);
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.it)("processes items in batches of the given size", async () => {
|
|
21
|
+
const concurrencyLog = [];
|
|
22
|
+
let inFlight = 0;
|
|
23
|
+
const values = [1, 2, 3, 4, 5];
|
|
24
|
+
await (0, batchAsync_1.batchAsync)(values, 2, async (v) => {
|
|
25
|
+
inFlight++;
|
|
26
|
+
concurrencyLog.push(inFlight);
|
|
27
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
28
|
+
inFlight--;
|
|
29
|
+
return v;
|
|
30
|
+
});
|
|
31
|
+
// Each batch should have at most 2 in flight
|
|
32
|
+
(0, vitest_1.expect)(Math.max(...concurrencyLog)).toBeLessThanOrEqual(2);
|
|
33
|
+
});
|
|
34
|
+
(0, vitest_1.it)("returns an empty array for empty input", async () => {
|
|
35
|
+
const result = await (0, batchAsync_1.batchAsync)([], 5, (v) => Promise.resolve(v));
|
|
36
|
+
(0, vitest_1.expect)(result).toEqual([]);
|
|
37
|
+
});
|
|
38
|
+
(0, vitest_1.it)("handles batch size larger than input", async () => {
|
|
39
|
+
const result = await (0, batchAsync_1.batchAsync)([1, 2], 100, (v) => Promise.resolve(v * 2));
|
|
40
|
+
(0, vitest_1.expect)(result).toEqual([2, 4]);
|
|
41
|
+
});
|
|
42
|
+
(0, vitest_1.it)("throws when batchSize is 0 or negative", async () => {
|
|
43
|
+
await (0, vitest_1.expect)((0, batchAsync_1.batchAsync)([1], 0, (v) => Promise.resolve(v))).rejects.toThrow("batchSize must be greater than 0");
|
|
44
|
+
await (0, vitest_1.expect)((0, batchAsync_1.batchAsync)([1], -1, (v) => Promise.resolve(v))).rejects.toThrow("batchSize must be greater than 0");
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=batchAsync.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.test.js","sourceRoot":"","sources":["../../../../../src/utils/__tests__/batchAsync.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.d.ts","sourceRoot":"","sources":["../../../../src/utils/assertNever.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAE/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.js","sourceRoot":"","sources":["../../../../src/utils/assertNever.ts"],"names":[],"mappings":";;AAAA,kCAEC;AAFD,SAAgB,WAAW,CAAC,KAAY;IACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.d.ts","sourceRoot":"","sources":["../../../../src/utils/batchAsync.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,MAAM,EAAE,OAAO,EAC9C,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAC3D,OAAO,CAAC,OAAO,EAAE,CAAC,CAgBpB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.batchAsync = batchAsync;
|
|
4
|
+
const lodash_es_1 = require("lodash-es");
|
|
5
|
+
async function batchAsync(values, batchSize, iteratee) {
|
|
6
|
+
if (batchSize <= 0) {
|
|
7
|
+
throw new Error("batchSize must be greater than 0");
|
|
8
|
+
}
|
|
9
|
+
const results = [];
|
|
10
|
+
const valuesWithIndex = values.map((value, index) => [value, index]);
|
|
11
|
+
const chunkedValues = (0, lodash_es_1.chunk)(valuesWithIndex, batchSize);
|
|
12
|
+
for (const chunkGroup of chunkedValues) {
|
|
13
|
+
const chunkResults = await Promise.all(chunkGroup.map(([value, index]) => iteratee(value, index)));
|
|
14
|
+
results.push(chunkResults);
|
|
15
|
+
}
|
|
16
|
+
return (0, lodash_es_1.flatten)(results);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=batchAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.js","sourceRoot":"","sources":["../../../../src/utils/batchAsync.ts"],"names":[],"mappings":";;AAEA,gCAoBC;AAtBD,yCAA2C;AAEpC,KAAK,UAAU,UAAU,CAC9B,MAAgB,EAChB,SAAiB,EACjB,QAA4D;IAE5D,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAChC,CAAC,KAAK,EAAE,KAAK,EAAkC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CACjE,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,iBAAK,EAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACxD,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAC3D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAA,mBAAO,EAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|
|
@@ -15,6 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./assertNever"), exports);
|
|
18
|
+
__exportStar(require("./batchAsync"), exports);
|
|
18
19
|
__exportStar(require("./logNever"), exports);
|
|
19
20
|
__exportStar(require("./promiseAllValues"), exports);
|
|
21
|
+
__exportStar(require("./replaceAt"), exports);
|
|
22
|
+
__exportStar(require("./zodKeyedTypeUnion"), exports);
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,6CAA2B;AAC3B,qDAAmC;AACnC,8CAA4B;AAC5B,sDAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logNever.d.ts","sourceRoot":"","sources":["../../../../src/utils/logNever.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;AAC7C,wBAAgB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logNever.js","sourceRoot":"","sources":["../../../../src/utils/logNever.ts"],"names":[],"mappings":";;AAEA,4BAGC;AAHD,SAAgB,QAAQ,CAAC,KAAY,EAAE,WAAqB;IAC1D,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseAllValues.d.ts","sourceRoot":"","sources":["../../../../src/utils/promiseAllValues.ts"],"names":[],"mappings":"AAEA,KAAK,aAAa,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAWZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseAllValues.js","sourceRoot":"","sources":["../../../../src/utils/promiseAllValues.ts"],"names":[],"mappings":";;AAMA,4CAaC;AAnBD,yCAAsC;AAM/B,KAAK,UAAU,gBAAgB,CACpC,aAA+B;IAE/B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,EAA8B,EAAE,CAAC;QACpD,GAAG;QACH,MAAM,OAAO;KACd,CACF,CACF,CAAC;IAEF,OAAO,IAAA,qBAAS,EAAC,OAAO,CAAM,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a new array with the element at the specified index replaced.
|
|
3
|
+
*
|
|
4
|
+
* @param array The source array
|
|
5
|
+
* @param index The index of the element to replace
|
|
6
|
+
* @param value The new value to insert at the index
|
|
7
|
+
* @returns A new array with the replacement applied
|
|
8
|
+
*/
|
|
9
|
+
export declare function replaceAt<T>(array: T[], index: number, value: T): T[];
|
|
10
|
+
//# sourceMappingURL=replaceAt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceAt.d.ts","sourceRoot":"","sources":["../../../../src/utils/replaceAt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAIrE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceAt = replaceAt;
|
|
4
|
+
/**
|
|
5
|
+
* Returns a new array with the element at the specified index replaced.
|
|
6
|
+
*
|
|
7
|
+
* @param array The source array
|
|
8
|
+
* @param index The index of the element to replace
|
|
9
|
+
* @param value The new value to insert at the index
|
|
10
|
+
* @returns A new array with the replacement applied
|
|
11
|
+
*/
|
|
12
|
+
function replaceAt(array, index, value) {
|
|
13
|
+
const newArray = [...array];
|
|
14
|
+
newArray[index] = value;
|
|
15
|
+
return newArray;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=replaceAt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceAt.js","sourceRoot":"","sources":["../../../../src/utils/replaceAt.ts"],"names":[],"mappings":";;AAQA,8BAIC;AAZD;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAI,KAAU,EAAE,KAAa,EAAE,KAAQ;IAC9D,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type KeyedTypeUnion, type ValueForTypeKey } from "keyed-type-union";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
type SchemasByType<TTypeUnion extends KeyedTypeUnion<Record<string, unknown>, TTypeKey>, TTypeKey extends string = "type"> = {
|
|
4
|
+
[TType in TTypeUnion[TTypeKey]]: z.ZodType<ValueForTypeKey<TTypeUnion, TType, TTypeKey>>;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Creates a Zod schema for a discriminated union of type-union types.
|
|
8
|
+
* We can use this util alongside keyed-type-union for stricter type union patterns.
|
|
9
|
+
*
|
|
10
|
+
* @param schemasByType A record of type keys to their corresponding Zod schemas.
|
|
11
|
+
* @param typeKey The optional key used to discriminate between the different types in the union.
|
|
12
|
+
* @returns A Zod schema for the discriminated union.
|
|
13
|
+
*/
|
|
14
|
+
export declare function zodKeyedTypeUnion<TTypeUnion extends KeyedTypeUnion<Record<string, unknown>>>(schemasByType: SchemasByType<TTypeUnion>): z.ZodType<TTypeUnion>;
|
|
15
|
+
export declare function zodKeyedTypeUnion<TTypeUnion extends KeyedTypeUnion<Record<string, unknown>, TTypeKey>, TTypeKey extends string>(schemasByType: SchemasByType<TTypeUnion, TTypeKey>, typeKey: TTypeKey): z.ZodType<TTypeUnion>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=zodKeyedTypeUnion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zodKeyedTypeUnion.d.ts","sourceRoot":"","sources":["../../../../src/utils/zodKeyedTypeUnion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,KAAK,aAAa,CAChB,UAAU,SAAS,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EACpE,QAAQ,SAAS,MAAM,GAAG,MAAM,IAC9B;KACD,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CACxC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC7C;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,SAAS,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC1D,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnE,wBAAgB,iBAAiB,CAC/B,UAAU,SAAS,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EACpE,QAAQ,SAAS,MAAM,EAEvB,aAAa,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClD,OAAO,EAAE,QAAQ,GAChB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.zodKeyedTypeUnion = zodKeyedTypeUnion;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
function zodKeyedTypeUnion(schemasByType, typeKey = "type") {
|
|
6
|
+
/**
|
|
7
|
+
* There are a lot of casts here because of our fancy generics.
|
|
8
|
+
* We won't worry about them for now; we'll just use our tests to ensure runtime safety.
|
|
9
|
+
*/
|
|
10
|
+
return zod_1.z.discriminatedUnion(typeKey, Object.entries(schemasByType).map(([type, schema]) => zod_1.z.object({
|
|
11
|
+
[typeKey]: zod_1.z.literal(type),
|
|
12
|
+
[type]: schema,
|
|
13
|
+
})));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=zodKeyedTypeUnion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zodKeyedTypeUnion.js","sourceRoot":"","sources":["../../../../src/utils/zodKeyedTypeUnion.ts"],"names":[],"mappings":";;AA8BA,8CAoBC;AAjDD,6BAAwB;AA6BxB,SAAgB,iBAAiB,CAI/B,aAAkD,EAClD,UAAoB,MAAe;IAEnC;;;OAGG;IACH,OAAO,OAAC,CAAC,kBAAkB,CACzB,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CACnD,OAAC,CAAC,MAAM,CAAC;QACP,CAAC,OAAO,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1B,CAAC,IAAI,CAAC,EAAE,MAAe;KACxB,CAAC,CACM,CACF,CAAC;AACb,CAAC"}
|