@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.
Files changed (141) hide show
  1. package/dist/cjs/{config → src/config}/getEnvConfig.d.ts +26 -26
  2. package/dist/cjs/src/config/getEnvConfig.d.ts.map +1 -0
  3. package/dist/cjs/{config → src/config}/getEnvConfig.js +5 -1
  4. package/dist/cjs/src/config/getEnvConfig.js.map +1 -0
  5. package/dist/cjs/src/config/index.d.ts.map +1 -0
  6. package/dist/cjs/src/config/index.js.map +1 -0
  7. package/dist/cjs/src/index.d.ts.map +1 -0
  8. package/dist/cjs/src/index.js.map +1 -0
  9. package/dist/cjs/src/utils/__tests__/assertNever.test.d.ts.map +1 -0
  10. package/dist/cjs/{utils → src/utils}/__tests__/assertNever.test.js +4 -3
  11. package/dist/cjs/src/utils/__tests__/assertNever.test.js.map +1 -0
  12. package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts +2 -0
  13. package/dist/cjs/src/utils/__tests__/batchAsync.test.d.ts.map +1 -0
  14. package/dist/cjs/src/utils/__tests__/batchAsync.test.js +47 -0
  15. package/dist/cjs/src/utils/__tests__/batchAsync.test.js.map +1 -0
  16. package/dist/cjs/src/utils/assertNever.d.ts.map +1 -0
  17. package/dist/cjs/src/utils/assertNever.js.map +1 -0
  18. package/dist/cjs/src/utils/batchAsync.d.ts +2 -0
  19. package/dist/cjs/src/utils/batchAsync.d.ts.map +1 -0
  20. package/dist/cjs/src/utils/batchAsync.js +18 -0
  21. package/dist/cjs/src/utils/batchAsync.js.map +1 -0
  22. package/dist/cjs/src/utils/index.d.ts +7 -0
  23. package/dist/cjs/src/utils/index.d.ts.map +1 -0
  24. package/dist/cjs/{utils → src/utils}/index.js +3 -0
  25. package/dist/cjs/src/utils/index.js.map +1 -0
  26. package/dist/cjs/src/utils/logNever.d.ts.map +1 -0
  27. package/dist/cjs/src/utils/logNever.js.map +1 -0
  28. package/dist/cjs/src/utils/promiseAllValues.d.ts.map +1 -0
  29. package/dist/cjs/src/utils/promiseAllValues.js.map +1 -0
  30. package/dist/cjs/src/utils/replaceAt.d.ts +10 -0
  31. package/dist/cjs/src/utils/replaceAt.d.ts.map +1 -0
  32. package/dist/cjs/src/utils/replaceAt.js +17 -0
  33. package/dist/cjs/src/utils/replaceAt.js.map +1 -0
  34. package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts +17 -0
  35. package/dist/cjs/src/utils/zodKeyedTypeUnion.d.ts.map +1 -0
  36. package/dist/cjs/src/utils/zodKeyedTypeUnion.js +15 -0
  37. package/dist/cjs/src/utils/zodKeyedTypeUnion.js.map +1 -0
  38. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  39. package/dist/cjs/vitest.config.d.ts +3 -0
  40. package/dist/cjs/vitest.config.d.ts.map +1 -0
  41. package/dist/cjs/vitest.config.js +5 -0
  42. package/dist/cjs/vitest.config.js.map +1 -0
  43. package/dist/esnext/{config → src/config}/getEnvConfig.d.ts +26 -26
  44. package/dist/esnext/src/config/getEnvConfig.d.ts.map +1 -0
  45. package/dist/esnext/{config → src/config}/getEnvConfig.js +5 -1
  46. package/dist/esnext/src/config/getEnvConfig.js.map +1 -0
  47. package/dist/esnext/src/config/index.d.ts.map +1 -0
  48. package/dist/esnext/src/config/index.js.map +1 -0
  49. package/dist/esnext/src/index.d.ts.map +1 -0
  50. package/dist/esnext/src/index.js.map +1 -0
  51. package/dist/esnext/src/utils/__tests__/assertNever.test.d.ts.map +1 -0
  52. package/dist/esnext/{utils → src/utils}/__tests__/assertNever.test.js +1 -0
  53. package/dist/esnext/{utils → src/utils}/__tests__/assertNever.test.js.map +1 -1
  54. package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts +2 -0
  55. package/dist/esnext/src/utils/__tests__/batchAsync.test.d.ts.map +1 -0
  56. package/dist/esnext/src/utils/__tests__/batchAsync.test.js +45 -0
  57. package/dist/esnext/src/utils/__tests__/batchAsync.test.js.map +1 -0
  58. package/dist/esnext/src/utils/assertNever.d.ts.map +1 -0
  59. package/dist/esnext/src/utils/assertNever.js.map +1 -0
  60. package/dist/esnext/src/utils/batchAsync.d.ts +2 -0
  61. package/dist/esnext/src/utils/batchAsync.d.ts.map +1 -0
  62. package/dist/esnext/src/utils/batchAsync.js +15 -0
  63. package/dist/esnext/src/utils/batchAsync.js.map +1 -0
  64. package/dist/esnext/src/utils/index.d.ts +7 -0
  65. package/dist/esnext/src/utils/index.d.ts.map +1 -0
  66. package/dist/esnext/src/utils/index.js +7 -0
  67. package/dist/esnext/src/utils/index.js.map +1 -0
  68. package/dist/esnext/src/utils/logNever.d.ts.map +1 -0
  69. package/dist/esnext/src/utils/logNever.js.map +1 -0
  70. package/dist/esnext/src/utils/promiseAllValues.d.ts.map +1 -0
  71. package/dist/esnext/src/utils/promiseAllValues.js.map +1 -0
  72. package/dist/esnext/src/utils/replaceAt.d.ts +10 -0
  73. package/dist/esnext/src/utils/replaceAt.d.ts.map +1 -0
  74. package/dist/esnext/src/utils/replaceAt.js +14 -0
  75. package/dist/esnext/src/utils/replaceAt.js.map +1 -0
  76. package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts +17 -0
  77. package/dist/esnext/src/utils/zodKeyedTypeUnion.d.ts.map +1 -0
  78. package/dist/esnext/src/utils/zodKeyedTypeUnion.js +12 -0
  79. package/dist/esnext/src/utils/zodKeyedTypeUnion.js.map +1 -0
  80. package/dist/esnext/tsconfig.tsbuildinfo +1 -1
  81. package/dist/esnext/vitest.config.d.ts +3 -0
  82. package/dist/esnext/vitest.config.d.ts.map +1 -0
  83. package/dist/esnext/vitest.config.js +3 -0
  84. package/dist/esnext/vitest.config.js.map +1 -0
  85. package/package.json +7 -6
  86. package/dist/cjs/config/getEnvConfig.d.ts.map +0 -1
  87. package/dist/cjs/config/getEnvConfig.js.map +0 -1
  88. package/dist/cjs/config/index.d.ts.map +0 -1
  89. package/dist/cjs/config/index.js.map +0 -1
  90. package/dist/cjs/index.d.ts.map +0 -1
  91. package/dist/cjs/index.js.map +0 -1
  92. package/dist/cjs/utils/__tests__/assertNever.test.d.ts.map +0 -1
  93. package/dist/cjs/utils/__tests__/assertNever.test.js.map +0 -1
  94. package/dist/cjs/utils/assertNever.d.ts.map +0 -1
  95. package/dist/cjs/utils/assertNever.js.map +0 -1
  96. package/dist/cjs/utils/index.d.ts +0 -4
  97. package/dist/cjs/utils/index.d.ts.map +0 -1
  98. package/dist/cjs/utils/index.js.map +0 -1
  99. package/dist/cjs/utils/logNever.d.ts.map +0 -1
  100. package/dist/cjs/utils/logNever.js.map +0 -1
  101. package/dist/cjs/utils/promiseAllValues.d.ts.map +0 -1
  102. package/dist/cjs/utils/promiseAllValues.js.map +0 -1
  103. package/dist/esnext/config/getEnvConfig.d.ts.map +0 -1
  104. package/dist/esnext/config/getEnvConfig.js.map +0 -1
  105. package/dist/esnext/config/index.d.ts.map +0 -1
  106. package/dist/esnext/config/index.js.map +0 -1
  107. package/dist/esnext/index.d.ts.map +0 -1
  108. package/dist/esnext/index.js.map +0 -1
  109. package/dist/esnext/utils/__tests__/assertNever.test.d.ts.map +0 -1
  110. package/dist/esnext/utils/assertNever.d.ts.map +0 -1
  111. package/dist/esnext/utils/assertNever.js.map +0 -1
  112. package/dist/esnext/utils/index.d.ts +0 -4
  113. package/dist/esnext/utils/index.d.ts.map +0 -1
  114. package/dist/esnext/utils/index.js +0 -4
  115. package/dist/esnext/utils/index.js.map +0 -1
  116. package/dist/esnext/utils/logNever.d.ts.map +0 -1
  117. package/dist/esnext/utils/logNever.js.map +0 -1
  118. package/dist/esnext/utils/promiseAllValues.d.ts.map +0 -1
  119. package/dist/esnext/utils/promiseAllValues.js.map +0 -1
  120. /package/dist/cjs/{config → src/config}/index.d.ts +0 -0
  121. /package/dist/cjs/{config → src/config}/index.js +0 -0
  122. /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
  123. /package/dist/cjs/{index.js → src/index.js} +0 -0
  124. /package/dist/cjs/{utils → src/utils}/__tests__/assertNever.test.d.ts +0 -0
  125. /package/dist/cjs/{utils → src/utils}/assertNever.d.ts +0 -0
  126. /package/dist/cjs/{utils → src/utils}/assertNever.js +0 -0
  127. /package/dist/cjs/{utils → src/utils}/logNever.d.ts +0 -0
  128. /package/dist/cjs/{utils → src/utils}/logNever.js +0 -0
  129. /package/dist/cjs/{utils → src/utils}/promiseAllValues.d.ts +0 -0
  130. /package/dist/cjs/{utils → src/utils}/promiseAllValues.js +0 -0
  131. /package/dist/esnext/{config → src/config}/index.d.ts +0 -0
  132. /package/dist/esnext/{config → src/config}/index.js +0 -0
  133. /package/dist/esnext/{index.d.ts → src/index.d.ts} +0 -0
  134. /package/dist/esnext/{index.js → src/index.js} +0 -0
  135. /package/dist/esnext/{utils → src/utils}/__tests__/assertNever.test.d.ts +0 -0
  136. /package/dist/esnext/{utils → src/utils}/assertNever.d.ts +0 -0
  137. /package/dist/esnext/{utils → src/utils}/assertNever.js +0 -0
  138. /package/dist/esnext/{utils → src/utils}/logNever.d.ts +0 -0
  139. /package/dist/esnext/{utils → src/utils}/logNever.js +0 -0
  140. /package/dist/esnext/{utils → src/utils}/promiseAllValues.d.ts +0 -0
  141. /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.enum(["debug", "info", "warn", "error"]).default("info"),
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=batchAsync.test.d.ts.map
@@ -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,2 @@
1
+ export declare function batchAsync<TValue, TReturn>(values: TValue[], batchSize: number, iteratee: (value: TValue, index: number) => Promise<TReturn>): Promise<TReturn[]>;
2
+ //# sourceMappingURL=batchAsync.d.ts.map
@@ -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,7 @@
1
+ export * from "./assertNever";
2
+ export * from "./batchAsync";
3
+ export * from "./logNever";
4
+ export * from "./promiseAllValues";
5
+ export * from "./replaceAt";
6
+ export * from "./zodKeyedTypeUnion";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}