@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.
Files changed (169) hide show
  1. package/dist/config/getEnvConfig.cjs +32 -0
  2. package/dist/config/getEnvConfig.cjs.map +1 -0
  3. package/dist/config/getEnvConfig.d.cts +72 -0
  4. package/dist/config/getEnvConfig.d.cts.map +1 -0
  5. package/dist/config/getEnvConfig.d.ts +72 -0
  6. package/dist/config/getEnvConfig.d.ts.map +1 -0
  7. package/dist/config/getEnvConfig.js +31 -0
  8. package/dist/config/getEnvConfig.js.map +1 -0
  9. package/dist/config/index.d.cts +1 -0
  10. package/dist/config/index.d.ts +1 -0
  11. package/dist/index.cjs +16 -0
  12. package/dist/index.d.cts +8 -0
  13. package/dist/index.d.ts +8 -0
  14. package/dist/index.js +8 -0
  15. package/dist/utils/assertNever.cjs +8 -0
  16. package/dist/utils/assertNever.cjs.map +1 -0
  17. package/dist/utils/assertNever.d.cts +5 -0
  18. package/dist/utils/assertNever.d.cts.map +1 -0
  19. package/dist/utils/assertNever.d.ts +5 -0
  20. package/dist/utils/assertNever.d.ts.map +1 -0
  21. package/dist/utils/assertNever.js +8 -0
  22. package/dist/utils/assertNever.js.map +1 -0
  23. package/dist/utils/batchAsync.cjs +16 -0
  24. package/dist/utils/batchAsync.cjs.map +1 -0
  25. package/dist/utils/batchAsync.d.cts +5 -0
  26. package/dist/utils/batchAsync.d.cts.map +1 -0
  27. package/dist/utils/batchAsync.d.ts +5 -0
  28. package/dist/utils/batchAsync.d.ts.map +1 -0
  29. package/dist/utils/batchAsync.js +16 -0
  30. package/dist/utils/batchAsync.js.map +1 -0
  31. package/dist/utils/index.d.cts +6 -0
  32. package/dist/utils/index.d.ts +6 -0
  33. package/dist/utils/logNever.cjs +9 -0
  34. package/dist/utils/logNever.cjs.map +1 -0
  35. package/dist/utils/logNever.d.cts +6 -0
  36. package/dist/utils/logNever.d.cts.map +1 -0
  37. package/dist/utils/logNever.d.ts +6 -0
  38. package/dist/utils/logNever.d.ts.map +1 -0
  39. package/dist/utils/logNever.js +9 -0
  40. package/dist/utils/logNever.js.map +1 -0
  41. package/dist/utils/promiseAllValues.cjs +9 -0
  42. package/dist/utils/promiseAllValues.cjs.map +1 -0
  43. package/dist/utils/promiseAllValues.d.cts +6 -0
  44. package/dist/utils/promiseAllValues.d.cts.map +1 -0
  45. package/dist/utils/promiseAllValues.d.ts +6 -0
  46. package/dist/utils/promiseAllValues.d.ts.map +1 -0
  47. package/dist/utils/promiseAllValues.js +9 -0
  48. package/dist/utils/promiseAllValues.js.map +1 -0
  49. package/dist/utils/replaceAt.cjs +18 -0
  50. package/dist/utils/replaceAt.cjs.map +1 -0
  51. package/dist/{esnext/src/utils/replaceAt.d.ts → utils/replaceAt.d.cts} +5 -2
  52. package/dist/utils/replaceAt.d.cts.map +1 -0
  53. package/dist/{cjs/src/utils → utils}/replaceAt.d.ts +4 -1
  54. package/dist/utils/replaceAt.d.ts.map +1 -0
  55. package/dist/utils/replaceAt.js +18 -0
  56. package/dist/utils/replaceAt.js.map +1 -0
  57. package/dist/utils/zodKeyedTypeUnion.cjs +16 -0
  58. package/dist/utils/zodKeyedTypeUnion.cjs.map +1 -0
  59. package/dist/utils/zodKeyedTypeUnion.d.cts +18 -0
  60. package/dist/utils/zodKeyedTypeUnion.d.cts.map +1 -0
  61. package/dist/utils/zodKeyedTypeUnion.d.ts +18 -0
  62. package/dist/utils/zodKeyedTypeUnion.d.ts.map +1 -0
  63. package/dist/utils/zodKeyedTypeUnion.js +16 -0
  64. package/dist/utils/zodKeyedTypeUnion.js.map +1 -0
  65. package/package.json +27 -17
  66. package/dist/cjs/src/config/getEnvConfig.d.ts +0 -164
  67. package/dist/cjs/src/config/getEnvConfig.d.ts.map +0 -1
  68. package/dist/cjs/src/config/getEnvConfig.js +0 -30
  69. package/dist/cjs/src/config/getEnvConfig.js.map +0 -1
  70. package/dist/cjs/src/config/index.d.ts +0 -2
  71. package/dist/cjs/src/config/index.d.ts.map +0 -1
  72. package/dist/cjs/src/config/index.js +0 -18
  73. package/dist/cjs/src/config/index.js.map +0 -1
  74. package/dist/cjs/src/index.d.ts +0 -3
  75. package/dist/cjs/src/index.d.ts.map +0 -1
  76. package/dist/cjs/src/index.js +0 -19
  77. package/dist/cjs/src/index.js.map +0 -1
  78. package/dist/cjs/src/utils/__tests__/assertNever.test.d.ts +0 -2
  79. package/dist/cjs/src/utils/__tests__/assertNever.test.d.ts.map +0 -1
  80. package/dist/cjs/src/utils/__tests__/assertNever.test.js +0 -22
  81. package/dist/cjs/src/utils/__tests__/assertNever.test.js.map +0 -1
  82. package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts +0 -2
  83. package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts.map +0 -1
  84. package/dist/cjs/src/utils/__tests__/batchAsync.test.js +0 -47
  85. package/dist/cjs/src/utils/__tests__/batchAsync.test.js.map +0 -1
  86. package/dist/cjs/src/utils/assertNever.d.ts +0 -2
  87. package/dist/cjs/src/utils/assertNever.d.ts.map +0 -1
  88. package/dist/cjs/src/utils/assertNever.js +0 -7
  89. package/dist/cjs/src/utils/assertNever.js.map +0 -1
  90. package/dist/cjs/src/utils/batchAsync.d.ts +0 -2
  91. package/dist/cjs/src/utils/batchAsync.d.ts.map +0 -1
  92. package/dist/cjs/src/utils/batchAsync.js +0 -18
  93. package/dist/cjs/src/utils/batchAsync.js.map +0 -1
  94. package/dist/cjs/src/utils/index.d.ts +0 -7
  95. package/dist/cjs/src/utils/index.d.ts.map +0 -1
  96. package/dist/cjs/src/utils/index.js +0 -23
  97. package/dist/cjs/src/utils/index.js.map +0 -1
  98. package/dist/cjs/src/utils/logNever.d.ts +0 -3
  99. package/dist/cjs/src/utils/logNever.d.ts.map +0 -1
  100. package/dist/cjs/src/utils/logNever.js +0 -8
  101. package/dist/cjs/src/utils/logNever.js.map +0 -1
  102. package/dist/cjs/src/utils/promiseAllValues.d.ts +0 -6
  103. package/dist/cjs/src/utils/promiseAllValues.d.ts.map +0 -1
  104. package/dist/cjs/src/utils/promiseAllValues.js +0 -12
  105. package/dist/cjs/src/utils/promiseAllValues.js.map +0 -1
  106. package/dist/cjs/src/utils/replaceAt.d.ts.map +0 -1
  107. package/dist/cjs/src/utils/replaceAt.js +0 -17
  108. package/dist/cjs/src/utils/replaceAt.js.map +0 -1
  109. package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts +0 -17
  110. package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts.map +0 -1
  111. package/dist/cjs/src/utils/zodKeyedTypeUnion.js +0 -15
  112. package/dist/cjs/src/utils/zodKeyedTypeUnion.js.map +0 -1
  113. package/dist/cjs/tsconfig.tsbuildinfo +0 -1
  114. package/dist/cjs/vitest.config.d.ts +0 -3
  115. package/dist/cjs/vitest.config.d.ts.map +0 -1
  116. package/dist/cjs/vitest.config.js +0 -5
  117. package/dist/cjs/vitest.config.js.map +0 -1
  118. package/dist/esnext/src/config/getEnvConfig.d.ts +0 -164
  119. package/dist/esnext/src/config/getEnvConfig.d.ts.map +0 -1
  120. package/dist/esnext/src/config/getEnvConfig.js +0 -26
  121. package/dist/esnext/src/config/getEnvConfig.js.map +0 -1
  122. package/dist/esnext/src/config/index.d.ts +0 -2
  123. package/dist/esnext/src/config/index.d.ts.map +0 -1
  124. package/dist/esnext/src/config/index.js +0 -2
  125. package/dist/esnext/src/config/index.js.map +0 -1
  126. package/dist/esnext/src/index.d.ts +0 -3
  127. package/dist/esnext/src/index.d.ts.map +0 -1
  128. package/dist/esnext/src/index.js +0 -3
  129. package/dist/esnext/src/index.js.map +0 -1
  130. package/dist/esnext/src/utils/__tests__/assertNever.test.d.ts +0 -2
  131. package/dist/esnext/src/utils/__tests__/assertNever.test.d.ts.map +0 -1
  132. package/dist/esnext/src/utils/__tests__/assertNever.test.js +0 -20
  133. package/dist/esnext/src/utils/__tests__/assertNever.test.js.map +0 -1
  134. package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts +0 -2
  135. package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts.map +0 -1
  136. package/dist/esnext/src/utils/__tests__/batchAsync.test.js +0 -45
  137. package/dist/esnext/src/utils/__tests__/batchAsync.test.js.map +0 -1
  138. package/dist/esnext/src/utils/assertNever.d.ts +0 -2
  139. package/dist/esnext/src/utils/assertNever.d.ts.map +0 -1
  140. package/dist/esnext/src/utils/assertNever.js +0 -4
  141. package/dist/esnext/src/utils/assertNever.js.map +0 -1
  142. package/dist/esnext/src/utils/batchAsync.d.ts +0 -2
  143. package/dist/esnext/src/utils/batchAsync.d.ts.map +0 -1
  144. package/dist/esnext/src/utils/batchAsync.js +0 -15
  145. package/dist/esnext/src/utils/batchAsync.js.map +0 -1
  146. package/dist/esnext/src/utils/index.d.ts +0 -7
  147. package/dist/esnext/src/utils/index.d.ts.map +0 -1
  148. package/dist/esnext/src/utils/index.js +0 -7
  149. package/dist/esnext/src/utils/index.js.map +0 -1
  150. package/dist/esnext/src/utils/logNever.d.ts +0 -3
  151. package/dist/esnext/src/utils/logNever.d.ts.map +0 -1
  152. package/dist/esnext/src/utils/logNever.js +0 -5
  153. package/dist/esnext/src/utils/logNever.js.map +0 -1
  154. package/dist/esnext/src/utils/promiseAllValues.d.ts +0 -6
  155. package/dist/esnext/src/utils/promiseAllValues.d.ts.map +0 -1
  156. package/dist/esnext/src/utils/promiseAllValues.js +0 -9
  157. package/dist/esnext/src/utils/promiseAllValues.js.map +0 -1
  158. package/dist/esnext/src/utils/replaceAt.d.ts.map +0 -1
  159. package/dist/esnext/src/utils/replaceAt.js +0 -14
  160. package/dist/esnext/src/utils/replaceAt.js.map +0 -1
  161. package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts +0 -17
  162. package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts.map +0 -1
  163. package/dist/esnext/src/utils/zodKeyedTypeUnion.js +0 -12
  164. package/dist/esnext/src/utils/zodKeyedTypeUnion.js.map +0 -1
  165. package/dist/esnext/tsconfig.tsbuildinfo +0 -1
  166. package/dist/esnext/vitest.config.d.ts +0 -3
  167. package/dist/esnext/vitest.config.d.ts.map +0 -1
  168. package/dist/esnext/vitest.config.js +0 -3
  169. 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;
