effect 4.0.0-beta.105 → 4.0.0-beta.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Channel.d.ts +26 -0
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +47 -0
- package/dist/Channel.js.map +1 -1
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +35 -3
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +41 -8
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +13 -1
- package/dist/Duration.js.map +1 -1
- package/dist/Fiber.d.ts +1 -1
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Function.d.ts +26 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +36 -0
- package/dist/Function.js.map +1 -1
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +34 -17
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Schema.d.ts +32 -84
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +58 -54
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +2 -17
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +39 -28
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -7
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +15 -4
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +1 -1
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Stream.d.ts +10 -0
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +12 -23
- package/dist/Stream.js.map +1 -1
- package/dist/TxQueue.js +1 -1
- package/dist/TxQueue.js.map +1 -1
- package/dist/internal/effect.js +2 -4
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/executionPlan.js +3 -2
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/rcRef.js +18 -13
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +32 -16
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toArbitrary.d.ts +1 -4
- package/dist/internal/schema/toArbitrary.d.ts.map +1 -1
- package/dist/internal/schema/toArbitrary.js +0 -74
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +18 -4
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +45 -43
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/testing/TestSchema.js +2 -2
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +128 -128
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +23 -11
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +4 -3
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +38 -13
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +6 -3
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +2 -1
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +20 -1
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +26 -2
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +23 -0
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +23 -4
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +2 -2
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +3 -3
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +14 -5
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +6 -5
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +14 -12
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +3 -3
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +2 -3
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +4 -4
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +3 -2
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +7 -1
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +2 -0
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +4 -12
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/headers.js +16 -2
- package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.js +23 -8
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +1 -1
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +8 -0
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +5 -0
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts +9 -1
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +15 -2
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +20 -16
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +11 -12
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/package.json +1 -1
- package/src/Channel.ts +58 -0
- package/src/Config.ts +3 -3
- package/src/ConfigProvider.ts +43 -8
- package/src/Duration.ts +12 -1
- package/src/Fiber.ts +1 -1
- package/src/Function.ts +37 -0
- package/src/JsonSchema.ts +43 -42
- package/src/Schema.ts +68 -146
- package/src/SchemaAST.ts +50 -30
- package/src/SchemaRepresentation.ts +44 -7
- package/src/ScopedRef.ts +3 -1
- package/src/Stream.ts +12 -30
- package/src/TxQueue.ts +1 -1
- package/src/internal/effect.ts +3 -6
- package/src/internal/executionPlan.ts +3 -2
- package/src/internal/rcRef.ts +24 -16
- package/src/internal/schema/fromJsonSchemaDocument.ts +36 -18
- package/src/internal/schema/toArbitrary.ts +0 -72
- package/src/internal/schema/toJsonSchemaDocument.ts +24 -4
- package/src/internal/schema/toRepresentation.ts +66 -48
- package/src/testing/TestSchema.ts +2 -2
- package/src/unstable/ai/McpServer.ts +23 -11
- package/src/unstable/ai/Prompt.ts +37 -15
- package/src/unstable/cli/Argument.ts +6 -3
- package/src/unstable/cli/CliError.ts +28 -2
- package/src/unstable/cli/Command.ts +44 -4
- package/src/unstable/cluster/Entity.ts +7 -2
- package/src/unstable/cluster/EntityProxy.ts +12 -5
- package/src/unstable/cluster/Sharding.ts +29 -17
- package/src/unstable/eventlog/EventLogEncryption.ts +15 -16
- package/src/unstable/eventlog/EventLogMessage.ts +2 -3
- package/src/unstable/eventlog/EventLogRemote.ts +4 -4
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +8 -3
- package/src/unstable/http/Multipart.ts +4 -13
- package/src/unstable/http/MultipartParser/internal/headers.ts +16 -387
- package/src/unstable/http/MultipartParser/internal/multipart.ts +25 -8
- package/src/unstable/httpapi/OpenApi.ts +4 -1
- package/src/unstable/process/ChildProcess.ts +8 -0
- package/src/unstable/rpc/RpcClient.ts +5 -0
- package/src/unstable/sql/Migrator.ts +22 -9
- package/src/unstable/sql/SqlResolver.ts +28 -20
- package/src/unstable/workers/Worker.ts +13 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlResolver.d.ts","sourceRoot":"","sources":["../../../src/unstable/sql/SqlResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAMzC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5F,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;CACrB;AAeD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;OAMG;IACH,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAC/I;;;;;;OAMG;IACH,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,OAAO,EAAE,EAAE,EACX,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GACjE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;CAOxC,CAAA;AAER;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAG,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAI3E,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,SAAS,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAClF;IACP,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,CAChB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KACxC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAC3C,KACA,eAAe,CAAC,eAAe,CAChC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,GAAG,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"SqlResolver.d.ts","sourceRoot":"","sources":["../../../src/unstable/sql/SqlResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,7 @@ export const ordered = options => {
|
|
|
77
77
|
key: transactionKey,
|
|
78
78
|
resolver: Effect.fnUntraced(function* (entries) {
|
|
79
79
|
const [inputs, encodedEntries] = yield* partitionRequests(entries, options.Request);
|
|
80
|
+
if (!Arr.isArrayNonEmpty(inputs)) return;
|
|
80
81
|
const results = yield* options.execute(inputs).pipe(Effect.provideContext(entries[0].context));
|
|
81
82
|
if (results.length !== inputs.length) {
|
|
82
83
|
return yield* new ResultLengthMismatch({
|
|
@@ -105,6 +106,7 @@ export const grouped = options => {
|
|
|
105
106
|
key: transactionKey,
|
|
106
107
|
resolver: Effect.fnUntraced(function* (entries) {
|
|
107
108
|
const [inputs] = yield* partitionRequests(entries, options.Request);
|
|
109
|
+
if (!Arr.isArrayNonEmpty(inputs)) return;
|
|
108
110
|
const resultMap = MutableHashMap.empty();
|
|
109
111
|
const results = yield* options.execute(inputs).pipe(Effect.provideContext(entries[0].context));
|
|
110
112
|
const decodedResults = yield* decodeResults(results).pipe(Effect.provideContext(entries[0].context));
|
|
@@ -141,6 +143,7 @@ export const findById = options => {
|
|
|
141
143
|
key: transactionKey,
|
|
142
144
|
resolver: Effect.fnUntraced(function* (entries) {
|
|
143
145
|
const [inputs, idMap] = yield* partitionRequestsById(entries, options.Id);
|
|
146
|
+
if (!Arr.isArrayNonEmpty(inputs)) return;
|
|
144
147
|
const results = yield* options.execute(inputs).pipe(Effect.provideContext(entries[0].context));
|
|
145
148
|
const decodedResults = yield* decodeResults(results).pipe(Effect.provideContext(entries[0].context));
|
|
146
149
|
for (let i = 0; i < decodedResults.length; i++) {
|
|
@@ -166,6 +169,7 @@ const void_ = options => RequestResolver.makeGrouped({
|
|
|
166
169
|
key: transactionKey,
|
|
167
170
|
resolver: Effect.fnUntraced(function* (entries) {
|
|
168
171
|
const [inputs] = yield* partitionRequests(entries, options.Request);
|
|
172
|
+
if (!Arr.isArrayNonEmpty(inputs)) return;
|
|
169
173
|
yield* options.execute(inputs).pipe(Effect.provideContext(entries[0].context));
|
|
170
174
|
for (let i = 0; i < entries.length; i++) {
|
|
171
175
|
entries[i].completeUnsafe(Exit.void);
|
|
@@ -206,33 +210,33 @@ const partitionRequestsById = function* (requests, schema) {
|
|
|
206
210
|
const len = requests.length;
|
|
207
211
|
const inputs = Arr.empty();
|
|
208
212
|
const byIdMap = MutableHashMap.empty();
|
|
209
|
-
let entry;
|
|
210
|
-
const encode = Schema.encodeEffect(schema);
|
|
211
|
-
const handle = Effect.matchCauseEager({
|
|
212
|
-
onFailure(cause) {
|
|
213
|
-
entry.completeUnsafe(Exit.failCause(cause));
|
|
214
|
-
},
|
|
215
|
-
onSuccess(value) {
|
|
216
|
-
inputs.push(value);
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
213
|
for (let i = 0; i < len; i++) {
|
|
220
|
-
entry = requests[i];
|
|
214
|
+
const entry = requests[i];
|
|
221
215
|
const existing = MutableHashMap.get(byIdMap, entry.request.payload);
|
|
222
216
|
if (Option.isSome(existing)) {
|
|
223
|
-
const
|
|
217
|
+
const previous = existing.value;
|
|
224
218
|
MutableHashMap.set(byIdMap, entry.request.payload, {
|
|
225
|
-
...
|
|
219
|
+
...previous,
|
|
226
220
|
completeUnsafe(exit) {
|
|
227
|
-
|
|
228
|
-
|
|
221
|
+
previous.completeUnsafe(exit);
|
|
222
|
+
entry.completeUnsafe(exit);
|
|
229
223
|
}
|
|
230
224
|
});
|
|
231
225
|
} else {
|
|
232
|
-
yield Effect.provideContext(handle(encode(entry.request.payload)), entry.context);
|
|
233
226
|
MutableHashMap.set(byIdMap, entry.request.payload, entry);
|
|
234
227
|
}
|
|
235
228
|
}
|
|
229
|
+
const encode = Schema.encodeEffect(schema);
|
|
230
|
+
for (const [, entry] of byIdMap) {
|
|
231
|
+
yield* Effect.provideContext(Effect.matchCauseEager(encode(entry.request.payload), {
|
|
232
|
+
onFailure(cause) {
|
|
233
|
+
entry.completeUnsafe(Exit.failCause(cause));
|
|
234
|
+
},
|
|
235
|
+
onSuccess(value) {
|
|
236
|
+
inputs.push(value);
|
|
237
|
+
}
|
|
238
|
+
}), entry.context);
|
|
239
|
+
}
|
|
236
240
|
return [inputs, byIdMap];
|
|
237
241
|
};
|
|
238
242
|
function transactionKey(entry) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlResolver.js","names":[],"sources":["../../../src/unstable/sql/SqlResolver.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;AAYA,OAAO,KAAK,GAAG,MAAM,gBAAgB;AACrC,OAAO,KAAK,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAK,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAK,IAAI,MAAM,eAAe;AACrC,OAAO,KAAK,IAAI,MAAM,eAAe;AACrC,OAAO,KAAK,cAAc,MAAM,yBAAyB;AACzD,OAAO,KAAK,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAK,OAAO,MAAM,kBAAkB;AAC3C,OAAO,KAAK,eAAe,MAAM,0BAA0B;AAC3D,OAAO,KAAK,MAAM,MAAM,iBAAiB;AAEzC,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAC3C,SAAS,oBAAoB,QAAQ,eAAe;AAapD,MAAM,eAAe,GAAG;EACtB,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS;EAC1B,CAAC,KAAK,CAAC,MAAM,EAEX,IAAoC;IAEpC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;EACjD,CAAC;EACD,CAAC,IAAI,CAAC,MAAM,IAAC;IACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;EAChC;CACD;AAED;;;;;;;AAOA,OAAO,MAAM,OAAO,GAoBhB;EACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;IAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;IAC7B,OAAQ,OAAY,IAAK,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;EACxE;EACA,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAQ;AAER;;;;;;;AAOA,OAAO,MAAM,UAAU,GAAiB,OAAW,IAA6B;EAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;EAC3C,IAAI,CAAC,OAAO,GAAG,OAAO;EACtB,OAAO,IAAI;AACb,CAAC;AAED;;;;;;;;;;;;;AAaA,OAAO,MAAM,OAAO,GAClB,OAMC,IAGC;EACF,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EAC5E,OAAO,eAAe,CAAC,WAAW,CAQhC;IACA,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,WAAU,OAAO;MAC3C,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;MACnF,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"SqlResolver.js","names":[],"sources":["../../../src/unstable/sql/SqlResolver.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../../src/unstable/workers/Worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../../src/unstable/workers/Worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAA;;oBAU7C,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EACvC,EAAE,EAAE,MAAM,KACP,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC;;AAVxD;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,mBAIQ;CAAG;AAE/C;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IAC9C,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,CAAC,EACV,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACpB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/C,OAAO,CAAC,EACJ;QACA,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;KACnD,GACC,SAAS,KACV,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAA;CAC9C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,YAAa;IAClC,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACpB,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAA;CAC9C,KAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CASjB,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,CACnC,OAAO,EACP,SAAS,CAAC,OAAO,CAAC,CACgC,CAAA;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;CAChB;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,GAAG,OAAO,EACrC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,KAAK,CAAC,KAAK,CAAC,OAAO,CAA0B,CAAA;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,QAE5B,CAAC,SAAS;IACR,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,SAAS,KAAK,IAAI,CAAA;CAC1E,WACQ;IACT,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;QACxB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAClB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;KAC5B,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;QACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;QAChB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;QAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACxD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;KAC5B,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC1B,KAAG,cAAc,CAAC,SAAS,CAmFxB,CAAA"}
|
|
@@ -71,6 +71,15 @@ export const makePlatform = () => options => WorkerPlatform.of({
|
|
|
71
71
|
const spawn = yield* Spawner;
|
|
72
72
|
let currentPort;
|
|
73
73
|
const buffer = [];
|
|
74
|
+
const sendToPort = (port, message, transfers) => Effect.try({
|
|
75
|
+
try: () => port.postMessage([0, message], transfers),
|
|
76
|
+
catch: cause => new WorkerError({
|
|
77
|
+
reason: new WorkerSendError({
|
|
78
|
+
message: "Failed to send message to worker",
|
|
79
|
+
cause
|
|
80
|
+
})
|
|
81
|
+
})
|
|
82
|
+
});
|
|
74
83
|
const run = (handler, opts) => Effect.uninterruptibleMask(restore => Effect.scopedWith(Effect.fnUntraced(function* (scope) {
|
|
75
84
|
const port = yield* options.setup({
|
|
76
85
|
worker: spawn(id),
|
|
@@ -102,7 +111,7 @@ export const makePlatform = () => options => WorkerPlatform.of({
|
|
|
102
111
|
currentPort = port;
|
|
103
112
|
if (buffer.length > 0) {
|
|
104
113
|
for (const [message, transfers] of buffer) {
|
|
105
|
-
port
|
|
114
|
+
yield* sendToPort(port, message, transfers);
|
|
106
115
|
}
|
|
107
116
|
buffer.length = 0;
|
|
108
117
|
}
|
|
@@ -113,17 +122,7 @@ export const makePlatform = () => options => WorkerPlatform.of({
|
|
|
113
122
|
buffer.push([message, transfers]);
|
|
114
123
|
return Effect.void;
|
|
115
124
|
}
|
|
116
|
-
|
|
117
|
-
currentPort.postMessage([0, message], transfers);
|
|
118
|
-
return Effect.void;
|
|
119
|
-
} catch (cause) {
|
|
120
|
-
return Effect.fail(new WorkerError({
|
|
121
|
-
reason: new WorkerSendError({
|
|
122
|
-
message: "Failed to send message to worker",
|
|
123
|
-
cause
|
|
124
|
-
})
|
|
125
|
-
}));
|
|
126
|
-
}
|
|
125
|
+
return sendToPort(currentPort, message, transfers);
|
|
127
126
|
});
|
|
128
127
|
return {
|
|
129
128
|
run,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.js","names":[],"sources":["../../../src/unstable/workers/Worker.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;AAYA,OAAO,KAAK,OAAO,MAAM,kBAAkB;AAE3C,OAAO,KAAK,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAK,QAAQ,MAAM,mBAAmB;AAC7C,OAAO,KAAK,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAK,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAK,KAAK,MAAM,gBAAgB;AACvC,SAAS,WAAW,EAAE,eAAe,QAAQ,kBAAkB;AAE/D;;;;;;;AAOA,OAAM,MAAO,cAAe,sBAAQ,OAAO,CAAC,OAAO,EAI/C,CAAC,sCAAsC,CAAC;AAyB5C;;;;;;;;AAQA,OAAO,MAAM,UAAU,GAAI,OAQ1B,KAAwB;EACvB,IAAI,EAAE,OAAO,CAAC,IAAI;EAClB,GAAG,CAAC,OAAO,EAAE,QAAQ;IACnB,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI;IAChD,OAAO,OAAO,CAAC,GAAG,CAAE,GAAG,IAAI;MACzB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,OAAO;MAChC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC;EACJ;CACD,CAAC;AAsBF;;;;;;AAMA,OAAO,MAAM,OAAO,gBAGhB,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC;AAapD;;;;;;AAMA,OAAO,MAAM,YAAY,gBAEG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;AAElD;;;;;;;;AAQA,OAAO,MAAM,YAAY,GAAG,MAK1B,OAWD,IACC,cAAc,CAAC,EAAE,CAAC;EAChB,KAAK,CAAO,EAAU;IACpB,OAAO,MAAM,CAAC,GAAG,CAAC,aAAS;MACzB,MAAM,KAAK,GAAI,OAAO,OAAwB;MAC9C,IAAI,WAA0B;MAC9B,MAAM,MAAM,GAAyD,EAAE;
|
|
1
|
+
{"version":3,"file":"Worker.js","names":[],"sources":["../../../src/unstable/workers/Worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.0-beta.
|
|
4
|
+
"version": "4.0.0-beta.107",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The missing standard library for TypeScript, for writing production-grade software.",
|
|
7
7
|
"homepage": "https://effect.website",
|
package/src/Channel.ts
CHANGED
|
@@ -11023,6 +11023,64 @@ export const runForEachWhile: {
|
|
|
11023
11023
|
))
|
|
11024
11024
|
)
|
|
11025
11025
|
|
|
11026
|
+
/**
|
|
11027
|
+
* Concatenates a channel's `Uint8Array` chunks into a single `Uint8Array`.
|
|
11028
|
+
*
|
|
11029
|
+
* **Example** (Joining channel byte chunks)
|
|
11030
|
+
*
|
|
11031
|
+
* ```ts import.meta.vitest
|
|
11032
|
+
* import { Channel, Effect } from "effect"
|
|
11033
|
+
*
|
|
11034
|
+
* const channel = Channel.fromArray([
|
|
11035
|
+
* [new Uint8Array([1, 2])],
|
|
11036
|
+
* [new Uint8Array([3, 4])]
|
|
11037
|
+
* ] as const)
|
|
11038
|
+
*
|
|
11039
|
+
* const bytes = Effect.runSync(Channel.mkUint8Array(channel))
|
|
11040
|
+
* Array.from(bytes) // => [1, 2, 3, 4]
|
|
11041
|
+
* ```
|
|
11042
|
+
*
|
|
11043
|
+
* **Gotchas**
|
|
11044
|
+
*
|
|
11045
|
+
* This materializes the full content in memory. The source channel must not
|
|
11046
|
+
* reuse or mutate emitted buffers, which are retained until collection completes.
|
|
11047
|
+
*
|
|
11048
|
+
* @category running
|
|
11049
|
+
* @since 4.0.0
|
|
11050
|
+
*/
|
|
11051
|
+
export const mkUint8Array = <OutErr, OutDone, Env>(
|
|
11052
|
+
self: Channel<Arr.NonEmptyReadonlyArray<Uint8Array>, OutErr, OutDone, unknown, unknown, unknown, Env>
|
|
11053
|
+
): Effect.Effect<Uint8Array<ArrayBuffer>, OutErr, Env> =>
|
|
11054
|
+
Effect.map(
|
|
11055
|
+
runFold(
|
|
11056
|
+
self,
|
|
11057
|
+
(): {
|
|
11058
|
+
bytes: number
|
|
11059
|
+
readonly arrays: Array<Uint8Array>
|
|
11060
|
+
} => ({
|
|
11061
|
+
bytes: 0,
|
|
11062
|
+
arrays: []
|
|
11063
|
+
}),
|
|
11064
|
+
(acc, chunk) => {
|
|
11065
|
+
for (let i = 0; i < chunk.length; i++) {
|
|
11066
|
+
acc.bytes += chunk[i].length
|
|
11067
|
+
acc.arrays.push(chunk[i])
|
|
11068
|
+
}
|
|
11069
|
+
return acc
|
|
11070
|
+
}
|
|
11071
|
+
),
|
|
11072
|
+
({ arrays, bytes }) => {
|
|
11073
|
+
const result = new Uint8Array(bytes)
|
|
11074
|
+
let offset = 0
|
|
11075
|
+
for (let i = 0; i < arrays.length; i++) {
|
|
11076
|
+
const array = arrays[i]
|
|
11077
|
+
result.set(array, offset)
|
|
11078
|
+
offset += array.length
|
|
11079
|
+
}
|
|
11080
|
+
return result
|
|
11081
|
+
}
|
|
11082
|
+
)
|
|
11083
|
+
|
|
11026
11084
|
/**
|
|
11027
11085
|
* Runs a channel and collects all output elements into an array.
|
|
11028
11086
|
*
|
package/src/Config.ts
CHANGED
|
@@ -11,7 +11,7 @@ import type { Path, SourceError } from "./ConfigProvider.ts"
|
|
|
11
11
|
import * as ConfigProvider from "./ConfigProvider.ts"
|
|
12
12
|
import * as Effect from "./Effect.ts"
|
|
13
13
|
import * as Effectable from "./Effectable.ts"
|
|
14
|
-
import { dual } from "./Function.ts"
|
|
14
|
+
import { dual, memoize } from "./Function.ts"
|
|
15
15
|
import * as InternalRecord from "./internal/record.ts"
|
|
16
16
|
import * as LogLevel_ from "./LogLevel.ts"
|
|
17
17
|
import * as Option from "./Option.ts"
|
|
@@ -1042,7 +1042,7 @@ const hasProviderInput = (
|
|
|
1042
1042
|
}
|
|
1043
1043
|
}
|
|
1044
1044
|
|
|
1045
|
-
const toConfigCursorAST = (root: SchemaAST.AST): SchemaAST.AST => {
|
|
1045
|
+
const toConfigCursorAST = memoize((root: SchemaAST.AST): SchemaAST.AST => {
|
|
1046
1046
|
const seen = new WeakSet<SchemaAST.AST>()
|
|
1047
1047
|
const recur = SchemaAST.applyToSelfOrLastLinkEncoding((ast) => {
|
|
1048
1048
|
seen.add(ast)
|
|
@@ -1106,7 +1106,7 @@ const toConfigCursorAST = (root: SchemaAST.AST): SchemaAST.AST => {
|
|
|
1106
1106
|
}
|
|
1107
1107
|
})
|
|
1108
1108
|
return recur(root)
|
|
1109
|
-
}
|
|
1109
|
+
})
|
|
1110
1110
|
|
|
1111
1111
|
/**
|
|
1112
1112
|
* Creates a `Config<T>` from a `Schema.Codec`.
|
package/src/ConfigProvider.ts
CHANGED
|
@@ -1090,14 +1090,50 @@ function emptyStringAsMissing(value: string | undefined, preserveEmptyStrings: b
|
|
|
1090
1090
|
return value === "" && !preserveEmptyStrings ? undefined : value
|
|
1091
1091
|
}
|
|
1092
1092
|
|
|
1093
|
+
/**
|
|
1094
|
+
* Creates a `ConfigProvider` backed by an explicit environment record.
|
|
1095
|
+
*
|
|
1096
|
+
* **When to use**
|
|
1097
|
+
*
|
|
1098
|
+
* Use when a restricted runtime cannot evaluate the automatic environment
|
|
1099
|
+
* detection performed by {@link fromEnv}, or whenever the environment record
|
|
1100
|
+
* must be supplied explicitly.
|
|
1101
|
+
*
|
|
1102
|
+
* **Details**
|
|
1103
|
+
*
|
|
1104
|
+
* `undefined` values are ignored. Path lookup and child discovery otherwise
|
|
1105
|
+
* use the same environment-variable semantics as {@link fromEnv}.
|
|
1106
|
+
*
|
|
1107
|
+
* Environment variable names are captured at construction time to establish
|
|
1108
|
+
* record keys and array lengths. The supplied record remains live for value
|
|
1109
|
+
* lookups, so updates to known paths are observed by later loads. Keys added
|
|
1110
|
+
* after construction can be loaded directly, but do not appear in captured
|
|
1111
|
+
* parent record keys or array lengths.
|
|
1112
|
+
*
|
|
1113
|
+
* Literal empty strings are treated as missing values by default. Pass
|
|
1114
|
+
* `{ preserveEmptyStrings: true }` to keep empty strings as explicit values.
|
|
1115
|
+
*
|
|
1116
|
+
* @see {@link fromEnv} – automatically reads the runtime environment
|
|
1117
|
+
*
|
|
1118
|
+
* @category constructors
|
|
1119
|
+
* @since 4.0.0
|
|
1120
|
+
*/
|
|
1121
|
+
export function fromEnvRecord(
|
|
1122
|
+
env: Record<string, string | undefined>,
|
|
1123
|
+
options?: { readonly preserveEmptyStrings?: boolean | undefined }
|
|
1124
|
+
): ConfigProvider {
|
|
1125
|
+
const preserveEmptyStrings = options?.preserveEmptyStrings === true
|
|
1126
|
+
const trie = buildEnvTrie(env)
|
|
1127
|
+
return make((path) => Effect.succeed(nodeAtEnv(trie, env, path, preserveEmptyStrings)))
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1093
1130
|
/**
|
|
1094
1131
|
* Creates a `ConfigProvider` backed by environment variables.
|
|
1095
1132
|
*
|
|
1096
1133
|
* **When to use**
|
|
1097
1134
|
*
|
|
1098
1135
|
* Use to read configuration from `process.env`, which is the default when no
|
|
1099
|
-
* provider is explicitly set, or pass a custom env record for testing
|
|
1100
|
-
* non-Node runtimes.
|
|
1136
|
+
* provider is explicitly set, or pass a custom env record for testing.
|
|
1101
1137
|
*
|
|
1102
1138
|
* **Details**
|
|
1103
1139
|
*
|
|
@@ -1138,6 +1174,7 @@ function emptyStringAsMissing(value: string | undefined, preserveEmptyStrings: b
|
|
|
1138
1174
|
* ```
|
|
1139
1175
|
*
|
|
1140
1176
|
* @see {@link fromUnknown} – for JSON objects
|
|
1177
|
+
* @see {@link fromEnvRecord} – for explicit records in restricted runtimes
|
|
1141
1178
|
* @see {@link constantCase} – bridge camelCase keys to SCREAMING_SNAKE_CASE
|
|
1142
1179
|
*
|
|
1143
1180
|
* @category constructors
|
|
@@ -1153,10 +1190,7 @@ export function fromEnv(options?: {
|
|
|
1153
1190
|
}).process?.env,
|
|
1154
1191
|
...(import.meta as any)?.env
|
|
1155
1192
|
}
|
|
1156
|
-
|
|
1157
|
-
const trie = buildEnvTrie(env)
|
|
1158
|
-
|
|
1159
|
-
return make((path) => Effect.succeed(nodeAtEnv(trie, env, path, preserveEmptyStrings)))
|
|
1193
|
+
return fromEnvRecord(env, { preserveEmptyStrings: options?.preserveEmptyStrings })
|
|
1160
1194
|
}
|
|
1161
1195
|
|
|
1162
1196
|
type EnvTrieNode = {
|
|
@@ -1242,7 +1276,7 @@ function trieNodeAt(root: EnvTrieNode, path: Path): EnvTrieNode | undefined {
|
|
|
1242
1276
|
*
|
|
1243
1277
|
* Parsing is based on the `dotenv` / `dotenv-expand` algorithm.
|
|
1244
1278
|
*
|
|
1245
|
-
* Internally delegates to {@link
|
|
1279
|
+
* Internally delegates to {@link fromEnvRecord} with the parsed key-value pairs.
|
|
1246
1280
|
*
|
|
1247
1281
|
* **Example** (Parsing .env contents)
|
|
1248
1282
|
*
|
|
@@ -1261,6 +1295,7 @@ function trieNodeAt(root: EnvTrieNode, path: Path): EnvTrieNode | undefined {
|
|
|
1261
1295
|
* ```
|
|
1262
1296
|
*
|
|
1263
1297
|
* @see {@link fromDotEnv} – loads a `.env` file from disk
|
|
1298
|
+
* @see {@link fromEnvRecord} – for explicit environment records
|
|
1264
1299
|
* @see {@link fromEnv} – for raw environment variable access
|
|
1265
1300
|
*
|
|
1266
1301
|
* @category constructors
|
|
@@ -1274,7 +1309,7 @@ export function fromDotEnvContents(lines: string, options?: {
|
|
|
1274
1309
|
if (options?.expandVariables) {
|
|
1275
1310
|
env = dotEnvExpand(env)
|
|
1276
1311
|
}
|
|
1277
|
-
return
|
|
1312
|
+
return fromEnvRecord(env, { preserveEmptyStrings: options?.preserveEmptyStrings })
|
|
1278
1313
|
}
|
|
1279
1314
|
|
|
1280
1315
|
const DOT_ENV_LINE =
|
package/src/Duration.ts
CHANGED
|
@@ -351,7 +351,18 @@ const negativeInfinityDurationValue: DurationValue = { _tag: "NegativeInfinity"
|
|
|
351
351
|
const DurationProto: Omit<Duration, "value"> = {
|
|
352
352
|
[TypeId]: TypeId,
|
|
353
353
|
[Hash.symbol](this: Duration) {
|
|
354
|
-
|
|
354
|
+
// Hash equal finite durations using the same canonical nanoseconds
|
|
355
|
+
// representation used by `equals`.
|
|
356
|
+
switch (this.value._tag) {
|
|
357
|
+
case "Millis": {
|
|
358
|
+
const nanos = this.value.millis * 1_000_000
|
|
359
|
+
return Number.isFinite(nanos) ? Hash.hash(roundTiesAwayFromZero(nanos)) : Hash.number(this.value.millis)
|
|
360
|
+
}
|
|
361
|
+
case "Nanos":
|
|
362
|
+
return Hash.hash(this.value.nanos)
|
|
363
|
+
default:
|
|
364
|
+
return Hash.structure(this.value)
|
|
365
|
+
}
|
|
355
366
|
},
|
|
356
367
|
[Equal.symbol](this: Duration, that: unknown): boolean {
|
|
357
368
|
return isDuration(that) && equals(this, that)
|
package/src/Fiber.ts
CHANGED
|
@@ -309,7 +309,7 @@ export const joinAll: <A extends Iterable<Fiber<any, any>>>(
|
|
|
309
309
|
A,
|
|
310
310
|
A extends Iterable<Fiber<infer _A, infer _E>> ? _A : never
|
|
311
311
|
>,
|
|
312
|
-
A extends Fiber<infer _A, infer _E
|
|
312
|
+
A extends Iterable<Fiber<infer _A, infer _E>> ? _E : never
|
|
313
313
|
> = effect.fiberJoinAll
|
|
314
314
|
|
|
315
315
|
/**
|
package/src/Function.ts
CHANGED
|
@@ -1516,3 +1516,40 @@ export function memoize<A extends object, O extends {} | null>(f: (a: A) => O):
|
|
|
1516
1516
|
return result
|
|
1517
1517
|
}
|
|
1518
1518
|
}
|
|
1519
|
+
|
|
1520
|
+
/**
|
|
1521
|
+
* Creates a memoized idempotent object transformation that caches both inputs
|
|
1522
|
+
* and their outputs by object identity.
|
|
1523
|
+
*
|
|
1524
|
+
* **When to use**
|
|
1525
|
+
*
|
|
1526
|
+
* Use when an object transformation is idempotent and its output can be safely
|
|
1527
|
+
* reused as a fixed point.
|
|
1528
|
+
*
|
|
1529
|
+
* **Details**
|
|
1530
|
+
*
|
|
1531
|
+
* After computing an input, the returned function caches both the input and
|
|
1532
|
+
* the output. Calling it with either reference returns the output without
|
|
1533
|
+
* invoking the supplied function again.
|
|
1534
|
+
*
|
|
1535
|
+
* **Gotchas**
|
|
1536
|
+
*
|
|
1537
|
+
* The returned function treats each computed output as a fixed point. If
|
|
1538
|
+
* applying the supplied function to an output would produce an observably
|
|
1539
|
+
* different value, this memoization changes that behavior.
|
|
1540
|
+
*
|
|
1541
|
+
* @see {@link memoize} for memoizing functions without an idempotence requirement
|
|
1542
|
+
* @category caching
|
|
1543
|
+
* @since 4.0.0
|
|
1544
|
+
*/
|
|
1545
|
+
export function memoizeIdempotent<A extends object>(f: (a: A) => A): (a: A) => A {
|
|
1546
|
+
const cache = new WeakMap<A, A>()
|
|
1547
|
+
return (a) => {
|
|
1548
|
+
const cached = cache.get(a)
|
|
1549
|
+
if (cached !== undefined) return cached
|
|
1550
|
+
const result = f(a)
|
|
1551
|
+
cache.set(a, result)
|
|
1552
|
+
cache.set(result, result)
|
|
1553
|
+
return result
|
|
1554
|
+
}
|
|
1555
|
+
}
|
package/src/JsonSchema.ts
CHANGED
|
@@ -256,19 +256,6 @@ const DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS = new Set(["not", "additionalProperties
|
|
|
256
256
|
|
|
257
257
|
const MAP_SUBSCHEMA_KEYWORDS = new Set(["properties", "patternProperties"])
|
|
258
258
|
const ARRAY_SUBSCHEMA_KEYWORDS = new Set(["allOf", "anyOf", "oneOf"])
|
|
259
|
-
const DRAFT_2020_12_MAP_SUBSCHEMA_KEYWORDS = new Set(["$defs", ...MAP_SUBSCHEMA_KEYWORDS, "dependentSchemas"])
|
|
260
|
-
const DRAFT_2020_12_ARRAY_SUBSCHEMA_KEYWORDS = new Set([...ARRAY_SUBSCHEMA_KEYWORDS, "prefixItems"])
|
|
261
|
-
const DRAFT_2020_12_SINGLE_SUBSCHEMA_KEYWORDS = new Set([
|
|
262
|
-
...DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS,
|
|
263
|
-
"unevaluatedProperties",
|
|
264
|
-
"items",
|
|
265
|
-
"contains",
|
|
266
|
-
"unevaluatedItems",
|
|
267
|
-
"if",
|
|
268
|
-
"then",
|
|
269
|
-
"else",
|
|
270
|
-
"contentSchema"
|
|
271
|
-
])
|
|
272
259
|
|
|
273
260
|
/**
|
|
274
261
|
* Parses a raw Draft-07 JSON Schema into a `Document<"draft-2020-12">`.
|
|
@@ -465,10 +452,7 @@ export function fromSchemaDraft2020_12(js: JsonSchema): Document<"draft-2020-12"
|
|
|
465
452
|
* @since 4.0.0
|
|
466
453
|
*/
|
|
467
454
|
export function fromSchemaOpenApi3_1(js: JsonSchema): Document<"draft-2020-12"> {
|
|
468
|
-
const schema =
|
|
469
|
-
js,
|
|
470
|
-
(schema) => rewriteSchemaRef(schema, (ref) => ref.replace(RE_COMPONENTS_SCHEMAS, "#/$defs"))
|
|
471
|
-
) as JsonSchema
|
|
455
|
+
const schema = rewriteRefs(js, (ref) => ref.replace(RE_COMPONENTS_SCHEMAS, "#/$defs"))
|
|
472
456
|
return fromSchemaDraft2020_12(schema)
|
|
473
457
|
}
|
|
474
458
|
|
|
@@ -828,20 +812,16 @@ export function toMultiDocumentOpenApi3_1(multiDocument: MultiDocument<"draft-20
|
|
|
828
812
|
}
|
|
829
813
|
|
|
830
814
|
function rewrite(schema: JsonSchema): JsonSchema {
|
|
831
|
-
return
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
const key = keyMap.get(unescapeToken(token)) ?? token
|
|
842
|
-
return `#/components/schemas/${key}${rest}`
|
|
843
|
-
})
|
|
844
|
-
) as JsonSchema
|
|
815
|
+
return rewriteRefs(schema, ($ref) => {
|
|
816
|
+
if (!$ref.startsWith("#/$defs/")) return $ref
|
|
817
|
+
|
|
818
|
+
const path = $ref.slice("#/$defs/".length)
|
|
819
|
+
const separatorIndex = path.indexOf("/")
|
|
820
|
+
const token = separatorIndex === -1 ? path : path.slice(0, separatorIndex)
|
|
821
|
+
const rest = separatorIndex === -1 ? "" : path.slice(separatorIndex)
|
|
822
|
+
const key = keyMap.get(unescapeToken(token)) ?? token
|
|
823
|
+
return `#/components/schemas/${key}${rest}`
|
|
824
|
+
})
|
|
845
825
|
}
|
|
846
826
|
|
|
847
827
|
return {
|
|
@@ -874,18 +854,37 @@ function transformSchema(
|
|
|
874
854
|
return walk(node)
|
|
875
855
|
|
|
876
856
|
function walk(node: unknown): unknown {
|
|
877
|
-
if (!Predicate.isObject(node)
|
|
857
|
+
if (!Predicate.isObject(node)) return node
|
|
878
858
|
|
|
879
859
|
const out: Record<string, unknown> = {}
|
|
880
860
|
for (const key of Object.keys(node)) {
|
|
881
861
|
const value = node[key]
|
|
882
862
|
let transformed = value
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
863
|
+
switch (key) {
|
|
864
|
+
case "$defs":
|
|
865
|
+
case "properties":
|
|
866
|
+
case "patternProperties":
|
|
867
|
+
case "dependentSchemas":
|
|
868
|
+
transformed = mapObject(value, walk) ?? value
|
|
869
|
+
break
|
|
870
|
+
case "allOf":
|
|
871
|
+
case "anyOf":
|
|
872
|
+
case "oneOf":
|
|
873
|
+
case "prefixItems":
|
|
874
|
+
transformed = Array.isArray(value) ? value.map(walk) : value
|
|
875
|
+
break
|
|
876
|
+
case "not":
|
|
877
|
+
case "additionalProperties":
|
|
878
|
+
case "propertyNames":
|
|
879
|
+
case "unevaluatedProperties":
|
|
880
|
+
case "items":
|
|
881
|
+
case "contains":
|
|
882
|
+
case "unevaluatedItems":
|
|
883
|
+
case "if":
|
|
884
|
+
case "then":
|
|
885
|
+
case "else":
|
|
886
|
+
case "contentSchema":
|
|
887
|
+
transformed = walk(value)
|
|
889
888
|
}
|
|
890
889
|
InternalRecord.assignProperty(out, key, transformed)
|
|
891
890
|
}
|
|
@@ -893,6 +892,11 @@ function transformSchema(
|
|
|
893
892
|
}
|
|
894
893
|
}
|
|
895
894
|
|
|
895
|
+
/** @internal */
|
|
896
|
+
export function rewriteRefs(schema: JsonSchema, rewrite: ($ref: string) => string): JsonSchema {
|
|
897
|
+
return transformSchema(schema, (schema) => rewriteSchemaRef(schema, rewrite)) as JsonSchema
|
|
898
|
+
}
|
|
899
|
+
|
|
896
900
|
function rewriteSchemaRef(
|
|
897
901
|
schema: Record<string, unknown>,
|
|
898
902
|
rewrite: ($ref: string) => string
|
|
@@ -904,10 +908,7 @@ function rewriteSchemaRef(
|
|
|
904
908
|
}
|
|
905
909
|
|
|
906
910
|
function mapObject(value: unknown, f: (node: unknown) => unknown): Record<string, unknown> | undefined {
|
|
907
|
-
|
|
908
|
-
const out: Record<string, unknown> = {}
|
|
909
|
-
for (const k of Object.keys(value)) InternalRecord.assignProperty(out, k, f(value[k]))
|
|
910
|
-
return out
|
|
911
|
+
return Predicate.isObject(value) ? Rec.map(value, f) : undefined
|
|
911
912
|
}
|
|
912
913
|
|
|
913
914
|
function rewriteSubschemaKeyword(
|