effect-app 4.0.0-beta.7 → 4.0.0-beta.71
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/CHANGELOG.md +313 -0
- package/dist/Config/SecretURL.js +2 -2
- package/dist/Config.d.ts +7 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +6 -0
- package/dist/ConfigProvider.d.ts +39 -0
- package/dist/ConfigProvider.d.ts.map +1 -0
- package/dist/ConfigProvider.js +42 -0
- package/dist/Context.d.ts +40 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +66 -0
- package/dist/Effect.d.ts +8 -7
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +3 -2
- package/dist/Layer.d.ts +5 -4
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +1 -1
- package/dist/Operations.d.ts +61 -25
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Pure.d.ts +2 -2
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +13 -13
- package/dist/Schema/Class.d.ts +39 -1
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +89 -12
- package/dist/Schema/SpecialJsonSchema.d.ts +21 -0
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
- package/dist/Schema/SpecialJsonSchema.js +59 -0
- package/dist/Schema/SpecialOpenApi.d.ts +32 -0
- package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
- package/dist/Schema/SpecialOpenApi.js +123 -0
- package/dist/Schema/brand.d.ts +8 -5
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +1 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +9 -4
- package/dist/Schema/ext.d.ts +81 -45
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +94 -49
- package/dist/Schema/moreStrings.d.ts +6 -6
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +14 -9
- package/dist/Schema/numbers.d.ts +11 -11
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +10 -9
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +8 -3
- package/dist/Schema/strings.d.ts +4 -4
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema.d.ts +22 -55
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +43 -64
- package/dist/client/apiClientFactory.d.ts +3 -3
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +14 -15
- package/dist/client/errors.d.ts +17 -9
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +35 -10
- package/dist/client/makeClient.d.ts +13 -12
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +5 -2
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +5 -5
- package/dist/ids.d.ts +3 -3
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +3 -2
- package/dist/index.d.ts +3 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -9
- package/dist/middleware.d.ts +2 -2
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +3 -3
- package/dist/rpc/MiddlewareMaker.d.ts +4 -3
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +7 -6
- package/dist/rpc/RpcContextMap.d.ts +2 -2
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +4 -3
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- package/dist/utils/gen.d.ts +1 -1
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +3 -3
- package/dist/utils.d.ts +18 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +24 -5
- package/package.json +29 -17
- package/src/Config/SecretURL.ts +1 -1
- package/src/Config.ts +14 -0
- package/src/ConfigProvider.ts +48 -0
- package/src/{ServiceMap.ts → Context.ts} +57 -64
- package/src/Effect.ts +11 -9
- package/src/Layer.ts +5 -4
- package/src/Pure.ts +17 -18
- package/src/Schema/Class.ts +114 -16
- package/src/Schema/SpecialJsonSchema.ts +69 -0
- package/src/Schema/SpecialOpenApi.ts +130 -0
- package/src/Schema/brand.ts +13 -7
- package/src/Schema/email.ts +10 -2
- package/src/Schema/ext.ts +182 -80
- package/src/Schema/moreStrings.ts +20 -10
- package/src/Schema/numbers.ts +9 -8
- package/src/Schema/phoneNumber.ts +8 -1
- package/src/Schema.ts +79 -103
- package/src/client/apiClientFactory.ts +18 -18
- package/src/client/errors.ts +46 -12
- package/src/client/makeClient.ts +32 -12
- package/src/http/Request.ts +7 -4
- package/src/ids.ts +3 -2
- package/src/index.ts +3 -11
- package/src/middleware.ts +2 -2
- package/src/rpc/MiddlewareMaker.ts +8 -7
- package/src/rpc/RpcContextMap.ts +6 -5
- package/src/rpc/RpcMiddleware.ts +5 -4
- package/src/utils/gen.ts +1 -1
- package/src/utils/logger.ts +2 -2
- package/src/utils.ts +26 -4
- package/test/dist/moreStrings.test.d.ts.map +1 -0
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/secretURL.test.d.ts.map +1 -0
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +17 -0
- package/test/rpc.test.ts +26 -5
- package/test/schema.test.ts +396 -3
- package/test/secretURL.test.ts +157 -0
- package/test/special.test.ts +732 -0
- package/test/utils.test.ts +1 -1
- package/tsconfig.base.json +0 -1
- package/tsconfig.json +0 -1
- package/dist/ServiceMap.d.ts +0 -44
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
- package/dist/Struct.d.ts +0 -44
- package/dist/Struct.d.ts.map +0 -1
- package/dist/Struct.js +0 -29
- package/src/Struct.ts +0 -54
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,318 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.71
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- beae3a0: Remove `withDefaultConstructor` wrapper, use `S.withConstructorDefault` directly with `Effect.succeed`/`Effect.sync`.
|
|
8
|
+
|
|
9
|
+
## 4.0.0-beta.70
|
|
10
|
+
|
|
11
|
+
## 4.0.0-beta.69
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- dc465e3: update to latest effect beta
|
|
16
|
+
|
|
17
|
+
## 4.0.0-beta.68
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- e6f2341: Add SecretURL tests and switch secretURL config to use Config.nonEmptyString
|
|
22
|
+
|
|
23
|
+
## 4.0.0-beta.67
|
|
24
|
+
|
|
25
|
+
## 4.0.0-beta.66
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- edc52e4: update
|
|
30
|
+
|
|
31
|
+
## 4.0.0-beta.65
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- 1f103b2: Replace `proxify` with explicit service accessor helpers: `accessFn`, `accessEffectFn`, `accessCn`, `accessEffectCn`.
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- 31739d7: Fix JSON schema output for Email, Date, PhoneNumber, and Url schemas. The `jsonSchema` annotation key is not recognized by Effect v4's JSON schema generator — use proper v4 annotations (`format`, `description`) and built-in checks (`isMinLength`, `isMaxLength`) instead.
|
|
40
|
+
|
|
41
|
+
## 4.0.0-beta.64
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- c1a6fdc: fix proxify
|
|
46
|
+
|
|
47
|
+
## 4.0.0-beta.63
|
|
48
|
+
|
|
49
|
+
## 4.0.0-beta.62
|
|
50
|
+
|
|
51
|
+
### Patch Changes
|
|
52
|
+
|
|
53
|
+
- 0b21a02: fix: flatten simple allOf constraints in JSON Schema output for better codegen compatibility
|
|
54
|
+
|
|
55
|
+
## 4.0.0-beta.61
|
|
56
|
+
|
|
57
|
+
## 4.0.0-beta.60
|
|
58
|
+
|
|
59
|
+
## 4.0.0-beta.59
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- cec026d: update packages
|
|
64
|
+
|
|
65
|
+
## 4.0.0-beta.58
|
|
66
|
+
|
|
67
|
+
## 4.0.0-beta.57
|
|
68
|
+
|
|
69
|
+
## 4.0.0-beta.56
|
|
70
|
+
|
|
71
|
+
## 4.0.0-beta.55
|
|
72
|
+
|
|
73
|
+
## 4.0.0-beta.54
|
|
74
|
+
|
|
75
|
+
### Patch Changes
|
|
76
|
+
|
|
77
|
+
- d867272: the return of `Context`
|
|
78
|
+
|
|
79
|
+
## 4.0.0-beta.53
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- ee9694e: fix type issue?
|
|
84
|
+
|
|
85
|
+
## 4.0.0-beta.52
|
|
86
|
+
|
|
87
|
+
### Minor Changes
|
|
88
|
+
|
|
89
|
+
- 6252808: Add `ReadonlySetFromArray` and `ReadonlyMapFromArray` schema transformations that decode from annotated arrays to Set/Map. Update `ReadonlySet` and `ReadonlyMap` to use these internally.
|
|
90
|
+
|
|
91
|
+
## 4.0.0-beta.51
|
|
92
|
+
|
|
93
|
+
## 4.0.0-beta.50
|
|
94
|
+
|
|
95
|
+
## 4.0.0-beta.49
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- e585c9c: fix config nested
|
|
100
|
+
|
|
101
|
+
## 4.0.0-beta.48
|
|
102
|
+
|
|
103
|
+
### Patch Changes
|
|
104
|
+
|
|
105
|
+
- 0c88f78: Remove `TaggedError` compatibility re-export, use `TaggedErrorClass` directly
|
|
106
|
+
|
|
107
|
+
## 4.0.0-beta.47
|
|
108
|
+
|
|
109
|
+
### Patch Changes
|
|
110
|
+
|
|
111
|
+
- 3365758: workaround effect error messages
|
|
112
|
+
|
|
113
|
+
## 4.0.0-beta.46
|
|
114
|
+
|
|
115
|
+
## 4.0.0-beta.45
|
|
116
|
+
|
|
117
|
+
### Patch Changes
|
|
118
|
+
|
|
119
|
+
- 10b55ff: update packages
|
|
120
|
+
|
|
121
|
+
## 4.0.0-beta.44
|
|
122
|
+
|
|
123
|
+
### Patch Changes
|
|
124
|
+
|
|
125
|
+
- a37aa38: Update to effect beta 43
|
|
126
|
+
|
|
127
|
+
## 4.0.0-beta.43
|
|
128
|
+
|
|
129
|
+
## 4.0.0-beta.42
|
|
130
|
+
|
|
131
|
+
## 4.0.0-beta.41
|
|
132
|
+
|
|
133
|
+
## 4.0.0-beta.40
|
|
134
|
+
|
|
135
|
+
## 4.0.0-beta.39
|
|
136
|
+
|
|
137
|
+
### Patch Changes
|
|
138
|
+
|
|
139
|
+
- 10e90d5: fix: TaggedRequest should be an Opaque Schema Class
|
|
140
|
+
|
|
141
|
+
## 4.0.0-beta.38
|
|
142
|
+
|
|
143
|
+
### Patch Changes
|
|
144
|
+
|
|
145
|
+
- 0b3e00e: fix bug
|
|
146
|
+
|
|
147
|
+
## 4.0.0-beta.37
|
|
148
|
+
|
|
149
|
+
### Patch Changes
|
|
150
|
+
|
|
151
|
+
- 947fe20: fix input date
|
|
152
|
+
|
|
153
|
+
## 4.0.0-beta.36
|
|
154
|
+
|
|
155
|
+
## 4.0.0-beta.35
|
|
156
|
+
|
|
157
|
+
## 4.0.0-beta.34
|
|
158
|
+
|
|
159
|
+
### Patch Changes
|
|
160
|
+
|
|
161
|
+
- 8c645d5: update to latest effect
|
|
162
|
+
|
|
163
|
+
## 4.0.0-beta.33
|
|
164
|
+
|
|
165
|
+
### Patch Changes
|
|
166
|
+
|
|
167
|
+
- 4b95009: use Finite instead of Number
|
|
168
|
+
|
|
169
|
+
## 4.0.0-beta.32
|
|
170
|
+
|
|
171
|
+
### Patch Changes
|
|
172
|
+
|
|
173
|
+
- 01d862a: again
|
|
174
|
+
|
|
175
|
+
## 4.0.0-beta.31
|
|
176
|
+
|
|
177
|
+
### Patch Changes
|
|
178
|
+
|
|
179
|
+
- 6b6d601: fix ForceVOid
|
|
180
|
+
|
|
181
|
+
## 4.0.0-beta.30
|
|
182
|
+
|
|
183
|
+
### Patch Changes
|
|
184
|
+
|
|
185
|
+
- 5ec1f45: fix ForceVoid for real
|
|
186
|
+
|
|
187
|
+
## 4.0.0-beta.29
|
|
188
|
+
|
|
189
|
+
### Patch Changes
|
|
190
|
+
|
|
191
|
+
- a899d46: Replace `ForceVoid` in `makeClient` with a typed codec transformation instead of an unsafe cast.
|
|
192
|
+
|
|
193
|
+
## 4.0.0-beta.28
|
|
194
|
+
|
|
195
|
+
### Patch Changes
|
|
196
|
+
|
|
197
|
+
- 0099208: Refactor `Pure` helpers to use typed `useSync` calls instead of unsafe casts.
|
|
198
|
+
|
|
199
|
+
## 4.0.0-beta.27
|
|
200
|
+
|
|
201
|
+
### Patch Changes
|
|
202
|
+
|
|
203
|
+
- 601a1ff: update effect to 4.0.0-beta.37 and drop the Schema Class disableValidation workaround now that the patched effect schema covers it
|
|
204
|
+
|
|
205
|
+
## 4.0.0-beta.26
|
|
206
|
+
|
|
207
|
+
### Patch Changes
|
|
208
|
+
|
|
209
|
+
- 4da28e2: Change `Schema.Class` and `Schema.TaggedClass` wrappers to default constructor options to `{ disableValidation: true }`.
|
|
210
|
+
|
|
211
|
+
This avoids strict class identifier validation by default when constructing wrapper classes (for example passing a compatible view class), while keeping existing behavior when explicit options are provided.
|
|
212
|
+
|
|
213
|
+
## 4.0.0-beta.25
|
|
214
|
+
|
|
215
|
+
### Patch Changes
|
|
216
|
+
|
|
217
|
+
- 6282d4b: Update `Effect.allLower` to call `svc.asEffect()` when available, ensuring service entries are normalized before `Effect.all` evaluation.
|
|
218
|
+
|
|
219
|
+
## 4.0.0-beta.24
|
|
220
|
+
|
|
221
|
+
### Patch Changes
|
|
222
|
+
|
|
223
|
+
- 32f71bf: Fix `Schema.TaggedUnion(...).tags` extraction for class-based members (for example `TaggedClass`) by using a local AST sentinel walker instead of relying on internal effect APIs.
|
|
224
|
+
|
|
225
|
+
Add tests covering:
|
|
226
|
+
|
|
227
|
+
- `TaggedUnion` with `encodeKeys`-wrapped members
|
|
228
|
+
- `TaggedUnion` with `TaggedClass` members
|
|
229
|
+
|
|
230
|
+
## 4.0.0-beta.23
|
|
231
|
+
|
|
232
|
+
### Patch Changes
|
|
233
|
+
|
|
234
|
+
- ea08a79: remove `fields` constraint from TaggedUnion/tags helpers, extract `_tag` via AST walk instead
|
|
235
|
+
|
|
236
|
+
## 4.0.0-beta.22
|
|
237
|
+
|
|
238
|
+
## 4.0.0-beta.21
|
|
239
|
+
|
|
240
|
+
### Patch Changes
|
|
241
|
+
|
|
242
|
+
- 0d349e7: Align effect-app tagged union helpers with Effect v4 by delegating to the native tagged union utilities, exposing v4-style `cases` and `guards`, and preserving the local `tags` helper.
|
|
243
|
+
- 75c72ee: update effect to 4.0.0-beta.36, adapt to Option<A> revert from A | undefined
|
|
244
|
+
|
|
245
|
+
## 4.0.0-beta.20
|
|
246
|
+
|
|
247
|
+
### Patch Changes
|
|
248
|
+
|
|
249
|
+
- aa921db: Fix `TaggedRequest` no-config error type inference so requests without a third argument infer the same default error schema as requests with explicit success config.
|
|
250
|
+
|
|
251
|
+
## 4.0.0-beta.19
|
|
252
|
+
|
|
253
|
+
### Patch Changes
|
|
254
|
+
|
|
255
|
+
- ffc10a4: Migrate `Schema/ext` context helpers to Effect v4 by implementing `provide` and `contextFromServices` with proper service subtraction across decoding and encoding requirements.
|
|
256
|
+
|
|
257
|
+
## 4.0.0-beta.18
|
|
258
|
+
|
|
259
|
+
### Patch Changes
|
|
260
|
+
|
|
261
|
+
- e9dbbdd: Tighten schema helper generics in `Schema/ext.ts` so default-related helpers accept properly named schema type parameters instead of bare `S.Top` inputs.
|
|
262
|
+
|
|
263
|
+
## 4.0.0-beta.17
|
|
264
|
+
|
|
265
|
+
### Patch Changes
|
|
266
|
+
|
|
267
|
+
- c8a6a3f: fix TaggedUnion
|
|
268
|
+
|
|
269
|
+
## 4.0.0-beta.16
|
|
270
|
+
|
|
271
|
+
### Patch Changes
|
|
272
|
+
|
|
273
|
+
- 56db2c4: fix: isA
|
|
274
|
+
|
|
275
|
+
## 4.0.0-beta.15
|
|
276
|
+
|
|
277
|
+
### Patch Changes
|
|
278
|
+
|
|
279
|
+
- 20186b6: Migrate schema arbitrary annotations to Effect v4 `toArbitrary` and cover `StringId` generation with a fast-check test.
|
|
280
|
+
|
|
281
|
+
## 4.0.0-beta.14
|
|
282
|
+
|
|
283
|
+
## 4.0.0-beta.13
|
|
284
|
+
|
|
285
|
+
### Patch Changes
|
|
286
|
+
|
|
287
|
+
- 16de88c: remove hopefully obsolete Struct overrides
|
|
288
|
+
- 1c3c541: Update Effect dependencies to 4.0.0-beta.31 across workspace packages.
|
|
289
|
+
- de2359d: Update Effect dependencies to 4.0.0-beta.28 across workspace packages.
|
|
290
|
+
- 0d72f34: Update Effect dependencies to 4.0.0-beta.29 across workspace packages.
|
|
291
|
+
|
|
292
|
+
## 4.0.0-beta.12
|
|
293
|
+
|
|
294
|
+
### Patch Changes
|
|
295
|
+
|
|
296
|
+
- 622d54a: Configure Changesets fixed versioning for public packages.
|
|
297
|
+
|
|
298
|
+
## 4.0.0-beta.10
|
|
299
|
+
|
|
300
|
+
### Patch Changes
|
|
301
|
+
|
|
302
|
+
- 01c70d0: update all teh tings
|
|
303
|
+
|
|
304
|
+
## 4.0.0-beta.9
|
|
305
|
+
|
|
306
|
+
### Patch Changes
|
|
307
|
+
|
|
308
|
+
- 5727372: switch to NdJson
|
|
309
|
+
|
|
310
|
+
## 4.0.0-beta.8
|
|
311
|
+
|
|
312
|
+
### Patch Changes
|
|
313
|
+
|
|
314
|
+
- 1f336bc: fix RequestName
|
|
315
|
+
|
|
3
316
|
## 4.0.0-beta.7
|
|
4
317
|
|
|
5
318
|
### Patch Changes
|
package/dist/Config/SecretURL.js
CHANGED
|
@@ -36,6 +36,6 @@ export const value = internal.value;
|
|
|
36
36
|
*/
|
|
37
37
|
export const unsafeWipe = internal.unsafeWipe;
|
|
38
38
|
export const secretURL = (name) => {
|
|
39
|
-
return Config.map(Config.
|
|
39
|
+
return Config.map(Config.nonEmptyString(name), fromString);
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0VVJMLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbmZpZy9TZWNyZXRVUkwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsTUFBTSxFQUE2QixNQUFNLFFBQVEsQ0FBQTtBQUUxRCxPQUFPLEtBQUssUUFBUSxNQUFNLCtCQUErQixDQUFBO0FBeUJ6RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWlCLEVBQUUsQ0FBQTtBQU96Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFtQyxRQUFRLENBQUMsV0FBVyxDQUFBO0FBRS9FOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBd0MsUUFBUSxDQUFDLElBQUksQ0FBQTtBQUV0RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThDLFFBQVEsQ0FBQyxTQUFTLENBQUE7QUFFdEY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFnQyxRQUFRLENBQUMsVUFBVSxDQUFBO0FBRTFFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBZ0MsUUFBUSxDQUFDLEtBQUssQ0FBQTtBQUVoRTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQThCLFFBQVEsQ0FBQyxVQUFVLENBQUE7QUFFeEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBYSxFQUE0QixFQUFFO0lBQ25FLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQzVELENBQUMsQ0FBQSJ9
|
package/dist/Config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,eAAe,CAAA;AAKjD,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;CAI9C,CAAA;AAED,cAAc,eAAe,CAAA"}
|
package/dist/Config.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { make } from "effect/Config";
|
|
2
|
+
import { dual } from "effect/Function";
|
|
3
|
+
import * as ConfigProvider from "./ConfigProvider.js";
|
|
4
|
+
export const nested = dual(2, (self, name) => make((provider) => self.parse(ConfigProvider.nested(provider, name))));
|
|
5
|
+
export * from "effect/Config";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0QyxPQUFPLEtBQUssY0FBYyxNQUFNLHFCQUFxQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FHZixJQUFJLENBQ04sQ0FBQyxFQUNELENBQUksSUFBZSxFQUFFLElBQVksRUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDdkgsQ0FBQTtBQUVELGNBQWMsZUFBZSxDQUFBIn0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ConfigProvider, type Path } from "effect/ConfigProvider";
|
|
2
|
+
/**
|
|
3
|
+
* Scopes a provider so that all lookups are prefixed with the given path
|
|
4
|
+
* segments.
|
|
5
|
+
*
|
|
6
|
+
* When to use:
|
|
7
|
+
* - Namespacing config under a prefix like `"app"` or `"database"`.
|
|
8
|
+
* - Reusing the same provider shape for multiple sub-configs.
|
|
9
|
+
*
|
|
10
|
+
* Accepts a single string or a full `Path` array. The prefix is prepended
|
|
11
|
+
* *after* any `mapInput` transformation runs, so ordering matters when
|
|
12
|
+
* composing with {@link mapInput} or {@link constantCase}.
|
|
13
|
+
*
|
|
14
|
+
* Supports both data-last and data-first calling conventions.
|
|
15
|
+
*
|
|
16
|
+
* **Example** (Nesting under a prefix)
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { ConfigProvider } from "effect"
|
|
20
|
+
*
|
|
21
|
+
* const provider = ConfigProvider.fromEnv({
|
|
22
|
+
* env: { APP_HOST: "localhost", APP_PORT: "3000" }
|
|
23
|
+
* })
|
|
24
|
+
*
|
|
25
|
+
* // Lookups for ["HOST"] now resolve to ["APP", "HOST"]
|
|
26
|
+
* const scoped = ConfigProvider.nested(provider, "APP")
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @see {@link mapInput} – for arbitrary path transformations
|
|
30
|
+
*
|
|
31
|
+
* @category Combinators
|
|
32
|
+
* @since 4.0.0
|
|
33
|
+
*/
|
|
34
|
+
export declare const nested: {
|
|
35
|
+
(prefix: string | Path): (self: ConfigProvider) => ConfigProvider;
|
|
36
|
+
(self: ConfigProvider, prefix: string | Path): ConfigProvider;
|
|
37
|
+
};
|
|
38
|
+
export * from "effect/ConfigProvider";
|
|
39
|
+
//# sourceMappingURL=ConfigProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../src/ConfigProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAG5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAA;IACjE,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,CAAA;CAQ9D,CAAA;AAED,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { make } from "effect/ConfigProvider";
|
|
2
|
+
import { dual } from "effect/Function";
|
|
3
|
+
/**
|
|
4
|
+
* Scopes a provider so that all lookups are prefixed with the given path
|
|
5
|
+
* segments.
|
|
6
|
+
*
|
|
7
|
+
* When to use:
|
|
8
|
+
* - Namespacing config under a prefix like `"app"` or `"database"`.
|
|
9
|
+
* - Reusing the same provider shape for multiple sub-configs.
|
|
10
|
+
*
|
|
11
|
+
* Accepts a single string or a full `Path` array. The prefix is prepended
|
|
12
|
+
* *after* any `mapInput` transformation runs, so ordering matters when
|
|
13
|
+
* composing with {@link mapInput} or {@link constantCase}.
|
|
14
|
+
*
|
|
15
|
+
* Supports both data-last and data-first calling conventions.
|
|
16
|
+
*
|
|
17
|
+
* **Example** (Nesting under a prefix)
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { ConfigProvider } from "effect"
|
|
21
|
+
*
|
|
22
|
+
* const provider = ConfigProvider.fromEnv({
|
|
23
|
+
* env: { APP_HOST: "localhost", APP_PORT: "3000" }
|
|
24
|
+
* })
|
|
25
|
+
*
|
|
26
|
+
* // Lookups for ["HOST"] now resolve to ["APP", "HOST"]
|
|
27
|
+
* const scoped = ConfigProvider.nested(provider, "APP")
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @see {@link mapInput} – for arbitrary path transformations
|
|
31
|
+
*
|
|
32
|
+
* @category Combinators
|
|
33
|
+
* @since 4.0.0
|
|
34
|
+
*/
|
|
35
|
+
export const nested = dual(2, (self, prefix) => {
|
|
36
|
+
let path = typeof prefix === "string" ? [prefix] : prefix;
|
|
37
|
+
if (self.mapInput)
|
|
38
|
+
path = self.mapInput(path);
|
|
39
|
+
return make(self.get, self.mapInput, self.prefix ? [...self.prefix, ...path] : path);
|
|
40
|
+
});
|
|
41
|
+
export * from "effect/ConfigProvider";
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29uZmlnUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixJQUFJLEVBQWEsTUFBTSx1QkFBdUIsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBR2YsSUFBSSxDQUNOLENBQUMsRUFDRCxDQUFDLElBQW9CLEVBQUUsTUFBcUIsRUFBa0IsRUFBRTtJQUM5RCxJQUFJLElBQUksR0FBUyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtJQUMvRCxJQUFJLElBQUksQ0FBQyxRQUFRO1FBQUUsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3RGLENBQUMsQ0FDRixDQUFBO0FBRUQsY0FBYyx1QkFBdUIsQ0FBQSJ9
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type Effect, Layer, type Scope, type Types } from "effect";
|
|
2
|
+
import * as CTX from "effect/Context";
|
|
3
|
+
import { type Yieldable } from "./Effect.js";
|
|
4
|
+
export * from "effect/Context";
|
|
5
|
+
export interface Opaque<Self extends object, in out Shape extends object> extends CTX.Key<Self, Self>, Yieldable<Opaque<Self, Shape>, Self, never, Self> {
|
|
6
|
+
of(this: void, self: Shape): Self;
|
|
7
|
+
serviceMap(self: Shape): CTX.Context<Self>;
|
|
8
|
+
toLayer: <E, R>(eff: Effect.Effect<Shape, E, R>) => Layer.Layer<Self, E, Exclude<R, Scope.Scope>>;
|
|
9
|
+
use<A, E, R>(f: (service: Shape) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R | Self>;
|
|
10
|
+
useSync<A>(f: (service: Shape) => A): Effect.Effect<A, never, Self>;
|
|
11
|
+
}
|
|
12
|
+
export declare function assignTag<Identifier extends object, Shape extends object = Identifier>(key: string, creationError?: Error): <S extends object>(cls: S) => S & Opaque<Identifier, Shape>;
|
|
13
|
+
/** Accessor for a service method that returns a plain value. Wraps via `useSync`. */
|
|
14
|
+
export declare const accessFn: <Self extends object, Shape extends Record<PropertyKey, any>, K extends keyof Shape>(Tag: Opaque<Self, Shape>, key: K) => Shape[K] extends (...args: [...infer Args]) => infer A ? (...args: Readonly<Args>) => Effect.Effect<A, never, Self> : never;
|
|
15
|
+
/** Accessor for a service method that returns an Effect. Delegates via `use`. */
|
|
16
|
+
export declare const accessEffectFn: <Self extends object, Shape extends Record<PropertyKey, any>, K extends keyof Shape>(Tag: Opaque<Self, Shape>, key: K) => Shape[K] extends (...args: [...infer Args]) => Effect.Effect<infer A, infer E, infer R> ? (...args: Readonly<Args>) => Effect.Effect<A, E, Self | R> : never;
|
|
17
|
+
/** Accessor for a service property (constant). Wraps via `useSync`. */
|
|
18
|
+
export declare const accessCn: <Self extends object, Shape extends Record<PropertyKey, any>, K extends keyof Shape>(Tag: Opaque<Self, Shape>, key: K) => Effect.Effect<Shape[K], never, Self>;
|
|
19
|
+
/** Accessor for a service property that is an Effect. Delegates via `use`. */
|
|
20
|
+
export declare const accessEffectCn: <Self extends object, Shape extends Record<PropertyKey, any>, K extends keyof Shape>(Tag: Opaque<Self, Shape>, key: K) => Shape[K] extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, Self | R> : never;
|
|
21
|
+
export declare const TypeId = "~Context.Opaque";
|
|
22
|
+
export interface OpaqueClass<Self extends object, in out Identifier extends string, Shape extends object> extends Opaque<Self, Shape> {
|
|
23
|
+
new (_: never): Shape & {
|
|
24
|
+
readonly [TypeId]: Identifier;
|
|
25
|
+
};
|
|
26
|
+
readonly key: Identifier;
|
|
27
|
+
}
|
|
28
|
+
export declare const Opaque: {
|
|
29
|
+
<Self extends object, Shape extends object>(): <const Identifier extends string, E, R = Types.unassigned, Args extends ReadonlyArray<any> = never>(id: Identifier, options?: {
|
|
30
|
+
readonly make: ((...args: Args) => Effect.Effect<Shape, E, R>) | Effect.Effect<Shape, E, R> | undefined;
|
|
31
|
+
}) => OpaqueClass<Self, Identifier, Shape> & ([Types.unassigned] extends [R] ? unknown : {
|
|
32
|
+
readonly make: [Args] extends [never] ? Effect.Effect<Shape, E, R> : (...args: Args) => Effect.Effect<Shape, E, R>;
|
|
33
|
+
});
|
|
34
|
+
<Self extends object>(): <const Identifier extends string, Make extends Effect.Effect<any, any, any> | ((...args: any) => Effect.Effect<any, any, any>)>(id: Identifier, options: {
|
|
35
|
+
readonly make: Make;
|
|
36
|
+
}) => OpaqueClass<Self, Identifier, Make extends Effect.Effect<infer _A, infer _E, infer _R> | ((...args: infer _Args) => Effect.Effect<infer _A, infer _E, infer _R>) ? _A : never> & {
|
|
37
|
+
readonly make: Make;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/Context.ts"],"names":[],"mappings":"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"}
|
package/dist/Context.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { Layer } from "effect";
|
|
3
|
+
import * as CTX from "effect/Context";
|
|
4
|
+
export * from "effect/Context";
|
|
5
|
+
// export interface OpaqueMake<Self extends object, in out Shape extends object, E, R>
|
|
6
|
+
// extends CTX.Service<Self, Self>
|
|
7
|
+
// {
|
|
8
|
+
// // temp while sorting out https://github.com/Effect-TS/effect-smol/pull/1534
|
|
9
|
+
// of(self: Shape): Self
|
|
10
|
+
// serviceMap2(self: Shape): CTX.Context<Self>
|
|
11
|
+
// // a version that leverages the Shape -> Self conversion
|
|
12
|
+
// toLayer: {
|
|
13
|
+
// <E, R>(
|
|
14
|
+
// eff: Effect.Effect<Shape, E, R>
|
|
15
|
+
// ): Layer.Layer<Self, E, Exclude<R, Scope.Scope>>
|
|
16
|
+
// (): Layer.Layer<Self, E, Exclude<R, Scope.Scope>>
|
|
17
|
+
// }
|
|
18
|
+
// }
|
|
19
|
+
export function assignTag(key, creationError) {
|
|
20
|
+
return (cls) => {
|
|
21
|
+
const tag = CTX.Service(key);
|
|
22
|
+
let fields = tag;
|
|
23
|
+
if (Reflect.ownKeys(cls).includes("key")) {
|
|
24
|
+
const { key, ...rest } = tag;
|
|
25
|
+
fields = rest;
|
|
26
|
+
}
|
|
27
|
+
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
|
|
28
|
+
if (!creationError) {
|
|
29
|
+
const limit = Error.stackTraceLimit;
|
|
30
|
+
Error.stackTraceLimit = 2;
|
|
31
|
+
creationError = new Error();
|
|
32
|
+
Error.stackTraceLimit = limit;
|
|
33
|
+
}
|
|
34
|
+
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
35
|
+
Object.defineProperty(t, "stack", {
|
|
36
|
+
get() {
|
|
37
|
+
return creationError.stack;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return t;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Accessor for a service method that returns a plain value. Wraps via `useSync`. */
|
|
44
|
+
export const accessFn = (Tag, key) => ((...args) => Tag.useSync((s) => s[key](...args)));
|
|
45
|
+
/** Accessor for a service method that returns an Effect. Delegates via `use`. */
|
|
46
|
+
export const accessEffectFn = (Tag, key) => ((...args) => Tag.use((s) => s[key](...args)));
|
|
47
|
+
/** Accessor for a service property (constant). Wraps via `useSync`. */
|
|
48
|
+
export const accessCn = (Tag, key) => Tag.useSync((s) => s[key]);
|
|
49
|
+
/** Accessor for a service property that is an Effect. Delegates via `use`. */
|
|
50
|
+
export const accessEffectCn = (Tag, key) => Tag.use((s) => s[key]);
|
|
51
|
+
export const TypeId = "~Context.Opaque";
|
|
52
|
+
// export interface OpaqueClassMake<Self extends object, in out Identifier extends string, Shape extends object, E, R>
|
|
53
|
+
// extends OpaqueMake<Self, Shape, E, R>
|
|
54
|
+
// {
|
|
55
|
+
// new(_: never): Shape & { readonly [TypeId]: Identifier }
|
|
56
|
+
// readonly key: Identifier
|
|
57
|
+
// }
|
|
58
|
+
export const Opaque = () => (id, options) => {
|
|
59
|
+
const svc = CTX.Service()(id, options);
|
|
60
|
+
return Object.assign(svc, {
|
|
61
|
+
toLayer: (eff) => {
|
|
62
|
+
return Layer.effect(svc, eff);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Db250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQWUsS0FBSyxFQUEwQixNQUFNLFFBQVEsQ0FBQTtBQUNuRSxPQUFPLEtBQUssR0FBRyxNQUFNLGdCQUFnQixDQUFBO0FBR3JDLGNBQWMsZ0JBQWdCLENBQUE7QUFlOUIsc0ZBQXNGO0FBQ3RGLG9DQUFvQztBQUNwQyxJQUFJO0FBQ0osaUZBQWlGO0FBQ2pGLDBCQUEwQjtBQUMxQixnREFBZ0Q7QUFDaEQsNkRBQTZEO0FBQzdELGVBQWU7QUFDZixjQUFjO0FBQ2Qsd0NBQXdDO0FBQ3hDLHVEQUF1RDtBQUN2RCx3REFBd0Q7QUFDeEQsTUFBTTtBQUNOLElBQUk7QUFFSixNQUFNLFVBQVUsU0FBUyxDQUN2QixHQUFXLEVBQ1gsYUFBcUI7SUFFckIsT0FBTyxDQUFtQixHQUFNLEVBQWlDLEVBQUU7UUFDakUsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBb0IsR0FBRyxDQUFDLENBQUE7UUFDL0MsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFBO1FBQ2hCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFBO1lBQzVCLE1BQU0sR0FBRyxJQUFXLENBQUE7UUFDdEIsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDaEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUE7WUFDbkMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUE7WUFDekIsYUFBYSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7WUFDM0IsS0FBSyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7UUFDL0IsQ0FBQztRQUNELHlHQUF5RztRQUN6RyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUU7WUFDaEMsR0FBRztnQkFDRCxPQUFPLGFBQWMsQ0FBQyxLQUFLLENBQUE7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVELHFGQUFxRjtBQUNyRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FLdEIsR0FBd0IsRUFDeEIsR0FBTSxFQUVFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFnQixFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFRLENBQUE7QUFFdkYsaUZBQWlGO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUs1QixHQUF3QixFQUN4QixHQUFNLEVBR0UsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQVEsQ0FBQTtBQUVuRix1RUFBdUU7QUFDdkUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBS3RCLEdBQXdCLEVBQ3hCLEdBQU0sRUFDZ0MsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBUSxDQUFBO0FBRTVFLDhFQUE4RTtBQUM5RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FLNUIsR0FBd0IsRUFDeEIsR0FBTSxFQUVFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQVEsQ0FBQTtBQUUvQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUE7QUFxQnZDLHNIQUFzSDtBQUN0SCwwQ0FBMEM7QUFDMUMsSUFBSTtBQUNKLDZEQUE2RDtBQUM3RCw2QkFBNkI7QUFDN0IsSUFBSTtBQUVKLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FvQ2YsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFVLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDckMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQVEsQ0FBQTtJQUM3QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ3hCLE9BQU8sRUFBRSxDQUFDLEdBQWlDLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQy9CLENBQUM7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUEifQ==
|
package/dist/Effect.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Effect, Option, Ref
|
|
1
|
+
import { Effect, Option, Ref } from "effect";
|
|
2
2
|
import * as Def from "effect/Deferred";
|
|
3
3
|
import * as Fiber from "effect/Fiber";
|
|
4
4
|
import type { Scope } from "effect/Scope";
|
|
5
5
|
import type { Semaphore } from "effect/Semaphore";
|
|
6
|
+
import type * as Context from "./Context.js";
|
|
6
7
|
export * from "effect/Effect";
|
|
7
8
|
export type { Effect } from "effect/Effect";
|
|
8
9
|
export declare function flatMapOption<R, E, A, R2, E2, A2>(self: Effect.Effect<Option.Option<A>, E, R>, fm: (a: A) => Effect.Effect<A2, E2, R2>): Effect.Effect<Option.Option<A2>, E | E2, R | R2>;
|
|
@@ -28,8 +29,8 @@ export declare const await_: <A, E>(self: Def.Deferred<A, E>) => Effect.Effect<A
|
|
|
28
29
|
*/
|
|
29
30
|
export declare function modifyWithPermitWithEffect<A>(ref: Ref.Ref<A>, semaphore: Semaphore): <R, E, A2>(mod: (a: A) => Effect.Effect<readonly [A2, A], E, R>) => Effect.Effect<A2, E, R>;
|
|
30
31
|
export declare function joinAll<E, A>(fibers: Iterable<Fiber.Fiber<A, E>>): Effect.Effect<readonly A[], E>;
|
|
31
|
-
type ServiceA<T> = T extends Effect.Effect<infer S, any, any> ? S : T extends
|
|
32
|
-
type ServiceR<T> = T extends Effect.Effect<any, any, infer R> ? R : T extends
|
|
32
|
+
type ServiceA<T> = T extends Effect.Effect<infer S, any, any> ? S : T extends Context.Service<any, infer S> ? S : never;
|
|
33
|
+
type ServiceR<T> = T extends Effect.Effect<any, any, infer R> ? R : T extends Context.Service<infer I, any> ? I : never;
|
|
33
34
|
type ServiceE<T> = T extends Effect.Effect<any, infer E, any> ? E : never;
|
|
34
35
|
type ValuesR<T> = T extends {
|
|
35
36
|
[s: string]: infer S;
|
|
@@ -54,12 +55,12 @@ type ValuesE<T> = T extends {
|
|
|
54
55
|
export interface EffectUnunified<R, E, A> extends Effect.Effect<R, E, A> {
|
|
55
56
|
}
|
|
56
57
|
export type LowerFirst<S extends PropertyKey> = S extends `${infer First}${infer Rest}` ? `${Lowercase<First>}${Rest}` : S;
|
|
57
|
-
export type LowerServices<T extends Record<string,
|
|
58
|
+
export type LowerServices<T extends Record<string, Context.Service<any, any> | Effect.Effect<any, any, any>>> = {
|
|
58
59
|
[key in keyof T as LowerFirst<key>]: ServiceA<T[key]>;
|
|
59
60
|
};
|
|
60
|
-
export declare function allLower<T extends Record<string,
|
|
61
|
-
export declare function allLowerWith<T extends Record<string,
|
|
62
|
-
export declare function allLowerWithEffect<T extends Record<string,
|
|
61
|
+
export declare function allLower<T extends Record<string, Context.Service<any, any> | Effect.Effect<any, any, any>>>(services: T): Effect.Effect<LowerServices<T>, ValuesE<T>, ValuesR<T>>;
|
|
62
|
+
export declare function allLowerWith<T extends Record<string, Context.Service<any, any> | Effect.Effect<any, any, any>>, A>(services: T, fn: (services: LowerServices<T>) => A): Effect.Effect<A, ValuesE<T>, ValuesR<T>>;
|
|
63
|
+
export declare function allLowerWithEffect<T extends Record<string, Context.Service<any, any> | Effect.Effect<any, any, any>>, R, E, A>(services: T, fn: (services: LowerServices<T>) => Effect.Effect<A, E, R>): Effect.Effect<A, E | ValuesE<T>, R | ValuesR<T>>;
|
|
63
64
|
/**
|
|
64
65
|
* Recovers from all errors.
|
|
65
66
|
*/
|
package/dist/Effect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/Effect.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/Effect.ts"],"names":[],"mappings":"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"}
|