effect 4.0.0-beta.11 → 4.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Config.d.ts +157 -0
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +56 -1
- package/dist/Config.js.map +1 -1
- package/dist/Effect.d.ts +79 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +26 -0
- package/dist/Effect.js.map +1 -1
- package/dist/Fiber.d.ts +2 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +3 -6
- package/dist/Graph.js.map +1 -1
- package/dist/Random.d.ts +17 -0
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +17 -0
- package/dist/Random.js.map +1 -1
- package/dist/Schema.d.ts +3 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/internal/effect.js +59 -44
- package/dist/internal/effect.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +49 -18
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +112 -36
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +47 -10
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +33 -6
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +16 -0
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -0
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +28 -4
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +13 -24
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +4 -8
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +6 -1
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +26 -17
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +1 -1
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +5 -10
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Config.ts +171 -9
- package/src/Effect.ts +80 -0
- package/src/Fiber.ts +9 -2
- package/src/Graph.ts +16 -6
- package/src/Random.ts +18 -0
- package/src/Schema.ts +1 -1
- package/src/internal/effect.ts +82 -49
- package/src/unstable/ai/LanguageModel.ts +54 -24
- package/src/unstable/ai/McpSchema.ts +57 -11
- package/src/unstable/ai/McpServer.ts +44 -6
- package/src/unstable/ai/Tool.ts +15 -0
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +2 -2
- package/src/unstable/http/HttpClient.ts +45 -10
- package/src/unstable/http/HttpEffect.ts +20 -39
- package/src/unstable/http/HttpMiddleware.ts +4 -14
- package/src/unstable/http/HttpServerError.ts +29 -18
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +1 -1
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +10 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcServer.js","names":["Cause","Deferred","Effect","Exit","Fiber","constant","constTrue","constVoid","identity","reportCauseUnsafe","Latch","Layer","Predicate","Pull","Queue","Result","Schedule","Schema","Scope","Semaphore","ServiceMap","Stdio","Stream","Tracer","Headers","HttpRouter","HttpServerRequest","HttpServerResponse","SocketServer","Transferable","WorkerRunner","Rpc","constEof","constPong","RequestId","ResponseDefectEncoded","RpcSchema","RpcSerialization","withRun","makeNoSerialization","fnUntraced","group","options","enableTracing","disableTracing","enableSpanPropagation","disableSpanPropagation","supportsAck","disableClientAcks","spanPrefix","concurrency","disableFatalDefects","services","scope","get","trackFiber","runIn","forkUnsafe","concurrencySemaphore","undefined","make","clients","Map","isShutdown","shutdownLatch","makeUnsafe","addFinalizer","withFiber","parent","client","values","ended","fibers","size","runForkWith","endClient","fiber","interruptUnsafe","id","void","await","disconnect","clientId","delete","write","message","catchDefect","requestFiber","interrupt","latches","set","_tag","handleRequest","latch","requestId","open","forkDetach","interruptAs","fiberIdClientInterrupt","startImmediately","onFromServer","exit","sendDefect","defect","andThen","request","has","rpc","requests","tag","entry","mapUnsafe","key","die","ensuring","isStream","isStreamSchema","successSchema","metadata","headers","payload","result","handler","isWrapper","isFork","fork","isUninterruptible","uninterruptible","streamOrEffect","value","streamEffect","withMiddleware","middlewares","applyMiddleware","responded","effect","onExit","close","closeUnsafe","hasDies","cause","hasInterrupts","squash","getCurrent","parentSpan","ParentSpan","withSpan","captureStackTrace","attributes","spanAttributes","spanId","externalSpan","traceId","sampled","links","span","withPermits","serviceMap","forEach","runFork","addObserver","stream","isEffect","pipe","flatMap","queue","whileLoop","while","body","takeAll","step","catchDone","scoped","runForEachArray","suspend","shouldEnd","service","middleware","getUnsafe","disconnects","end","run","send","supportsSpanPropagation","supportsTransferables","Protocol","server","response","schemas","handleEncode","encodeDefect","collector","provideServices","encodeChunk","String","encodeExit","provide","forkChild","take","schemasCache","WeakMap","getSchemas","streamSchemas","getStreamSchemas","decode","decodeUnknownEffect","toCodecJson","payloadSchema","encodeUnknownEffect","Array","success","Any","exitSchema","defectSchema","onSuccess","provideService","Collector","a","clearUnsafe","catchCause","map","e","issue","toString","sendRequestDefect","interruptors","encodedDefect","annotateLogs","logDebug","module","method","hasProperty","matchEffect","onFailure","error","makeCollectorUnsafe","fromInput","tapCause","logFatal","layer","effectDiscard","forkScoped","layerHttp","protocol","layerProtocolHttp","layerProtocolWebsocket","Service","makeProtocolSocketServer","gen","onSocket","makeSocketProtocol","layerProtocolSocketServer","makeProtocolWithHttpEffectWebsocket","httpEffect","socket","orDie","upgrade","Object","entries","empty","makeProtocolWebsocket","router","add","path","makeProtocolWithHttpEffect","serialization","includesFraming","isBinary","contentType","includes","writeRequest","clientIds","Set","encoder","TextEncoder","requestHeaders","data","arrayBuffer","buf","Uint8Array","text","parser","offer","encode","encoded","addFinalizerExit","offerUnsafe","state","requestIds","discard","decoded","i","length","push","concat","responses","collect","initialChunk","uint8Array","mergeUint8Arrays","fromArray","fromQueue","writeRequest_","succeed","sync","initialMessage","succeedNone","arrays","reduce","acc","arr","offset","makeProtocolHttp","toHttpEffect","toHttpEffectWebsocket","makeProtocolStdio","stdio","stdin","runForEach","sandbox","tapError","logError","retry","spaced","stdout","_clientId","responseEncoded","layerProtocolStdio","makeProtocolWorkerRunner","runner","WorkerRunnerPlatform","backing","start","currentScheduler","scheduleTask","tap","asSome","layerProtocolWorkerRunner","writeRaw","writer","runRaw","catchIf","reason","fail","_"],"sources":["../../../src/unstable/rpc/RpcServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RpcServer.js","names":["Cause","Deferred","Effect","Exit","Fiber","constant","constTrue","constVoid","identity","reportCauseUnsafe","Latch","Layer","Predicate","Pull","Queue","Result","Schedule","Schema","Scope","Semaphore","ServiceMap","Stdio","Stream","Tracer","Headers","HttpRouter","HttpServerRequest","HttpServerResponse","SocketServer","Transferable","WorkerRunner","Rpc","constEof","constPong","RequestId","ResponseDefectEncoded","RpcSchema","RpcSerialization","withRun","makeNoSerialization","fnUntraced","group","options","enableTracing","disableTracing","enableSpanPropagation","disableSpanPropagation","supportsAck","disableClientAcks","spanPrefix","concurrency","disableFatalDefects","services","scope","get","trackFiber","runIn","forkUnsafe","concurrencySemaphore","undefined","make","clients","Map","isShutdown","shutdownLatch","makeUnsafe","addFinalizer","withFiber","parent","client","values","ended","fibers","size","runForkWith","endClient","fiber","interruptUnsafe","id","void","await","disconnect","clientId","delete","write","message","catchDefect","requestFiber","interrupt","latches","set","_tag","handleRequest","latch","requestId","open","ClientAbort","annotation","onFromServer","exit","sendDefect","defect","andThen","request","has","rpc","requests","tag","entry","mapUnsafe","key","die","ensuring","isStream","isStreamSchema","successSchema","metadata","headers","payload","result","handler","isWrapper","isFork","fork","isUninterruptible","uninterruptible","streamOrEffect","value","streamEffect","withMiddleware","middlewares","applyMiddleware","responded","effect","onExit","close","closeUnsafe","hasDies","cause","hasInterrupts","squash","getCurrent","parentSpan","ParentSpan","withSpan","captureStackTrace","attributes","spanAttributes","spanId","externalSpan","traceId","sampled","links","span","withPermits","serviceMap","forEach","runFork","addObserver","stream","isEffect","pipe","flatMap","queue","whileLoop","while","body","takeAll","step","catchDone","scoped","runForEachArray","suspend","shouldEnd","service","middleware","getUnsafe","disconnects","end","run","send","supportsSpanPropagation","supportsTransferables","Protocol","server","response","schemas","handleEncode","encodeDefect","collector","provideServices","encodeChunk","String","encodeExit","provide","forkChild","take","schemasCache","WeakMap","getSchemas","streamSchemas","getStreamSchemas","decode","decodeUnknownEffect","toCodecJson","payloadSchema","encodeUnknownEffect","Array","success","Any","exitSchema","defectSchema","onSuccess","provideService","Collector","a","clearUnsafe","catchCause","map","e","issue","toString","sendRequestDefect","interruptors","encodedDefect","annotateLogs","logDebug","module","method","hasProperty","matchEffect","onFailure","error","makeCollectorUnsafe","fromInput","tapCause","logFatal","layer","effectDiscard","forkScoped","layerHttp","protocol","layerProtocolHttp","layerProtocolWebsocket","Service","makeProtocolSocketServer","gen","onSocket","makeSocketProtocol","layerProtocolSocketServer","makeProtocolWithHttpEffectWebsocket","httpEffect","socket","orDie","upgrade","Object","entries","empty","makeProtocolWebsocket","router","add","path","makeProtocolWithHttpEffect","serialization","includesFraming","isBinary","contentType","includes","writeRequest","clientIds","Set","encoder","TextEncoder","requestHeaders","data","arrayBuffer","buf","Uint8Array","text","parser","offer","encode","encoded","addFinalizerExit","offerUnsafe","state","requestIds","discard","decoded","i","length","push","concat","responses","collect","initialChunk","uint8Array","mergeUint8Arrays","fromArray","fromQueue","writeRequest_","succeed","sync","initialMessage","succeedNone","arrays","reduce","acc","arr","offset","makeProtocolHttp","toHttpEffect","toHttpEffectWebsocket","makeProtocolStdio","stdio","stdin","runForEach","sandbox","tapError","logError","retry","spaced","forkDetach","startImmediately","stdout","_clientId","responseEncoded","layerProtocolStdio","makeProtocolWorkerRunner","runner","WorkerRunnerPlatform","backing","start","currentScheduler","scheduleTask","tap","asSome","layerProtocolWorkerRunner","writeRaw","writer","runRaw","catchIf","reason","fail","_"],"sources":["../../../src/unstable/rpc/RpcServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Config.ts
CHANGED
|
@@ -886,18 +886,19 @@ export function schema<T, E>(codec: Schema.Codec<T, E>, path?: string | ConfigPr
|
|
|
886
886
|
const decodeUnknownEffect = Parser.decodeUnknownEffect(toCodecStringTree)
|
|
887
887
|
const toCodecStringTreeEncoded = AST.toEncoded(toCodecStringTree.ast)
|
|
888
888
|
const defaultPath = typeof path === "string" ? [path] : path ?? []
|
|
889
|
-
return make((provider) =>
|
|
890
|
-
|
|
889
|
+
return make((provider) => {
|
|
890
|
+
const path = provider.prefix ? [...provider.prefix, ...defaultPath] : defaultPath
|
|
891
|
+
return recur(toCodecStringTreeEncoded, provider, defaultPath).pipe(
|
|
891
892
|
Effect.flatMapEager((tree) =>
|
|
892
|
-
decodeUnknownEffect(tree).pipe(
|
|
893
|
-
|
|
894
|
-
|
|
893
|
+
decodeUnknownEffect(tree).pipe(
|
|
894
|
+
Effect.mapErrorEager((issue) =>
|
|
895
|
+
new Schema.SchemaError(path.length > 0 ? new Issue.Pointer(path, issue) : issue)
|
|
896
|
+
)
|
|
897
|
+
)
|
|
895
898
|
),
|
|
896
|
-
Effect.mapErrorEager((cause) =>
|
|
897
|
-
new ConfigError(cause)
|
|
898
|
-
)
|
|
899
|
+
Effect.mapErrorEager((cause) => new ConfigError(cause))
|
|
899
900
|
)
|
|
900
|
-
)
|
|
901
|
+
})
|
|
901
902
|
}
|
|
902
903
|
|
|
903
904
|
/** @internal */
|
|
@@ -1446,3 +1447,164 @@ export function url(name?: string) {
|
|
|
1446
1447
|
export function date(name?: string) {
|
|
1447
1448
|
return schema(Schema.DateValid, name)
|
|
1448
1449
|
}
|
|
1450
|
+
|
|
1451
|
+
/**
|
|
1452
|
+
* Scopes a config under a named prefix.
|
|
1453
|
+
*
|
|
1454
|
+
* When to use:
|
|
1455
|
+
* - Grouping related config keys under a common namespace (e.g.
|
|
1456
|
+
* `"database"`, `"redis"`).
|
|
1457
|
+
* - Building reusable config fragments that callers nest at different paths.
|
|
1458
|
+
*
|
|
1459
|
+
* The prefix is prepended to every key the inner config reads. With
|
|
1460
|
+
* `fromUnknown` this means an extra object level; with `fromEnv` it means
|
|
1461
|
+
* a `_`-separated prefix on env var names.
|
|
1462
|
+
*
|
|
1463
|
+
* Multiple `nested` calls compose: the outermost name becomes the
|
|
1464
|
+
* outermost path segment.
|
|
1465
|
+
*
|
|
1466
|
+
* **Example** (Nesting a struct config under `"database"`)
|
|
1467
|
+
*
|
|
1468
|
+
* ```ts
|
|
1469
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1470
|
+
*
|
|
1471
|
+
* const dbConfig = Config.all({
|
|
1472
|
+
* host: Config.string("host"),
|
|
1473
|
+
* port: Config.number("port")
|
|
1474
|
+
* }).pipe(Config.nested("database"))
|
|
1475
|
+
*
|
|
1476
|
+
* const provider = ConfigProvider.fromUnknown({
|
|
1477
|
+
* database: { host: "localhost", port: "5432" }
|
|
1478
|
+
* })
|
|
1479
|
+
* // Effect.runSync(dbConfig.parse(provider))
|
|
1480
|
+
* // { host: "localhost", port: 5432 }
|
|
1481
|
+
* ```
|
|
1482
|
+
*
|
|
1483
|
+
* **Example** (Env vars with nested prefix)
|
|
1484
|
+
*
|
|
1485
|
+
* ```ts
|
|
1486
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1487
|
+
*
|
|
1488
|
+
* const host = Config.string("host").pipe(Config.nested("database"))
|
|
1489
|
+
*
|
|
1490
|
+
* const provider = ConfigProvider.fromEnv({
|
|
1491
|
+
* env: { database_host: "localhost" }
|
|
1492
|
+
* })
|
|
1493
|
+
* // Effect.runSync(host.parse(provider)) // "localhost"
|
|
1494
|
+
* ```
|
|
1495
|
+
*
|
|
1496
|
+
* @see {@link all} – combine multiple configs into a struct
|
|
1497
|
+
* @see {@link schema} – read structured config from a schema
|
|
1498
|
+
*
|
|
1499
|
+
* @category Combinators
|
|
1500
|
+
* @since 4.0.0
|
|
1501
|
+
*/
|
|
1502
|
+
export const nested: {
|
|
1503
|
+
/**
|
|
1504
|
+
* Scopes a config under a named prefix.
|
|
1505
|
+
*
|
|
1506
|
+
* When to use:
|
|
1507
|
+
* - Grouping related config keys under a common namespace (e.g.
|
|
1508
|
+
* `"database"`, `"redis"`).
|
|
1509
|
+
* - Building reusable config fragments that callers nest at different paths.
|
|
1510
|
+
*
|
|
1511
|
+
* The prefix is prepended to every key the inner config reads. With
|
|
1512
|
+
* `fromUnknown` this means an extra object level; with `fromEnv` it means
|
|
1513
|
+
* a `_`-separated prefix on env var names.
|
|
1514
|
+
*
|
|
1515
|
+
* Multiple `nested` calls compose: the outermost name becomes the
|
|
1516
|
+
* outermost path segment.
|
|
1517
|
+
*
|
|
1518
|
+
* **Example** (Nesting a struct config under `"database"`)
|
|
1519
|
+
*
|
|
1520
|
+
* ```ts
|
|
1521
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1522
|
+
*
|
|
1523
|
+
* const dbConfig = Config.all({
|
|
1524
|
+
* host: Config.string("host"),
|
|
1525
|
+
* port: Config.number("port")
|
|
1526
|
+
* }).pipe(Config.nested("database"))
|
|
1527
|
+
*
|
|
1528
|
+
* const provider = ConfigProvider.fromUnknown({
|
|
1529
|
+
* database: { host: "localhost", port: "5432" }
|
|
1530
|
+
* })
|
|
1531
|
+
* // Effect.runSync(dbConfig.parse(provider))
|
|
1532
|
+
* // { host: "localhost", port: 5432 }
|
|
1533
|
+
* ```
|
|
1534
|
+
*
|
|
1535
|
+
* **Example** (Env vars with nested prefix)
|
|
1536
|
+
*
|
|
1537
|
+
* ```ts
|
|
1538
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1539
|
+
*
|
|
1540
|
+
* const host = Config.string("host").pipe(Config.nested("database"))
|
|
1541
|
+
*
|
|
1542
|
+
* const provider = ConfigProvider.fromEnv({
|
|
1543
|
+
* env: { database_host: "localhost" }
|
|
1544
|
+
* })
|
|
1545
|
+
* // Effect.runSync(host.parse(provider)) // "localhost"
|
|
1546
|
+
* ```
|
|
1547
|
+
*
|
|
1548
|
+
* @see {@link all} – combine multiple configs into a struct
|
|
1549
|
+
* @see {@link schema} – read structured config from a schema
|
|
1550
|
+
*
|
|
1551
|
+
* @category Combinators
|
|
1552
|
+
* @since 4.0.0
|
|
1553
|
+
*/
|
|
1554
|
+
(name: string): <A>(self: Config<A>) => Config<A>
|
|
1555
|
+
/**
|
|
1556
|
+
* Scopes a config under a named prefix.
|
|
1557
|
+
*
|
|
1558
|
+
* When to use:
|
|
1559
|
+
* - Grouping related config keys under a common namespace (e.g.
|
|
1560
|
+
* `"database"`, `"redis"`).
|
|
1561
|
+
* - Building reusable config fragments that callers nest at different paths.
|
|
1562
|
+
*
|
|
1563
|
+
* The prefix is prepended to every key the inner config reads. With
|
|
1564
|
+
* `fromUnknown` this means an extra object level; with `fromEnv` it means
|
|
1565
|
+
* a `_`-separated prefix on env var names.
|
|
1566
|
+
*
|
|
1567
|
+
* Multiple `nested` calls compose: the outermost name becomes the
|
|
1568
|
+
* outermost path segment.
|
|
1569
|
+
*
|
|
1570
|
+
* **Example** (Nesting a struct config under `"database"`)
|
|
1571
|
+
*
|
|
1572
|
+
* ```ts
|
|
1573
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1574
|
+
*
|
|
1575
|
+
* const dbConfig = Config.all({
|
|
1576
|
+
* host: Config.string("host"),
|
|
1577
|
+
* port: Config.number("port")
|
|
1578
|
+
* }).pipe(Config.nested("database"))
|
|
1579
|
+
*
|
|
1580
|
+
* const provider = ConfigProvider.fromUnknown({
|
|
1581
|
+
* database: { host: "localhost", port: "5432" }
|
|
1582
|
+
* })
|
|
1583
|
+
* // Effect.runSync(dbConfig.parse(provider))
|
|
1584
|
+
* // { host: "localhost", port: 5432 }
|
|
1585
|
+
* ```
|
|
1586
|
+
*
|
|
1587
|
+
* **Example** (Env vars with nested prefix)
|
|
1588
|
+
*
|
|
1589
|
+
* ```ts
|
|
1590
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1591
|
+
*
|
|
1592
|
+
* const host = Config.string("host").pipe(Config.nested("database"))
|
|
1593
|
+
*
|
|
1594
|
+
* const provider = ConfigProvider.fromEnv({
|
|
1595
|
+
* env: { database_host: "localhost" }
|
|
1596
|
+
* })
|
|
1597
|
+
* // Effect.runSync(host.parse(provider)) // "localhost"
|
|
1598
|
+
* ```
|
|
1599
|
+
*
|
|
1600
|
+
* @see {@link all} – combine multiple configs into a struct
|
|
1601
|
+
* @see {@link schema} – read structured config from a schema
|
|
1602
|
+
*
|
|
1603
|
+
* @category Combinators
|
|
1604
|
+
* @since 4.0.0
|
|
1605
|
+
*/
|
|
1606
|
+
<A>(self: Config<A>, name: string): Config<A>
|
|
1607
|
+
} = dual(
|
|
1608
|
+
2,
|
|
1609
|
+
<A>(self: Config<A>, name: string): Config<A> => make((provider) => self.parse(ConfigProvider.nested(provider, name)))
|
|
1610
|
+
)
|
package/src/Effect.ts
CHANGED
|
@@ -20846,6 +20846,86 @@ export const annotateLogs = dual<
|
|
|
20846
20846
|
})
|
|
20847
20847
|
)
|
|
20848
20848
|
|
|
20849
|
+
/**
|
|
20850
|
+
* Adds log annotations to the current scope.
|
|
20851
|
+
*
|
|
20852
|
+
* This differs from `annotateLogs`, which only annotates a specific effect.
|
|
20853
|
+
* `annotateLogsScoped` updates annotations for the entire current `Scope` and
|
|
20854
|
+
* restores the previous annotations when the scope closes.
|
|
20855
|
+
*
|
|
20856
|
+
* @example
|
|
20857
|
+
* ```ts
|
|
20858
|
+
* import { Effect } from "effect"
|
|
20859
|
+
*
|
|
20860
|
+
* const program = Effect.scoped(
|
|
20861
|
+
* Effect.gen(function*() {
|
|
20862
|
+
* yield* Effect.log("before")
|
|
20863
|
+
* yield* Effect.annotateLogsScoped({ requestId: "req-123" })
|
|
20864
|
+
* yield* Effect.log("inside scope")
|
|
20865
|
+
* })
|
|
20866
|
+
* )
|
|
20867
|
+
*
|
|
20868
|
+
* Effect.runPromise(program)
|
|
20869
|
+
* ```
|
|
20870
|
+
*
|
|
20871
|
+
* @since 4.0.0
|
|
20872
|
+
* @category Logging
|
|
20873
|
+
*/
|
|
20874
|
+
export const annotateLogsScoped: {
|
|
20875
|
+
/**
|
|
20876
|
+
* Adds log annotations to the current scope.
|
|
20877
|
+
*
|
|
20878
|
+
* This differs from `annotateLogs`, which only annotates a specific effect.
|
|
20879
|
+
* `annotateLogsScoped` updates annotations for the entire current `Scope` and
|
|
20880
|
+
* restores the previous annotations when the scope closes.
|
|
20881
|
+
*
|
|
20882
|
+
* @example
|
|
20883
|
+
* ```ts
|
|
20884
|
+
* import { Effect } from "effect"
|
|
20885
|
+
*
|
|
20886
|
+
* const program = Effect.scoped(
|
|
20887
|
+
* Effect.gen(function*() {
|
|
20888
|
+
* yield* Effect.log("before")
|
|
20889
|
+
* yield* Effect.annotateLogsScoped({ requestId: "req-123" })
|
|
20890
|
+
* yield* Effect.log("inside scope")
|
|
20891
|
+
* })
|
|
20892
|
+
* )
|
|
20893
|
+
*
|
|
20894
|
+
* Effect.runPromise(program)
|
|
20895
|
+
* ```
|
|
20896
|
+
*
|
|
20897
|
+
* @since 4.0.0
|
|
20898
|
+
* @category Logging
|
|
20899
|
+
*/
|
|
20900
|
+
(key: string, value: unknown): Effect<void, never, Scope>
|
|
20901
|
+
/**
|
|
20902
|
+
* Adds log annotations to the current scope.
|
|
20903
|
+
*
|
|
20904
|
+
* This differs from `annotateLogs`, which only annotates a specific effect.
|
|
20905
|
+
* `annotateLogsScoped` updates annotations for the entire current `Scope` and
|
|
20906
|
+
* restores the previous annotations when the scope closes.
|
|
20907
|
+
*
|
|
20908
|
+
* @example
|
|
20909
|
+
* ```ts
|
|
20910
|
+
* import { Effect } from "effect"
|
|
20911
|
+
*
|
|
20912
|
+
* const program = Effect.scoped(
|
|
20913
|
+
* Effect.gen(function*() {
|
|
20914
|
+
* yield* Effect.log("before")
|
|
20915
|
+
* yield* Effect.annotateLogsScoped({ requestId: "req-123" })
|
|
20916
|
+
* yield* Effect.log("inside scope")
|
|
20917
|
+
* })
|
|
20918
|
+
* )
|
|
20919
|
+
*
|
|
20920
|
+
* Effect.runPromise(program)
|
|
20921
|
+
* ```
|
|
20922
|
+
*
|
|
20923
|
+
* @since 4.0.0
|
|
20924
|
+
* @category Logging
|
|
20925
|
+
*/
|
|
20926
|
+
(values: Record<string, unknown>): Effect<void, never, Scope>
|
|
20927
|
+
} = internal.annotateLogsScoped
|
|
20928
|
+
|
|
20849
20929
|
/**
|
|
20850
20930
|
* Adds a span to each log line in this effect.
|
|
20851
20931
|
*
|
package/src/Fiber.ts
CHANGED
|
@@ -338,7 +338,10 @@ export const interruptAs: {
|
|
|
338
338
|
* @since 2.0.0
|
|
339
339
|
* @category interruption
|
|
340
340
|
*/
|
|
341
|
-
(
|
|
341
|
+
(
|
|
342
|
+
fiberId: number | undefined,
|
|
343
|
+
annotations?: ServiceMap.ServiceMap<never> | undefined
|
|
344
|
+
): <A, E>(self: Fiber<A, E>) => Effect<void>
|
|
342
345
|
/**
|
|
343
346
|
* Interrupts a fiber with a specific fiber ID as the interruptor. This allows
|
|
344
347
|
* tracking which fiber initiated the interruption.
|
|
@@ -361,7 +364,11 @@ export const interruptAs: {
|
|
|
361
364
|
* @since 2.0.0
|
|
362
365
|
* @category interruption
|
|
363
366
|
*/
|
|
364
|
-
<A, E>(
|
|
367
|
+
<A, E>(
|
|
368
|
+
self: Fiber<A, E>,
|
|
369
|
+
fiberId: number | undefined,
|
|
370
|
+
annotations?: ServiceMap.ServiceMap<never> | undefined
|
|
371
|
+
): Effect<void>
|
|
365
372
|
} = effect.fiberInterruptAs
|
|
366
373
|
|
|
367
374
|
/**
|
package/src/Graph.ts
CHANGED
|
@@ -2529,13 +2529,23 @@ export interface MermaidOptions<N, E> {
|
|
|
2529
2529
|
* Escapes special characters in labels for Mermaid syntax compatibility.
|
|
2530
2530
|
*/
|
|
2531
2531
|
const escapeMermaidLabel = (label: string): string => {
|
|
2532
|
+
// Escape special characters for Mermaid using HTML entity codes
|
|
2533
|
+
// According to: https://mermaid.js.org/syntax/flowchart.html#special-characters-that-break-syntax
|
|
2532
2534
|
return label
|
|
2533
|
-
.replace(
|
|
2534
|
-
.replace(/"/g, "
|
|
2535
|
-
.replace(
|
|
2536
|
-
.replace(
|
|
2537
|
-
.replace(
|
|
2538
|
-
.replace(/\
|
|
2535
|
+
.replace(/#/g, "#35;")
|
|
2536
|
+
.replace(/"/g, "#quot;")
|
|
2537
|
+
.replace(/</g, "#lt;")
|
|
2538
|
+
.replace(/>/g, "#gt;")
|
|
2539
|
+
.replace(/&/g, "#amp;")
|
|
2540
|
+
.replace(/\[/g, "#91;")
|
|
2541
|
+
.replace(/\]/g, "#93;")
|
|
2542
|
+
.replace(/\{/g, "#123;")
|
|
2543
|
+
.replace(/\}/g, "#125;")
|
|
2544
|
+
.replace(/\(/g, "#40;")
|
|
2545
|
+
.replace(/\)/g, "#41;")
|
|
2546
|
+
.replace(/\|/g, "#124;")
|
|
2547
|
+
.replace(/\\/g, "#92;")
|
|
2548
|
+
.replace(/\n/g, "<br/>");
|
|
2539
2549
|
}
|
|
2540
2550
|
|
|
2541
2551
|
/**
|
package/src/Random.ts
CHANGED
|
@@ -76,6 +76,24 @@ const randomWith = <A>(f: (random: typeof Random["Service"]) => A): Effect.Effec
|
|
|
76
76
|
*/
|
|
77
77
|
export const next: Effect.Effect<number> = randomWith((r) => r.nextDoubleUnsafe())
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Generates a random boolean value.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* import { Effect, Random } from "effect"
|
|
85
|
+
*
|
|
86
|
+
* const program = Effect.gen(function*() {
|
|
87
|
+
* const value = yield* Random.nextBoolean
|
|
88
|
+
* console.log("Random boolean:", value)
|
|
89
|
+
* })
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @since 4.0.0
|
|
93
|
+
* @category Random Number Generators
|
|
94
|
+
*/
|
|
95
|
+
export const nextBoolean: Effect.Effect<boolean> = randomWith((r) => r.nextDoubleUnsafe() > 0.5)
|
|
96
|
+
|
|
79
97
|
/**
|
|
80
98
|
* Generates a random integer between `Number.MIN_SAFE_INTEGER` (inclusive)
|
|
81
99
|
* and `Number.MAX_SAFE_INTEGER` (inclusive).
|
package/src/Schema.ts
CHANGED
|
@@ -1717,7 +1717,7 @@ export function fieldsAssign<const NewFields extends Struct.Fields>(fields: NewF
|
|
|
1717
1717
|
* @since 4.0.0
|
|
1718
1718
|
*/
|
|
1719
1719
|
export function encodeKeys<
|
|
1720
|
-
S extends Struct
|
|
1720
|
+
S extends Top & { readonly fields: Struct.Fields },
|
|
1721
1721
|
const M extends { readonly [K in keyof S["fields"]]?: PropertyKey }
|
|
1722
1722
|
>(mapping: M) {
|
|
1723
1723
|
return function(
|