@percepta/utils 0.1.10 → 0.1.11
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/config/getEnvConfig.cjs +32 -0
- package/dist/config/getEnvConfig.cjs.map +1 -0
- package/dist/config/getEnvConfig.d.cts +72 -0
- package/dist/config/getEnvConfig.d.cts.map +1 -0
- package/dist/config/getEnvConfig.d.ts +72 -0
- package/dist/config/getEnvConfig.d.ts.map +1 -0
- package/dist/config/getEnvConfig.js +31 -0
- package/dist/config/getEnvConfig.js.map +1 -0
- package/dist/config/index.d.cts +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/index.cjs +16 -0
- package/dist/index.d.cts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/utils/assertNever.cjs +8 -0
- package/dist/utils/assertNever.cjs.map +1 -0
- package/dist/utils/assertNever.d.cts +5 -0
- package/dist/utils/assertNever.d.cts.map +1 -0
- package/dist/utils/assertNever.d.ts +5 -0
- package/dist/utils/assertNever.d.ts.map +1 -0
- package/dist/utils/assertNever.js +8 -0
- package/dist/utils/assertNever.js.map +1 -0
- package/dist/utils/batchAsync.cjs +16 -0
- package/dist/utils/batchAsync.cjs.map +1 -0
- package/dist/utils/batchAsync.d.cts +5 -0
- package/dist/utils/batchAsync.d.cts.map +1 -0
- package/dist/utils/batchAsync.d.ts +5 -0
- package/dist/utils/batchAsync.d.ts.map +1 -0
- package/dist/utils/batchAsync.js +16 -0
- package/dist/utils/batchAsync.js.map +1 -0
- package/dist/utils/index.d.cts +6 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/logNever.cjs +9 -0
- package/dist/utils/logNever.cjs.map +1 -0
- package/dist/utils/logNever.d.cts +6 -0
- package/dist/utils/logNever.d.cts.map +1 -0
- package/dist/utils/logNever.d.ts +6 -0
- package/dist/utils/logNever.d.ts.map +1 -0
- package/dist/utils/logNever.js +9 -0
- package/dist/utils/logNever.js.map +1 -0
- package/dist/utils/promiseAllValues.cjs +9 -0
- package/dist/utils/promiseAllValues.cjs.map +1 -0
- package/dist/utils/promiseAllValues.d.cts +6 -0
- package/dist/utils/promiseAllValues.d.cts.map +1 -0
- package/dist/utils/promiseAllValues.d.ts +6 -0
- package/dist/utils/promiseAllValues.d.ts.map +1 -0
- package/dist/utils/promiseAllValues.js +9 -0
- package/dist/utils/promiseAllValues.js.map +1 -0
- package/dist/utils/replaceAt.cjs +18 -0
- package/dist/utils/replaceAt.cjs.map +1 -0
- package/dist/{esnext/src/utils/replaceAt.d.ts → utils/replaceAt.d.cts} +5 -2
- package/dist/utils/replaceAt.d.cts.map +1 -0
- package/dist/{cjs/src/utils → utils}/replaceAt.d.ts +4 -1
- package/dist/utils/replaceAt.d.ts.map +1 -0
- package/dist/utils/replaceAt.js +18 -0
- package/dist/utils/replaceAt.js.map +1 -0
- package/dist/utils/zodKeyedTypeUnion.cjs +16 -0
- package/dist/utils/zodKeyedTypeUnion.cjs.map +1 -0
- package/dist/utils/zodKeyedTypeUnion.d.cts +18 -0
- package/dist/utils/zodKeyedTypeUnion.d.cts.map +1 -0
- package/dist/utils/zodKeyedTypeUnion.d.ts +18 -0
- package/dist/utils/zodKeyedTypeUnion.d.ts.map +1 -0
- package/dist/utils/zodKeyedTypeUnion.js +16 -0
- package/dist/utils/zodKeyedTypeUnion.js.map +1 -0
- package/package.json +27 -17
- package/dist/cjs/src/config/getEnvConfig.d.ts +0 -164
- package/dist/cjs/src/config/getEnvConfig.d.ts.map +0 -1
- package/dist/cjs/src/config/getEnvConfig.js +0 -30
- package/dist/cjs/src/config/getEnvConfig.js.map +0 -1
- package/dist/cjs/src/config/index.d.ts +0 -2
- package/dist/cjs/src/config/index.d.ts.map +0 -1
- package/dist/cjs/src/config/index.js +0 -18
- package/dist/cjs/src/config/index.js.map +0 -1
- package/dist/cjs/src/index.d.ts +0 -3
- package/dist/cjs/src/index.d.ts.map +0 -1
- package/dist/cjs/src/index.js +0 -19
- package/dist/cjs/src/index.js.map +0 -1
- package/dist/cjs/src/utils/__tests__/assertNever.test.d.ts +0 -2
- package/dist/cjs/src/utils/__tests__/assertNever.test.d.ts.map +0 -1
- package/dist/cjs/src/utils/__tests__/assertNever.test.js +0 -22
- package/dist/cjs/src/utils/__tests__/assertNever.test.js.map +0 -1
- package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts +0 -2
- package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts.map +0 -1
- package/dist/cjs/src/utils/__tests__/batchAsync.test.js +0 -47
- package/dist/cjs/src/utils/__tests__/batchAsync.test.js.map +0 -1
- package/dist/cjs/src/utils/assertNever.d.ts +0 -2
- package/dist/cjs/src/utils/assertNever.d.ts.map +0 -1
- package/dist/cjs/src/utils/assertNever.js +0 -7
- package/dist/cjs/src/utils/assertNever.js.map +0 -1
- package/dist/cjs/src/utils/batchAsync.d.ts +0 -2
- package/dist/cjs/src/utils/batchAsync.d.ts.map +0 -1
- package/dist/cjs/src/utils/batchAsync.js +0 -18
- package/dist/cjs/src/utils/batchAsync.js.map +0 -1
- package/dist/cjs/src/utils/index.d.ts +0 -7
- package/dist/cjs/src/utils/index.d.ts.map +0 -1
- package/dist/cjs/src/utils/index.js +0 -23
- package/dist/cjs/src/utils/index.js.map +0 -1
- package/dist/cjs/src/utils/logNever.d.ts +0 -3
- package/dist/cjs/src/utils/logNever.d.ts.map +0 -1
- package/dist/cjs/src/utils/logNever.js +0 -8
- package/dist/cjs/src/utils/logNever.js.map +0 -1
- package/dist/cjs/src/utils/promiseAllValues.d.ts +0 -6
- package/dist/cjs/src/utils/promiseAllValues.d.ts.map +0 -1
- package/dist/cjs/src/utils/promiseAllValues.js +0 -12
- package/dist/cjs/src/utils/promiseAllValues.js.map +0 -1
- package/dist/cjs/src/utils/replaceAt.d.ts.map +0 -1
- package/dist/cjs/src/utils/replaceAt.js +0 -17
- package/dist/cjs/src/utils/replaceAt.js.map +0 -1
- package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts +0 -17
- package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts.map +0 -1
- package/dist/cjs/src/utils/zodKeyedTypeUnion.js +0 -15
- package/dist/cjs/src/utils/zodKeyedTypeUnion.js.map +0 -1
- package/dist/cjs/tsconfig.tsbuildinfo +0 -1
- package/dist/cjs/vitest.config.d.ts +0 -3
- package/dist/cjs/vitest.config.d.ts.map +0 -1
- package/dist/cjs/vitest.config.js +0 -5
- package/dist/cjs/vitest.config.js.map +0 -1
- package/dist/esnext/src/config/getEnvConfig.d.ts +0 -164
- package/dist/esnext/src/config/getEnvConfig.d.ts.map +0 -1
- package/dist/esnext/src/config/getEnvConfig.js +0 -26
- package/dist/esnext/src/config/getEnvConfig.js.map +0 -1
- package/dist/esnext/src/config/index.d.ts +0 -2
- package/dist/esnext/src/config/index.d.ts.map +0 -1
- package/dist/esnext/src/config/index.js +0 -2
- package/dist/esnext/src/config/index.js.map +0 -1
- package/dist/esnext/src/index.d.ts +0 -3
- package/dist/esnext/src/index.d.ts.map +0 -1
- package/dist/esnext/src/index.js +0 -3
- package/dist/esnext/src/index.js.map +0 -1
- package/dist/esnext/src/utils/__tests__/assertNever.test.d.ts +0 -2
- package/dist/esnext/src/utils/__tests__/assertNever.test.d.ts.map +0 -1
- package/dist/esnext/src/utils/__tests__/assertNever.test.js +0 -20
- package/dist/esnext/src/utils/__tests__/assertNever.test.js.map +0 -1
- package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts +0 -2
- package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts.map +0 -1
- package/dist/esnext/src/utils/__tests__/batchAsync.test.js +0 -45
- package/dist/esnext/src/utils/__tests__/batchAsync.test.js.map +0 -1
- package/dist/esnext/src/utils/assertNever.d.ts +0 -2
- package/dist/esnext/src/utils/assertNever.d.ts.map +0 -1
- package/dist/esnext/src/utils/assertNever.js +0 -4
- package/dist/esnext/src/utils/assertNever.js.map +0 -1
- package/dist/esnext/src/utils/batchAsync.d.ts +0 -2
- package/dist/esnext/src/utils/batchAsync.d.ts.map +0 -1
- package/dist/esnext/src/utils/batchAsync.js +0 -15
- package/dist/esnext/src/utils/batchAsync.js.map +0 -1
- package/dist/esnext/src/utils/index.d.ts +0 -7
- package/dist/esnext/src/utils/index.d.ts.map +0 -1
- package/dist/esnext/src/utils/index.js +0 -7
- package/dist/esnext/src/utils/index.js.map +0 -1
- package/dist/esnext/src/utils/logNever.d.ts +0 -3
- package/dist/esnext/src/utils/logNever.d.ts.map +0 -1
- package/dist/esnext/src/utils/logNever.js +0 -5
- package/dist/esnext/src/utils/logNever.js.map +0 -1
- package/dist/esnext/src/utils/promiseAllValues.d.ts +0 -6
- package/dist/esnext/src/utils/promiseAllValues.d.ts.map +0 -1
- package/dist/esnext/src/utils/promiseAllValues.js +0 -9
- package/dist/esnext/src/utils/promiseAllValues.js.map +0 -1
- package/dist/esnext/src/utils/replaceAt.d.ts.map +0 -1
- package/dist/esnext/src/utils/replaceAt.js +0 -14
- package/dist/esnext/src/utils/replaceAt.js.map +0 -1
- package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts +0 -17
- package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts.map +0 -1
- package/dist/esnext/src/utils/zodKeyedTypeUnion.js +0 -12
- package/dist/esnext/src/utils/zodKeyedTypeUnion.js.map +0 -1
- package/dist/esnext/tsconfig.tsbuildinfo +0 -1
- package/dist/esnext/vitest.config.d.ts +0 -3
- package/dist/esnext/vitest.config.d.ts.map +0 -1
- package/dist/esnext/vitest.config.js +0 -3
- package/dist/esnext/vitest.config.js.map +0 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
let zod = require("zod");
|
|
2
|
+
//#region src/config/getEnvConfig.ts
|
|
3
|
+
const BASE_ENV_SCHEMA = zod.z.object({
|
|
4
|
+
NODE_ENV: zod.z.enum([
|
|
5
|
+
"development",
|
|
6
|
+
"production",
|
|
7
|
+
"test"
|
|
8
|
+
]).default("development"),
|
|
9
|
+
LOG_LEVEL: zod.z.string().toLowerCase().pipe(zod.z.enum([
|
|
10
|
+
"debug",
|
|
11
|
+
"info",
|
|
12
|
+
"warn",
|
|
13
|
+
"error"
|
|
14
|
+
])).default("info")
|
|
15
|
+
});
|
|
16
|
+
function createEnvConfig(extensionSchema) {
|
|
17
|
+
const schema = BASE_ENV_SCHEMA.extend(extensionSchema.shape);
|
|
18
|
+
let _cached;
|
|
19
|
+
function getEnvConfig() {
|
|
20
|
+
if (_cached == null) _cached = schema.parse(process.env);
|
|
21
|
+
return _cached;
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
getEnvConfig,
|
|
25
|
+
schema
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.BASE_ENV_SCHEMA = BASE_ENV_SCHEMA;
|
|
30
|
+
exports.createEnvConfig = createEnvConfig;
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=getEnvConfig.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvConfig.cjs","names":["z"],"sources":["../../src/config/getEnvConfig.ts"],"sourcesContent":["// @percepta/config/src/createEnvConfig.ts\nimport { z } from \"zod\";\n\n// Base schema that all apps get\nexport const BASE_ENV_SCHEMA = z.object({\n NODE_ENV: z\n .enum([\"development\", \"production\", \"test\"])\n .default(\"development\"),\n LOG_LEVEL: z\n .string()\n .toLowerCase()\n .pipe(z.enum([\"debug\", \"info\", \"warn\", \"error\"]))\n .default(\"info\"),\n});\n\nexport type BaseEnvConfig = z.infer<typeof BASE_ENV_SCHEMA>;\n\n// Factory that creates a configured getEnvConfig\nexport function createEnvConfig<TExtension extends z.ZodRawShape>(\n extensionSchema: z.ZodObject<TExtension>,\n) {\n const schema = BASE_ENV_SCHEMA.extend(extensionSchema.shape);\n type Config = z.infer<typeof schema>;\n\n let _cached: Config | undefined;\n\n function getEnvConfig(): Config {\n if (_cached == null) {\n _cached = schema.parse(process.env);\n }\n return _cached;\n }\n\n return { getEnvConfig, schema };\n}\n"],"mappings":";;AAIA,MAAa,kBAAkBA,IAAAA,EAAE,OAAO;CACtC,UAAUA,IAAAA,EACP,KAAK;EAAC;EAAe;EAAc;EAAO,CAAC,CAC3C,QAAQ,cAAc;CACzB,WAAWA,IAAAA,EACR,QAAQ,CACR,aAAa,CACb,KAAKA,IAAAA,EAAE,KAAK;EAAC;EAAS;EAAQ;EAAQ;EAAQ,CAAC,CAAC,CAChD,QAAQ,OAAO;CACnB,CAAC;AAKF,SAAgB,gBACd,iBACA;CACA,MAAM,SAAS,gBAAgB,OAAO,gBAAgB,MAAM;CAG5D,IAAI;CAEJ,SAAS,eAAuB;AAC9B,MAAI,WAAW,KACb,WAAU,OAAO,MAAM,QAAQ,IAAI;AAErC,SAAO;;AAGT,QAAO;EAAE;EAAc;EAAQ"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/config/getEnvConfig.d.ts
|
|
4
|
+
declare const BASE_ENV_SCHEMA: z.ZodObject<{
|
|
5
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
6
|
+
development: "development";
|
|
7
|
+
production: "production";
|
|
8
|
+
test: "test";
|
|
9
|
+
}>>;
|
|
10
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
11
|
+
debug: "debug";
|
|
12
|
+
info: "info";
|
|
13
|
+
warn: "warn";
|
|
14
|
+
error: "error";
|
|
15
|
+
}>>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
type BaseEnvConfig = z.infer<typeof BASE_ENV_SCHEMA>;
|
|
18
|
+
declare function createEnvConfig<TExtension extends z.ZodRawShape>(extensionSchema: z.ZodObject<TExtension>): {
|
|
19
|
+
getEnvConfig: () => z.core.$InferObjectOutput<(("NODE_ENV" | "LOG_LEVEL") & keyof TExtension extends never ? {
|
|
20
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
21
|
+
development: "development";
|
|
22
|
+
production: "production";
|
|
23
|
+
test: "test";
|
|
24
|
+
}>>;
|
|
25
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
26
|
+
debug: "debug";
|
|
27
|
+
info: "info";
|
|
28
|
+
warn: "warn";
|
|
29
|
+
error: "error";
|
|
30
|
+
}>>>;
|
|
31
|
+
} & TExtension : ({
|
|
32
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
33
|
+
development: "development";
|
|
34
|
+
production: "production";
|
|
35
|
+
test: "test";
|
|
36
|
+
}>>;
|
|
37
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
38
|
+
debug: "debug";
|
|
39
|
+
info: "info";
|
|
40
|
+
warn: "warn";
|
|
41
|
+
error: "error";
|
|
42
|
+
}>>>;
|
|
43
|
+
} extends infer T_1 extends z.core.util.SomeObject ? { [K in keyof T_1 as K extends keyof TExtension ? never : K]: T_1[K] } : never) & { [K_1 in keyof TExtension]: TExtension[K_1] }) extends infer T ? { [k in keyof T]: T[k] } : never, {}>;
|
|
44
|
+
schema: z.ZodObject<(("NODE_ENV" | "LOG_LEVEL") & keyof TExtension extends never ? {
|
|
45
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
46
|
+
development: "development";
|
|
47
|
+
production: "production";
|
|
48
|
+
test: "test";
|
|
49
|
+
}>>;
|
|
50
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
51
|
+
debug: "debug";
|
|
52
|
+
info: "info";
|
|
53
|
+
warn: "warn";
|
|
54
|
+
error: "error";
|
|
55
|
+
}>>>;
|
|
56
|
+
} & TExtension : ({
|
|
57
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
58
|
+
development: "development";
|
|
59
|
+
production: "production";
|
|
60
|
+
test: "test";
|
|
61
|
+
}>>;
|
|
62
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
63
|
+
debug: "debug";
|
|
64
|
+
info: "info";
|
|
65
|
+
warn: "warn";
|
|
66
|
+
error: "error";
|
|
67
|
+
}>>>;
|
|
68
|
+
} extends infer T_1 extends z.core.util.SomeObject ? { [K in keyof T_1 as K extends keyof TExtension ? never : K]: T_1[K] } : never) & { [K_1 in keyof TExtension]: TExtension[K_1] }) extends infer T ? { [k in keyof T]: T[k] } : never, z.core.$strip>;
|
|
69
|
+
};
|
|
70
|
+
//#endregion
|
|
71
|
+
export { BASE_ENV_SCHEMA, BaseEnvConfig, createEnvConfig };
|
|
72
|
+
//# sourceMappingURL=getEnvConfig.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvConfig.d.cts","names":[],"sources":["../../src/config/getEnvConfig.ts"],"mappings":";;;cAIa,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;KAWhB,aAAA,GAAgB,CAAA,CAAE,KAAA,QAAa,eAAA;AAAA,iBAG3B,eAAA,oBAAmC,CAAA,CAAE,WAAA,CAAA,CACnD,eAAA,EAAiB,CAAA,CAAE,SAAA,CAAU,UAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/config/getEnvConfig.d.ts
|
|
4
|
+
declare const BASE_ENV_SCHEMA: z.ZodObject<{
|
|
5
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
6
|
+
development: "development";
|
|
7
|
+
production: "production";
|
|
8
|
+
test: "test";
|
|
9
|
+
}>>;
|
|
10
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
11
|
+
debug: "debug";
|
|
12
|
+
info: "info";
|
|
13
|
+
warn: "warn";
|
|
14
|
+
error: "error";
|
|
15
|
+
}>>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
type BaseEnvConfig = z.infer<typeof BASE_ENV_SCHEMA>;
|
|
18
|
+
declare function createEnvConfig<TExtension extends z.ZodRawShape>(extensionSchema: z.ZodObject<TExtension>): {
|
|
19
|
+
getEnvConfig: () => z.core.$InferObjectOutput<(("NODE_ENV" | "LOG_LEVEL") & keyof TExtension extends never ? {
|
|
20
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
21
|
+
development: "development";
|
|
22
|
+
production: "production";
|
|
23
|
+
test: "test";
|
|
24
|
+
}>>;
|
|
25
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
26
|
+
debug: "debug";
|
|
27
|
+
info: "info";
|
|
28
|
+
warn: "warn";
|
|
29
|
+
error: "error";
|
|
30
|
+
}>>>;
|
|
31
|
+
} & TExtension : ({
|
|
32
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
33
|
+
development: "development";
|
|
34
|
+
production: "production";
|
|
35
|
+
test: "test";
|
|
36
|
+
}>>;
|
|
37
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
38
|
+
debug: "debug";
|
|
39
|
+
info: "info";
|
|
40
|
+
warn: "warn";
|
|
41
|
+
error: "error";
|
|
42
|
+
}>>>;
|
|
43
|
+
} extends infer T_1 extends z.core.util.SomeObject ? { [K in keyof T_1 as K extends keyof TExtension ? never : K]: T_1[K] } : never) & { [K_1 in keyof TExtension]: TExtension[K_1] }) extends infer T ? { [k in keyof T]: T[k] } : never, {}>;
|
|
44
|
+
schema: z.ZodObject<(("NODE_ENV" | "LOG_LEVEL") & keyof TExtension extends never ? {
|
|
45
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
46
|
+
development: "development";
|
|
47
|
+
production: "production";
|
|
48
|
+
test: "test";
|
|
49
|
+
}>>;
|
|
50
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
51
|
+
debug: "debug";
|
|
52
|
+
info: "info";
|
|
53
|
+
warn: "warn";
|
|
54
|
+
error: "error";
|
|
55
|
+
}>>>;
|
|
56
|
+
} & TExtension : ({
|
|
57
|
+
NODE_ENV: z.ZodDefault<z.ZodEnum<{
|
|
58
|
+
development: "development";
|
|
59
|
+
production: "production";
|
|
60
|
+
test: "test";
|
|
61
|
+
}>>;
|
|
62
|
+
LOG_LEVEL: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodEnum<{
|
|
63
|
+
debug: "debug";
|
|
64
|
+
info: "info";
|
|
65
|
+
warn: "warn";
|
|
66
|
+
error: "error";
|
|
67
|
+
}>>>;
|
|
68
|
+
} extends infer T_1 extends z.core.util.SomeObject ? { [K in keyof T_1 as K extends keyof TExtension ? never : K]: T_1[K] } : never) & { [K_1 in keyof TExtension]: TExtension[K_1] }) extends infer T ? { [k in keyof T]: T[k] } : never, z.core.$strip>;
|
|
69
|
+
};
|
|
70
|
+
//#endregion
|
|
71
|
+
export { BASE_ENV_SCHEMA, BaseEnvConfig, createEnvConfig };
|
|
72
|
+
//# sourceMappingURL=getEnvConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvConfig.d.ts","names":[],"sources":["../../src/config/getEnvConfig.ts"],"mappings":";;;cAIa,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;KAWhB,aAAA,GAAgB,CAAA,CAAE,KAAA,QAAa,eAAA;AAAA,iBAG3B,eAAA,oBAAmC,CAAA,CAAE,WAAA,CAAA,CACnD,eAAA,EAAiB,CAAA,CAAE,SAAA,CAAU,UAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region src/config/getEnvConfig.ts
|
|
3
|
+
const BASE_ENV_SCHEMA = z.object({
|
|
4
|
+
NODE_ENV: z.enum([
|
|
5
|
+
"development",
|
|
6
|
+
"production",
|
|
7
|
+
"test"
|
|
8
|
+
]).default("development"),
|
|
9
|
+
LOG_LEVEL: z.string().toLowerCase().pipe(z.enum([
|
|
10
|
+
"debug",
|
|
11
|
+
"info",
|
|
12
|
+
"warn",
|
|
13
|
+
"error"
|
|
14
|
+
])).default("info")
|
|
15
|
+
});
|
|
16
|
+
function createEnvConfig(extensionSchema) {
|
|
17
|
+
const schema = BASE_ENV_SCHEMA.extend(extensionSchema.shape);
|
|
18
|
+
let _cached;
|
|
19
|
+
function getEnvConfig() {
|
|
20
|
+
if (_cached == null) _cached = schema.parse(process.env);
|
|
21
|
+
return _cached;
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
getEnvConfig,
|
|
25
|
+
schema
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { BASE_ENV_SCHEMA, createEnvConfig };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=getEnvConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvConfig.js","names":[],"sources":["../../src/config/getEnvConfig.ts"],"sourcesContent":["// @percepta/config/src/createEnvConfig.ts\nimport { z } from \"zod\";\n\n// Base schema that all apps get\nexport const BASE_ENV_SCHEMA = z.object({\n NODE_ENV: z\n .enum([\"development\", \"production\", \"test\"])\n .default(\"development\"),\n LOG_LEVEL: z\n .string()\n .toLowerCase()\n .pipe(z.enum([\"debug\", \"info\", \"warn\", \"error\"]))\n .default(\"info\"),\n});\n\nexport type BaseEnvConfig = z.infer<typeof BASE_ENV_SCHEMA>;\n\n// Factory that creates a configured getEnvConfig\nexport function createEnvConfig<TExtension extends z.ZodRawShape>(\n extensionSchema: z.ZodObject<TExtension>,\n) {\n const schema = BASE_ENV_SCHEMA.extend(extensionSchema.shape);\n type Config = z.infer<typeof schema>;\n\n let _cached: Config | undefined;\n\n function getEnvConfig(): Config {\n if (_cached == null) {\n _cached = schema.parse(process.env);\n }\n return _cached;\n }\n\n return { getEnvConfig, schema };\n}\n"],"mappings":";;AAIA,MAAa,kBAAkB,EAAE,OAAO;CACtC,UAAU,EACP,KAAK;EAAC;EAAe;EAAc;EAAO,CAAC,CAC3C,QAAQ,cAAc;CACzB,WAAW,EACR,QAAQ,CACR,aAAa,CACb,KAAK,EAAE,KAAK;EAAC;EAAS;EAAQ;EAAQ;EAAQ,CAAC,CAAC,CAChD,QAAQ,OAAO;CACnB,CAAC;AAKF,SAAgB,gBACd,iBACA;CACA,MAAM,SAAS,gBAAgB,OAAO,gBAAgB,MAAM;CAG5D,IAAI;CAEJ,SAAS,eAAuB;AAC9B,MAAI,WAAW,KACb,WAAU,OAAO,MAAM,QAAQ,IAAI;AAErC,SAAO;;AAGT,QAAO;EAAE;EAAc;EAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { BASE_ENV_SCHEMA, BaseEnvConfig, createEnvConfig } from "./getEnvConfig.cjs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { BASE_ENV_SCHEMA, BaseEnvConfig, createEnvConfig } from "./getEnvConfig.js";
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_assertNever = require("./utils/assertNever.cjs");
|
|
3
|
+
const require_batchAsync = require("./utils/batchAsync.cjs");
|
|
4
|
+
const require_logNever = require("./utils/logNever.cjs");
|
|
5
|
+
const require_promiseAllValues = require("./utils/promiseAllValues.cjs");
|
|
6
|
+
const require_replaceAt = require("./utils/replaceAt.cjs");
|
|
7
|
+
const require_zodKeyedTypeUnion = require("./utils/zodKeyedTypeUnion.cjs");
|
|
8
|
+
const require_getEnvConfig = require("./config/getEnvConfig.cjs");
|
|
9
|
+
exports.BASE_ENV_SCHEMA = require_getEnvConfig.BASE_ENV_SCHEMA;
|
|
10
|
+
exports.assertNever = require_assertNever.assertNever;
|
|
11
|
+
exports.batchAsync = require_batchAsync.batchAsync;
|
|
12
|
+
exports.createEnvConfig = require_getEnvConfig.createEnvConfig;
|
|
13
|
+
exports.logNever = require_logNever.logNever;
|
|
14
|
+
exports.promiseAllValues = require_promiseAllValues.promiseAllValues;
|
|
15
|
+
exports.replaceAt = require_replaceAt.replaceAt;
|
|
16
|
+
exports.zodKeyedTypeUnion = require_zodKeyedTypeUnion.zodKeyedTypeUnion;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { assertNever } from "./utils/assertNever.cjs";
|
|
2
|
+
import { batchAsync } from "./utils/batchAsync.cjs";
|
|
3
|
+
import { logNever } from "./utils/logNever.cjs";
|
|
4
|
+
import { promiseAllValues } from "./utils/promiseAllValues.cjs";
|
|
5
|
+
import { replaceAt } from "./utils/replaceAt.cjs";
|
|
6
|
+
import { zodKeyedTypeUnion } from "./utils/zodKeyedTypeUnion.cjs";
|
|
7
|
+
import { BASE_ENV_SCHEMA, BaseEnvConfig, createEnvConfig } from "./config/getEnvConfig.cjs";
|
|
8
|
+
export { BASE_ENV_SCHEMA, BaseEnvConfig, assertNever, batchAsync, createEnvConfig, logNever, promiseAllValues, replaceAt, zodKeyedTypeUnion };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { assertNever } from "./utils/assertNever.js";
|
|
2
|
+
import { batchAsync } from "./utils/batchAsync.js";
|
|
3
|
+
import { logNever } from "./utils/logNever.js";
|
|
4
|
+
import { promiseAllValues } from "./utils/promiseAllValues.js";
|
|
5
|
+
import { replaceAt } from "./utils/replaceAt.js";
|
|
6
|
+
import { zodKeyedTypeUnion } from "./utils/zodKeyedTypeUnion.js";
|
|
7
|
+
import { BASE_ENV_SCHEMA, BaseEnvConfig, createEnvConfig } from "./config/getEnvConfig.js";
|
|
8
|
+
export { BASE_ENV_SCHEMA, BaseEnvConfig, assertNever, batchAsync, createEnvConfig, logNever, promiseAllValues, replaceAt, zodKeyedTypeUnion };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { assertNever } from "./utils/assertNever.js";
|
|
2
|
+
import { batchAsync } from "./utils/batchAsync.js";
|
|
3
|
+
import { logNever } from "./utils/logNever.js";
|
|
4
|
+
import { promiseAllValues } from "./utils/promiseAllValues.js";
|
|
5
|
+
import { replaceAt } from "./utils/replaceAt.js";
|
|
6
|
+
import { zodKeyedTypeUnion } from "./utils/zodKeyedTypeUnion.js";
|
|
7
|
+
import { BASE_ENV_SCHEMA, createEnvConfig } from "./config/getEnvConfig.js";
|
|
8
|
+
export { BASE_ENV_SCHEMA, assertNever, batchAsync, createEnvConfig, logNever, promiseAllValues, replaceAt, zodKeyedTypeUnion };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.cjs","names":[],"sources":["../../src/utils/assertNever.ts"],"sourcesContent":["export function assertNever(value: never): never {\n throw new Error(\"Unexpected value.\", { cause: value });\n}\n"],"mappings":";AAAA,SAAgB,YAAY,OAAqB;AAC/C,OAAM,IAAI,MAAM,qBAAqB,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.d.cts","names":[],"sources":["../../src/utils/assertNever.ts"],"mappings":";iBAAgB,WAAA,CAAY,KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.d.ts","names":[],"sources":["../../src/utils/assertNever.ts"],"mappings":";iBAAgB,WAAA,CAAY,KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertNever.js","names":[],"sources":["../../src/utils/assertNever.ts"],"sourcesContent":["export function assertNever(value: never): never {\n throw new Error(\"Unexpected value.\", { cause: value });\n}\n"],"mappings":";AAAA,SAAgB,YAAY,OAAqB;AAC/C,OAAM,IAAI,MAAM,qBAAqB,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
let lodash_es = require("lodash-es");
|
|
2
|
+
//#region src/utils/batchAsync.ts
|
|
3
|
+
async function batchAsync(values, batchSize, iteratee) {
|
|
4
|
+
if (batchSize <= 0) throw new Error("batchSize must be greater than 0");
|
|
5
|
+
const results = [];
|
|
6
|
+
const chunkedValues = (0, lodash_es.chunk)(values.map((value, index) => [value, index]), batchSize);
|
|
7
|
+
for (const chunkGroup of chunkedValues) {
|
|
8
|
+
const chunkResults = await Promise.all(chunkGroup.map(([value, index]) => iteratee(value, index)));
|
|
9
|
+
results.push(chunkResults);
|
|
10
|
+
}
|
|
11
|
+
return (0, lodash_es.flatten)(results);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.batchAsync = batchAsync;
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=batchAsync.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.cjs","names":[],"sources":["../../src/utils/batchAsync.ts"],"sourcesContent":["import { chunk, flatten } from \"lodash-es\";\n\nexport async function batchAsync<TValue, TReturn>(\n values: TValue[],\n batchSize: number,\n iteratee: (value: TValue, index: number) => Promise<TReturn>,\n): Promise<TReturn[]> {\n if (batchSize <= 0) {\n throw new Error(\"batchSize must be greater than 0\");\n }\n const results: TReturn[][] = [];\n const valuesWithIndex = values.map(\n (value, index): [value: TValue, index: number] => [value, index],\n );\n const chunkedValues = chunk(valuesWithIndex, batchSize);\n for (const chunkGroup of chunkedValues) {\n const chunkResults = await Promise.all(\n chunkGroup.map(([value, index]) => iteratee(value, index)),\n );\n results.push(chunkResults);\n }\n return flatten(results);\n}\n"],"mappings":";;AAEA,eAAsB,WACpB,QACA,WACA,UACoB;AACpB,KAAI,aAAa,EACf,OAAM,IAAI,MAAM,mCAAmC;CAErD,MAAM,UAAuB,EAAE;CAI/B,MAAM,iBAAA,GAAA,UAAA,OAHkB,OAAO,KAC5B,OAAO,UAA0C,CAAC,OAAO,MAAM,CAEvB,EAAE,UAAU;AACvD,MAAK,MAAM,cAAc,eAAe;EACtC,MAAM,eAAe,MAAM,QAAQ,IACjC,WAAW,KAAK,CAAC,OAAO,WAAW,SAAS,OAAO,MAAM,CAAC,CAC3D;AACD,UAAQ,KAAK,aAAa;;AAE5B,SAAA,GAAA,UAAA,SAAe,QAAQ"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region src/utils/batchAsync.d.ts
|
|
2
|
+
declare function batchAsync<TValue, TReturn>(values: TValue[], batchSize: number, iteratee: (value: TValue, index: number) => Promise<TReturn>): Promise<TReturn[]>;
|
|
3
|
+
//#endregion
|
|
4
|
+
export { batchAsync };
|
|
5
|
+
//# sourceMappingURL=batchAsync.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.d.cts","names":[],"sources":["../../src/utils/batchAsync.ts"],"mappings":";iBAEsB,UAAA,iBAAA,CACpB,MAAA,EAAQ,MAAA,IACR,SAAA,UACA,QAAA,GAAW,KAAA,EAAO,MAAA,EAAQ,KAAA,aAAkB,OAAA,CAAQ,OAAA,IACnD,OAAA,CAAQ,OAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region src/utils/batchAsync.d.ts
|
|
2
|
+
declare function batchAsync<TValue, TReturn>(values: TValue[], batchSize: number, iteratee: (value: TValue, index: number) => Promise<TReturn>): Promise<TReturn[]>;
|
|
3
|
+
//#endregion
|
|
4
|
+
export { batchAsync };
|
|
5
|
+
//# sourceMappingURL=batchAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.d.ts","names":[],"sources":["../../src/utils/batchAsync.ts"],"mappings":";iBAEsB,UAAA,iBAAA,CACpB,MAAA,EAAQ,MAAA,IACR,SAAA,UACA,QAAA,GAAW,KAAA,EAAO,MAAA,EAAQ,KAAA,aAAkB,OAAA,CAAQ,OAAA,IACnD,OAAA,CAAQ,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { chunk, flatten } from "lodash-es";
|
|
2
|
+
//#region src/utils/batchAsync.ts
|
|
3
|
+
async function batchAsync(values, batchSize, iteratee) {
|
|
4
|
+
if (batchSize <= 0) throw new Error("batchSize must be greater than 0");
|
|
5
|
+
const results = [];
|
|
6
|
+
const chunkedValues = chunk(values.map((value, index) => [value, index]), batchSize);
|
|
7
|
+
for (const chunkGroup of chunkedValues) {
|
|
8
|
+
const chunkResults = await Promise.all(chunkGroup.map(([value, index]) => iteratee(value, index)));
|
|
9
|
+
results.push(chunkResults);
|
|
10
|
+
}
|
|
11
|
+
return flatten(results);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { batchAsync };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=batchAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchAsync.js","names":[],"sources":["../../src/utils/batchAsync.ts"],"sourcesContent":["import { chunk, flatten } from \"lodash-es\";\n\nexport async function batchAsync<TValue, TReturn>(\n values: TValue[],\n batchSize: number,\n iteratee: (value: TValue, index: number) => Promise<TReturn>,\n): Promise<TReturn[]> {\n if (batchSize <= 0) {\n throw new Error(\"batchSize must be greater than 0\");\n }\n const results: TReturn[][] = [];\n const valuesWithIndex = values.map(\n (value, index): [value: TValue, index: number] => [value, index],\n );\n const chunkedValues = chunk(valuesWithIndex, batchSize);\n for (const chunkGroup of chunkedValues) {\n const chunkResults = await Promise.all(\n chunkGroup.map(([value, index]) => iteratee(value, index)),\n );\n results.push(chunkResults);\n }\n return flatten(results);\n}\n"],"mappings":";;AAEA,eAAsB,WACpB,QACA,WACA,UACoB;AACpB,KAAI,aAAa,EACf,OAAM,IAAI,MAAM,mCAAmC;CAErD,MAAM,UAAuB,EAAE;CAI/B,MAAM,gBAAgB,MAHE,OAAO,KAC5B,OAAO,UAA0C,CAAC,OAAO,MAAM,CAEvB,EAAE,UAAU;AACvD,MAAK,MAAM,cAAc,eAAe;EACtC,MAAM,eAAe,MAAM,QAAQ,IACjC,WAAW,KAAK,CAAC,OAAO,WAAW,SAAS,OAAO,MAAM,CAAC,CAC3D;AACD,UAAQ,KAAK,aAAa;;AAE5B,QAAO,QAAQ,QAAQ"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { assertNever } from "./assertNever.cjs";
|
|
2
|
+
import { batchAsync } from "./batchAsync.cjs";
|
|
3
|
+
import { logNever } from "./logNever.cjs";
|
|
4
|
+
import { promiseAllValues } from "./promiseAllValues.cjs";
|
|
5
|
+
import { replaceAt } from "./replaceAt.cjs";
|
|
6
|
+
import { zodKeyedTypeUnion } from "./zodKeyedTypeUnion.cjs";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { assertNever } from "./assertNever.js";
|
|
2
|
+
import { batchAsync } from "./batchAsync.js";
|
|
3
|
+
import { logNever } from "./logNever.js";
|
|
4
|
+
import { promiseAllValues } from "./promiseAllValues.js";
|
|
5
|
+
import { replaceAt } from "./replaceAt.js";
|
|
6
|
+
import { zodKeyedTypeUnion } from "./zodKeyedTypeUnion.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logNever.cjs","names":[],"sources":["../../src/utils/logNever.ts"],"sourcesContent":["export function logNever(value: never): void;\nexport function logNever<TReturn>(value: never, returnValue: TReturn): TReturn;\nexport function logNever(value: never, returnValue?: unknown): unknown {\n console.error(\"Unexpected value.\", value);\n return returnValue;\n}\n"],"mappings":";AAEA,SAAgB,SAAS,OAAc,aAAgC;AACrE,SAAQ,MAAM,qBAAqB,MAAM;AACzC,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logNever.d.cts","names":[],"sources":["../../src/utils/logNever.ts"],"mappings":";iBAAgB,QAAA,CAAS,KAAA;AAAA,iBACT,QAAA,SAAA,CAAkB,KAAA,SAAc,WAAA,EAAa,OAAA,GAAU,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logNever.d.ts","names":[],"sources":["../../src/utils/logNever.ts"],"mappings":";iBAAgB,QAAA,CAAS,KAAA;AAAA,iBACT,QAAA,SAAA,CAAkB,KAAA,SAAc,WAAA,EAAa,OAAA,GAAU,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logNever.js","names":[],"sources":["../../src/utils/logNever.ts"],"sourcesContent":["export function logNever(value: never): void;\nexport function logNever<TReturn>(value: never, returnValue: TReturn): TReturn;\nexport function logNever(value: never, returnValue?: unknown): unknown {\n console.error(\"Unexpected value.\", value);\n return returnValue;\n}\n"],"mappings":";AAEA,SAAgB,SAAS,OAAc,aAAgC;AACrE,SAAQ,MAAM,qBAAqB,MAAM;AACzC,QAAO"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
let lodash_es = require("lodash-es");
|
|
2
|
+
//#region src/utils/promiseAllValues.ts
|
|
3
|
+
async function promiseAllValues(promiseObject) {
|
|
4
|
+
return (0, lodash_es.fromPairs)(await Promise.all(Object.entries(promiseObject).map(async ([key, promise]) => [key, await promise])));
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
exports.promiseAllValues = promiseAllValues;
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=promiseAllValues.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseAllValues.cjs","names":[],"sources":["../../src/utils/promiseAllValues.ts"],"sourcesContent":["import { fromPairs } from \"lodash-es\";\n\ntype PromiseObject<T> = {\n [K in keyof T]: Promise<T[K]>;\n};\n\nexport async function promiseAllValues<T>(\n promiseObject: PromiseObject<T>,\n): Promise<T> {\n const results = await Promise.all(\n Object.entries(promiseObject).map(\n async ([key, promise]): Promise<[string, unknown]> => [\n key,\n await promise,\n ],\n ),\n );\n\n return fromPairs(results) as T;\n}\n"],"mappings":";;AAMA,eAAsB,iBACpB,eACY;AAUZ,SAAA,GAAA,UAAA,WAAiB,MATK,QAAQ,IAC5B,OAAO,QAAQ,cAAc,CAAC,IAC5B,OAAO,CAAC,KAAK,aAAyC,CACpD,KACA,MAAM,QACP,CACF,CACF,CAEwB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/utils/promiseAllValues.d.ts
|
|
2
|
+
type PromiseObject<T> = { [K in keyof T]: Promise<T[K]> };
|
|
3
|
+
declare function promiseAllValues<T>(promiseObject: PromiseObject<T>): Promise<T>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { promiseAllValues };
|
|
6
|
+
//# sourceMappingURL=promiseAllValues.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseAllValues.d.cts","names":[],"sources":["../../src/utils/promiseAllValues.ts"],"mappings":";KAEK,aAAA,oBACS,CAAA,GAAI,OAAA,CAAQ,CAAA,CAAE,CAAA;AAAA,iBAGN,gBAAA,GAAA,CACpB,aAAA,EAAe,aAAA,CAAc,CAAA,IAC5B,OAAA,CAAQ,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/utils/promiseAllValues.d.ts
|
|
2
|
+
type PromiseObject<T> = { [K in keyof T]: Promise<T[K]> };
|
|
3
|
+
declare function promiseAllValues<T>(promiseObject: PromiseObject<T>): Promise<T>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { promiseAllValues };
|
|
6
|
+
//# sourceMappingURL=promiseAllValues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseAllValues.d.ts","names":[],"sources":["../../src/utils/promiseAllValues.ts"],"mappings":";KAEK,aAAA,oBACS,CAAA,GAAI,OAAA,CAAQ,CAAA,CAAE,CAAA;AAAA,iBAGN,gBAAA,GAAA,CACpB,aAAA,EAAe,aAAA,CAAc,CAAA,IAC5B,OAAA,CAAQ,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { fromPairs } from "lodash-es";
|
|
2
|
+
//#region src/utils/promiseAllValues.ts
|
|
3
|
+
async function promiseAllValues(promiseObject) {
|
|
4
|
+
return fromPairs(await Promise.all(Object.entries(promiseObject).map(async ([key, promise]) => [key, await promise])));
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { promiseAllValues };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=promiseAllValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseAllValues.js","names":[],"sources":["../../src/utils/promiseAllValues.ts"],"sourcesContent":["import { fromPairs } from \"lodash-es\";\n\ntype PromiseObject<T> = {\n [K in keyof T]: Promise<T[K]>;\n};\n\nexport async function promiseAllValues<T>(\n promiseObject: PromiseObject<T>,\n): Promise<T> {\n const results = await Promise.all(\n Object.entries(promiseObject).map(\n async ([key, promise]): Promise<[string, unknown]> => [\n key,\n await promise,\n ],\n ),\n );\n\n return fromPairs(results) as T;\n}\n"],"mappings":";;AAMA,eAAsB,iBACpB,eACY;AAUZ,QAAO,UAAU,MATK,QAAQ,IAC5B,OAAO,QAAQ,cAAc,CAAC,IAC5B,OAAO,CAAC,KAAK,aAAyC,CACpD,KACA,MAAM,QACP,CACF,CACF,CAEwB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/utils/replaceAt.ts
|
|
2
|
+
/**
|
|
3
|
+
* Returns a new array with the element at the specified index replaced.
|
|
4
|
+
*
|
|
5
|
+
* @param array The source array
|
|
6
|
+
* @param index The index of the element to replace
|
|
7
|
+
* @param value The new value to insert at the index
|
|
8
|
+
* @returns A new array with the replacement applied
|
|
9
|
+
*/
|
|
10
|
+
function replaceAt(array, index, value) {
|
|
11
|
+
const newArray = [...array];
|
|
12
|
+
newArray[index] = value;
|
|
13
|
+
return newArray;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.replaceAt = replaceAt;
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=replaceAt.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceAt.cjs","names":[],"sources":["../../src/utils/replaceAt.ts"],"sourcesContent":["/**\n * Returns a new array with the element at the specified index replaced.\n *\n * @param array The source array\n * @param index The index of the element to replace\n * @param value The new value to insert at the index\n * @returns A new array with the replacement applied\n */\nexport function replaceAt<T>(array: T[], index: number, value: T): T[] {\n const newArray = [...array];\n newArray[index] = value;\n return newArray;\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,UAAa,OAAY,OAAe,OAAe;CACrE,MAAM,WAAW,CAAC,GAAG,MAAM;AAC3B,UAAS,SAAS;AAClB,QAAO"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/utils/replaceAt.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Returns a new array with the element at the specified index replaced.
|
|
3
4
|
*
|
|
@@ -6,5 +7,7 @@
|
|
|
6
7
|
* @param value The new value to insert at the index
|
|
7
8
|
* @returns A new array with the replacement applied
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
|
-
//#
|
|
10
|
+
declare function replaceAt<T>(array: T[], index: number, value: T): T[];
|
|
11
|
+
//#endregion
|
|
12
|
+
export { replaceAt };
|
|
13
|
+
//# sourceMappingURL=replaceAt.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceAt.d.cts","names":[],"sources":["../../src/utils/replaceAt.ts"],"mappings":";;AAQA;;;;;;;iBAAgB,SAAA,GAAA,CAAa,KAAA,EAAO,CAAA,IAAK,KAAA,UAAe,KAAA,EAAO,CAAA,GAAI,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/utils/replaceAt.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Returns a new array with the element at the specified index replaced.
|
|
3
4
|
*
|
|
@@ -6,5 +7,7 @@
|
|
|
6
7
|
* @param value The new value to insert at the index
|
|
7
8
|
* @returns A new array with the replacement applied
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
|
+
declare function replaceAt<T>(array: T[], index: number, value: T): T[];
|
|
11
|
+
//#endregion
|
|
12
|
+
export { replaceAt };
|
|
10
13
|
//# sourceMappingURL=replaceAt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceAt.d.ts","names":[],"sources":["../../src/utils/replaceAt.ts"],"mappings":";;AAQA;;;;;;;iBAAgB,SAAA,GAAA,CAAa,KAAA,EAAO,CAAA,IAAK,KAAA,UAAe,KAAA,EAAO,CAAA,GAAI,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/utils/replaceAt.ts
|
|
2
|
+
/**
|
|
3
|
+
* Returns a new array with the element at the specified index replaced.
|
|
4
|
+
*
|
|
5
|
+
* @param array The source array
|
|
6
|
+
* @param index The index of the element to replace
|
|
7
|
+
* @param value The new value to insert at the index
|
|
8
|
+
* @returns A new array with the replacement applied
|
|
9
|
+
*/
|
|
10
|
+
function replaceAt(array, index, value) {
|
|
11
|
+
const newArray = [...array];
|
|
12
|
+
newArray[index] = value;
|
|
13
|
+
return newArray;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { replaceAt };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=replaceAt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceAt.js","names":[],"sources":["../../src/utils/replaceAt.ts"],"sourcesContent":["/**\n * Returns a new array with the element at the specified index replaced.\n *\n * @param array The source array\n * @param index The index of the element to replace\n * @param value The new value to insert at the index\n * @returns A new array with the replacement applied\n */\nexport function replaceAt<T>(array: T[], index: number, value: T): T[] {\n const newArray = [...array];\n newArray[index] = value;\n return newArray;\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,UAAa,OAAY,OAAe,OAAe;CACrE,MAAM,WAAW,CAAC,GAAG,MAAM;AAC3B,UAAS,SAAS;AAClB,QAAO"}
|