@@ -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 };
@@ -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,8 @@
1
+ //#region src/utils/assertNever.ts
2
+ function assertNever(value) {
3
+ throw new Error("Unexpected value.", { cause: value });
4
+ }
5
+ //#endregion
6
+ exports.assertNever = assertNever;
7
+
8
+ //# sourceMappingURL=assertNever.cjs.map
@@ -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,5 @@
1
+ //#region src/utils/assertNever.d.ts
2
+ declare function assertNever(value: never): never;
3
+ //#endregion
4
+ export { assertNever };
5
+ //# sourceMappingURL=assertNever.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertNever.d.cts","names":[],"sources":["../../src/utils/assertNever.ts"],"mappings":";iBAAgB,WAAA,CAAY,KAAA"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/assertNever.d.ts
2
+ declare function assertNever(value: never): never;
3
+ //#endregion
4
+ export { assertNever };
5
+ //# sourceMappingURL=assertNever.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertNever.d.ts","names":[],"sources":["../../src/utils/assertNever.ts"],"mappings":";iBAAgB,WAAA,CAAY,KAAA"}
@@ -0,0 +1,8 @@
1
+ //#region src/utils/assertNever.ts
2
+ function assertNever(value) {
3
+ throw new Error("Unexpected value.", { cause: value });
4
+ }
5
+ //#endregion
6
+ export { assertNever };
7
+
8
+ //# sourceMappingURL=assertNever.js.map
@@ -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,9 @@
1
+ //#region src/utils/logNever.ts
2
+ function logNever(value, returnValue) {
3
+ console.error("Unexpected value.", value);
4
+ return returnValue;
5
+ }
6
+ //#endregion
7
+ exports.logNever = logNever;
8
+
9
+ //# sourceMappingURL=logNever.cjs.map
@@ -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,6 @@
1
+ //#region src/utils/logNever.d.ts
2
+ declare function logNever(value: never): void;
3
+ declare function logNever<TReturn>(value: never, returnValue: TReturn): TReturn;
4
+ //#endregion
5
+ export { logNever };
6
+ //# sourceMappingURL=logNever.d.cts.map
@@ -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,6 @@
1
+ //#region src/utils/logNever.d.ts
2
+ declare function logNever(value: never): void;
3
+ declare function logNever<TReturn>(value: never, returnValue: TReturn): TReturn;
4
+ //#endregion
5
+ export { logNever };
6
+ //# sourceMappingURL=logNever.d.ts.map
@@ -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,9 @@
1
+ //#region src/utils/logNever.ts
2
+ function logNever(value, returnValue) {
3
+ console.error("Unexpected value.", value);
4
+ return returnValue;
5
+ }
6
+ //#endregion
7
+ export { logNever };
8
+
9
+ //# sourceMappingURL=logNever.js.map
@@ -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
- export declare function replaceAt<T>(array: T[], index: number, value: T): T[];
10
- //# sourceMappingURL=replaceAt.d.ts.map
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
- export declare function replaceAt<T>(array: T[], index: number, value: T): T[];
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"}