effect 4.0.0-beta.6 → 4.0.0-beta.8
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/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +2 -2
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +13 -13
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +228 -50
- package/dist/Formatter.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +27 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +4 -4
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Pool.d.ts +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +1 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Random.d.ts +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +3 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -6
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Schedule.d.ts +20 -11
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +23 -9
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +4 -4
- package/dist/Schema.d.ts.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Stream.d.ts +19 -19
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +3 -3
- package/dist/Stream.js.map +1 -1
- package/dist/index.d.ts +258 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +2 -2
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +4 -4
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +1 -1
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +10 -10
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +2 -2
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +17 -17
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +23 -23
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +3 -3
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.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 +1 -1
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +1 -1
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +2 -2
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +1 -1
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +4 -4
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +11 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -1
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +2 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +3 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +3 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +3 -3
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +3 -3
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +15 -15
- package/src/Formatter.ts +252 -50
- package/src/JsonSchema.ts +383 -10
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +31 -0
- package/src/Logger.ts +5 -5
- package/src/Metric.ts +4 -4
- package/src/Pool.ts +4 -4
- package/src/Random.ts +5 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Reducer.ts +166 -7
- package/src/RequestResolver.ts +9 -9
- package/src/Schedule.ts +44 -25
- package/src/Schema.ts +4 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Stream.ts +34 -34
- package/src/index.ts +258 -0
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +21 -21
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +2 -2
- package/src/testing/TestClock.ts +5 -5
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +1 -1
- package/src/unstable/ai/Chat.ts +10 -10
- package/src/unstable/ai/LanguageModel.ts +3 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +17 -17
- package/src/unstable/ai/Response.ts +23 -23
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/Entity.ts +5 -5
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +1 -4
- package/src/unstable/cluster/Sharding.ts +3 -3
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +3 -3
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/HttpClient.ts +4 -4
- package/src/unstable/http/HttpClientRequest.ts +15 -11
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +4 -4
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedQueue.ts +18 -18
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +2 -2
- package/src/unstable/reactivity/Atom.ts +13 -13
- package/src/unstable/reactivity/AtomHttpApi.ts +3 -3
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +8 -51
- package/src/unstable/socket/Socket.ts +4 -4
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- package/src/unstable/workflow/DurableClock.ts +8 -8
package/dist/index.d.ts
CHANGED
|
@@ -428,6 +428,65 @@ export * as Chunk from "./Chunk.ts";
|
|
|
428
428
|
*/
|
|
429
429
|
export * as Clock from "./Clock.ts";
|
|
430
430
|
/**
|
|
431
|
+
* A module for combining two values of the same type into one.
|
|
432
|
+
*
|
|
433
|
+
* A `Combiner<A>` wraps a single binary function `(self: A, that: A) => A`.
|
|
434
|
+
* It describes *how* two values merge but carries no initial/empty value
|
|
435
|
+
* (for that, see {@link Reducer} which extends `Combiner` with an
|
|
436
|
+
* `initialValue`).
|
|
437
|
+
*
|
|
438
|
+
* ## Mental model
|
|
439
|
+
*
|
|
440
|
+
* - **Combiner** – an object with a `combine(self, that)` method that returns
|
|
441
|
+
* a value of the same type.
|
|
442
|
+
* - **Argument order** – `self` is the "left" / accumulator side, `that` is
|
|
443
|
+
* the "right" / incoming side.
|
|
444
|
+
* - **No identity element** – unlike a monoid, a `Combiner` does not require
|
|
445
|
+
* a neutral element. Use {@link Reducer} when you need one.
|
|
446
|
+
* - **Purity** – all combiners produced by this module are pure; they never
|
|
447
|
+
* mutate their arguments.
|
|
448
|
+
* - **Composability** – combiners can be lifted into `Option`, `Struct`,
|
|
449
|
+
* `Tuple`, and other container types via helpers in those modules.
|
|
450
|
+
*
|
|
451
|
+
* ## Common tasks
|
|
452
|
+
*
|
|
453
|
+
* - Create a combiner from any binary function → {@link make}
|
|
454
|
+
* - Swap argument order → {@link flip}
|
|
455
|
+
* - Pick the smaller / larger of two values → {@link min} / {@link max}
|
|
456
|
+
* - Always keep the first or last value → {@link first} / {@link last}
|
|
457
|
+
* - Ignore both values and return a fixed result → {@link constant}
|
|
458
|
+
* - Insert a separator between combined values → {@link intercalate}
|
|
459
|
+
*
|
|
460
|
+
* ## Gotchas
|
|
461
|
+
*
|
|
462
|
+
* - `min` and `max` require an `Order<A>`, not a raw comparator. Import from
|
|
463
|
+
* e.g. `Number.Order` or `String.Order`.
|
|
464
|
+
* - `intercalate` is curried: call it with the separator first, then pass the
|
|
465
|
+
* base combiner.
|
|
466
|
+
* - A `Reducer` (which adds `initialValue`) is also a valid `Combiner` — you
|
|
467
|
+
* can pass a `Reducer` anywhere a `Combiner` is expected.
|
|
468
|
+
*
|
|
469
|
+
* ## Quickstart
|
|
470
|
+
*
|
|
471
|
+
* **Example** (combining strings with a separator)
|
|
472
|
+
*
|
|
473
|
+
* ```ts
|
|
474
|
+
* import { Combiner, String } from "effect"
|
|
475
|
+
*
|
|
476
|
+
* const csv = Combiner.intercalate(",")(String.ReducerConcat)
|
|
477
|
+
*
|
|
478
|
+
* console.log(csv.combine("a", "b"))
|
|
479
|
+
* // Output: "a,b"
|
|
480
|
+
*
|
|
481
|
+
* console.log(csv.combine(csv.combine("a", "b"), "c"))
|
|
482
|
+
* // Output: "a,b,c"
|
|
483
|
+
* ```
|
|
484
|
+
*
|
|
485
|
+
* ## See also
|
|
486
|
+
*
|
|
487
|
+
* - {@link make} – the primary constructor
|
|
488
|
+
* - {@link Combiner} – the core interface
|
|
489
|
+
*
|
|
431
490
|
* @since 4.0.0
|
|
432
491
|
*/
|
|
433
492
|
export * as Combiner from "./Combiner.ts";
|
|
@@ -1099,6 +1158,57 @@ export * as FileSystem from "./FileSystem.ts";
|
|
|
1099
1158
|
*/
|
|
1100
1159
|
export * as Filter from "./Filter.ts";
|
|
1101
1160
|
/**
|
|
1161
|
+
* Utilities for converting arbitrary JavaScript values into human-readable
|
|
1162
|
+
* strings, with support for circular references, redaction, and common JS
|
|
1163
|
+
* types that `JSON.stringify` handles poorly.
|
|
1164
|
+
*
|
|
1165
|
+
* Mental model:
|
|
1166
|
+
* - A `Formatter<Value, Format>` is a callable `(value: Value) => Format`.
|
|
1167
|
+
* - {@link format} is the general-purpose pretty-printer: it handles
|
|
1168
|
+
* primitives, arrays, objects, `BigInt`, `Symbol`, `Date`, `RegExp`,
|
|
1169
|
+
* `Set`, `Map`, class instances, and circular references.
|
|
1170
|
+
* - {@link formatJson} is a safe `JSON.stringify` wrapper that silently
|
|
1171
|
+
* drops circular references and applies redaction.
|
|
1172
|
+
* - Both functions accept a `space` option for indentation control.
|
|
1173
|
+
*
|
|
1174
|
+
* Common tasks:
|
|
1175
|
+
* - Pretty-print any value for debugging / logging -> {@link format}
|
|
1176
|
+
* - Serialize to JSON safely (no circular throws) -> {@link formatJson}
|
|
1177
|
+
* - Format a single object property key -> {@link formatPropertyKey}
|
|
1178
|
+
* - Format a property path like `["a"]["b"]` -> {@link formatPath}
|
|
1179
|
+
* - Format a `Date` to ISO string safely -> {@link formatDate}
|
|
1180
|
+
*
|
|
1181
|
+
* Gotchas:
|
|
1182
|
+
* - {@link format} output is **not** valid JSON; use {@link formatJson} when
|
|
1183
|
+
* you need parseable JSON.
|
|
1184
|
+
* - {@link format} calls `toString()` on objects by default; pass
|
|
1185
|
+
* `ignoreToString: true` to disable.
|
|
1186
|
+
* - {@link formatJson} silently omits circular references (the key is
|
|
1187
|
+
* dropped from the output).
|
|
1188
|
+
* - Values implementing the `Redactable` protocol are automatically
|
|
1189
|
+
* redacted by both {@link format} and {@link formatJson}.
|
|
1190
|
+
*
|
|
1191
|
+
* **Example** (Pretty-print a value)
|
|
1192
|
+
*
|
|
1193
|
+
* ```ts
|
|
1194
|
+
* import { Formatter } from "effect"
|
|
1195
|
+
*
|
|
1196
|
+
* const obj = { name: "Alice", scores: [100, 97] }
|
|
1197
|
+
* console.log(Formatter.format(obj))
|
|
1198
|
+
* // {"name":"Alice","scores":[100,97]}
|
|
1199
|
+
*
|
|
1200
|
+
* console.log(Formatter.format(obj, { space: 2 }))
|
|
1201
|
+
* // {
|
|
1202
|
+
* // "name": "Alice",
|
|
1203
|
+
* // "scores": [
|
|
1204
|
+
* // 100,
|
|
1205
|
+
* // 97
|
|
1206
|
+
* // ]
|
|
1207
|
+
* // }
|
|
1208
|
+
* ```
|
|
1209
|
+
*
|
|
1210
|
+
* See also: {@link Formatter}, {@link format}, {@link formatJson}
|
|
1211
|
+
*
|
|
1102
1212
|
* @since 4.0.0
|
|
1103
1213
|
*/
|
|
1104
1214
|
export * as Formatter from "./Formatter.ts";
|
|
@@ -1351,6 +1461,89 @@ export * as JsonPatch from "./JsonPatch.ts";
|
|
|
1351
1461
|
*/
|
|
1352
1462
|
export * as JsonPointer from "./JsonPointer.ts";
|
|
1353
1463
|
/**
|
|
1464
|
+
* Convert JSON Schema documents between dialects (Draft-07, Draft-2020-12,
|
|
1465
|
+
* OpenAPI 3.0, OpenAPI 3.1). All dialects are normalized to an internal
|
|
1466
|
+
* `Document<"draft-2020-12">` representation before optional conversion to
|
|
1467
|
+
* an output dialect.
|
|
1468
|
+
*
|
|
1469
|
+
* ## Mental model
|
|
1470
|
+
*
|
|
1471
|
+
* - **JsonSchema** — a plain object with string keys; represents any single
|
|
1472
|
+
* JSON Schema node.
|
|
1473
|
+
* - **Dialect** — one of `"draft-07"`, `"draft-2020-12"`, `"openapi-3.1"`,
|
|
1474
|
+
* or `"openapi-3.0"`.
|
|
1475
|
+
* - **Document** — a structured container holding a root `schema`, its
|
|
1476
|
+
* companion `definitions`, and the target `dialect`. Definitions are
|
|
1477
|
+
* stored separately from the root schema so they can be relocated when
|
|
1478
|
+
* converting between dialects.
|
|
1479
|
+
* - **MultiDocument** — same as `Document` but carries multiple root
|
|
1480
|
+
* schemas (at least one). Useful when generating several schemas that
|
|
1481
|
+
* share a single definitions pool.
|
|
1482
|
+
* - **Definitions** — a `Record<string, JsonSchema>` keyed by definition
|
|
1483
|
+
* name. The ref pointer prefix depends on the dialect.
|
|
1484
|
+
* - **`from*` functions** — parse a raw JSON Schema object into the
|
|
1485
|
+
* canonical `Document<"draft-2020-12">`.
|
|
1486
|
+
* - **`to*` functions** — convert from the canonical representation to a
|
|
1487
|
+
* specific output dialect.
|
|
1488
|
+
*
|
|
1489
|
+
* ## Common tasks
|
|
1490
|
+
*
|
|
1491
|
+
* - Parse a Draft-07 schema → {@link fromSchemaDraft07}
|
|
1492
|
+
* - Parse a Draft-2020-12 schema → {@link fromSchemaDraft2020_12}
|
|
1493
|
+
* - Parse an OpenAPI 3.1 schema → {@link fromSchemaOpenApi3_1}
|
|
1494
|
+
* - Parse an OpenAPI 3.0 schema → {@link fromSchemaOpenApi3_0}
|
|
1495
|
+
* - Convert to Draft-07 output → {@link toDocumentDraft07}
|
|
1496
|
+
* - Convert to OpenAPI 3.1 output → {@link toMultiDocumentOpenApi3_1}
|
|
1497
|
+
* - Resolve a `$ref` against definitions → {@link resolve$ref}
|
|
1498
|
+
* - Inline the root `$ref` of a document → {@link resolveTopLevel$ref}
|
|
1499
|
+
*
|
|
1500
|
+
* ## Gotchas
|
|
1501
|
+
*
|
|
1502
|
+
* - All `from*` functions normalize to `Document<"draft-2020-12">`
|
|
1503
|
+
* regardless of the input dialect.
|
|
1504
|
+
* - Unsupported or unrecognized JSON Schema keywords are silently dropped
|
|
1505
|
+
* during conversion.
|
|
1506
|
+
* - Draft-07 tuple syntax (`items` as array + `additionalItems`) is
|
|
1507
|
+
* converted to 2020-12 form (`prefixItems` + `items`), and vice-versa.
|
|
1508
|
+
* - OpenAPI 3.0 `nullable: true` is expanded into `type` arrays or
|
|
1509
|
+
* `anyOf` unions. The `nullable` keyword is removed.
|
|
1510
|
+
* - OpenAPI 3.0 singular `example` is converted to `examples` (array).
|
|
1511
|
+
* - {@link resolve$ref} only looks up the last segment of the ref path in
|
|
1512
|
+
* the definitions map; it does not follow arbitrary JSON Pointer paths.
|
|
1513
|
+
*
|
|
1514
|
+
* ## Quickstart
|
|
1515
|
+
*
|
|
1516
|
+
* **Example** (Parse a Draft-07 schema and convert to Draft-07 output)
|
|
1517
|
+
*
|
|
1518
|
+
* ```ts
|
|
1519
|
+
* import { JsonSchema } from "effect"
|
|
1520
|
+
*
|
|
1521
|
+
* const raw: JsonSchema.JsonSchema = {
|
|
1522
|
+
* type: "object",
|
|
1523
|
+
* properties: {
|
|
1524
|
+
* name: { type: "string" }
|
|
1525
|
+
* },
|
|
1526
|
+
* required: ["name"]
|
|
1527
|
+
* }
|
|
1528
|
+
*
|
|
1529
|
+
* // Parse into canonical form
|
|
1530
|
+
* const doc = JsonSchema.fromSchemaDraft07(raw)
|
|
1531
|
+
*
|
|
1532
|
+
* // Convert back to Draft-07
|
|
1533
|
+
* const draft07 = JsonSchema.toDocumentDraft07(doc)
|
|
1534
|
+
*
|
|
1535
|
+
* console.log(draft07.dialect) // "draft-07"
|
|
1536
|
+
* console.log(draft07.schema) // { type: "object", properties: { name: { type: "string" } }, required: ["name"] }
|
|
1537
|
+
* ```
|
|
1538
|
+
*
|
|
1539
|
+
* ## See also
|
|
1540
|
+
*
|
|
1541
|
+
* - {@link Document}
|
|
1542
|
+
* - {@link MultiDocument}
|
|
1543
|
+
* - {@link fromSchemaDraft07}
|
|
1544
|
+
* - {@link toDocumentDraft07}
|
|
1545
|
+
* - {@link resolve$ref}
|
|
1546
|
+
*
|
|
1354
1547
|
* @since 4.0.0
|
|
1355
1548
|
*/
|
|
1356
1549
|
export * as JsonSchema from "./JsonSchema.ts";
|
|
@@ -2372,6 +2565,71 @@ export * as Redactable from "./Redactable.ts";
|
|
|
2372
2565
|
*/
|
|
2373
2566
|
export * as Redacted from "./Redacted.ts";
|
|
2374
2567
|
/**
|
|
2568
|
+
* A module for reducing collections of values into a single result.
|
|
2569
|
+
*
|
|
2570
|
+
* A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
|
|
2571
|
+
* `initialValue` (identity element) and a `combineAll` method that folds an
|
|
2572
|
+
* entire collection. Think `Array.prototype.reduce`, but packaged as a
|
|
2573
|
+
* reusable, composable value.
|
|
2574
|
+
*
|
|
2575
|
+
* ## Mental model
|
|
2576
|
+
*
|
|
2577
|
+
* - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
|
|
2578
|
+
* `combineAll` method.
|
|
2579
|
+
* - **initialValue** – the neutral/identity element. Combining any value with
|
|
2580
|
+
* `initialValue` should return the original value unchanged (e.g. `0` for
|
|
2581
|
+
* addition, `""` for string concatenation).
|
|
2582
|
+
* - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
|
|
2583
|
+
* When omitted from {@link make}, a default left-to-right fold is used.
|
|
2584
|
+
* - **Purity** – all reducers produced by this module are pure; they never
|
|
2585
|
+
* mutate their arguments.
|
|
2586
|
+
* - **Composability** – reducers can be lifted into `Option`, `Struct`,
|
|
2587
|
+
* `Tuple`, `Record`, and other container types via helpers in those modules.
|
|
2588
|
+
* - **Subtype of Combiner** – every `Reducer` is also a valid
|
|
2589
|
+
* `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
|
|
2590
|
+
* expected.
|
|
2591
|
+
*
|
|
2592
|
+
* ## Common tasks
|
|
2593
|
+
*
|
|
2594
|
+
* - Create a reducer from a combine function and initial value → {@link make}
|
|
2595
|
+
* - Swap argument order → {@link flip}
|
|
2596
|
+
* - Combine two values without an initial value → use {@link Combiner.Combiner}
|
|
2597
|
+
* instead
|
|
2598
|
+
*
|
|
2599
|
+
* ## Gotchas
|
|
2600
|
+
*
|
|
2601
|
+
* - `combineAll` on an empty iterable returns `initialValue`, not an error.
|
|
2602
|
+
* - The default `combineAll` folds left-to-right. If your `combine` is not
|
|
2603
|
+
* associative, order matters. Pass a custom `combineAll` to {@link make} if
|
|
2604
|
+
* you need different traversal or short-circuiting.
|
|
2605
|
+
* - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
|
|
2606
|
+
* `Reducer` (it lacks `initialValue`).
|
|
2607
|
+
*
|
|
2608
|
+
* ## Quickstart
|
|
2609
|
+
*
|
|
2610
|
+
* **Example** (summing a list of numbers)
|
|
2611
|
+
*
|
|
2612
|
+
* ```ts
|
|
2613
|
+
* import { Reducer } from "effect"
|
|
2614
|
+
*
|
|
2615
|
+
* const Sum = Reducer.make<number>((a, b) => a + b, 0)
|
|
2616
|
+
*
|
|
2617
|
+
* console.log(Sum.combine(3, 4))
|
|
2618
|
+
* // Output: 7
|
|
2619
|
+
*
|
|
2620
|
+
* console.log(Sum.combineAll([1, 2, 3, 4]))
|
|
2621
|
+
* // Output: 10
|
|
2622
|
+
*
|
|
2623
|
+
* console.log(Sum.combineAll([]))
|
|
2624
|
+
* // Output: 0
|
|
2625
|
+
* ```
|
|
2626
|
+
*
|
|
2627
|
+
* ## See also
|
|
2628
|
+
*
|
|
2629
|
+
* - {@link make} – the primary constructor
|
|
2630
|
+
* - {@link Reducer} – the core interface
|
|
2631
|
+
* - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
|
|
2632
|
+
*
|
|
2375
2633
|
* @since 4.0.0
|
|
2376
2634
|
*/
|
|
2377
2635
|
export * as Reducer from "./Reducer.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACL;;GAEG;AACH,MAAM;AACN;;GAEG;AACH,YAAY;AACZ;;GAEG;AACH,IAAI;AACJ;;GAEG;AACH,IAAI;AACJ;;GAEG;AACH,QAAQ;AACR;;GAEG;AACH,IAAI,EACL,MAAM,eAAe,CAAA;AAItB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;;GAKG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;GAKG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;GAMG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -429,6 +429,65 @@ export * as Chunk from "./Chunk.js";
|
|
|
429
429
|
*/
|
|
430
430
|
export * as Clock from "./Clock.js";
|
|
431
431
|
/**
|
|
432
|
+
* A module for combining two values of the same type into one.
|
|
433
|
+
*
|
|
434
|
+
* A `Combiner<A>` wraps a single binary function `(self: A, that: A) => A`.
|
|
435
|
+
* It describes *how* two values merge but carries no initial/empty value
|
|
436
|
+
* (for that, see {@link Reducer} which extends `Combiner` with an
|
|
437
|
+
* `initialValue`).
|
|
438
|
+
*
|
|
439
|
+
* ## Mental model
|
|
440
|
+
*
|
|
441
|
+
* - **Combiner** – an object with a `combine(self, that)` method that returns
|
|
442
|
+
* a value of the same type.
|
|
443
|
+
* - **Argument order** – `self` is the "left" / accumulator side, `that` is
|
|
444
|
+
* the "right" / incoming side.
|
|
445
|
+
* - **No identity element** – unlike a monoid, a `Combiner` does not require
|
|
446
|
+
* a neutral element. Use {@link Reducer} when you need one.
|
|
447
|
+
* - **Purity** – all combiners produced by this module are pure; they never
|
|
448
|
+
* mutate their arguments.
|
|
449
|
+
* - **Composability** – combiners can be lifted into `Option`, `Struct`,
|
|
450
|
+
* `Tuple`, and other container types via helpers in those modules.
|
|
451
|
+
*
|
|
452
|
+
* ## Common tasks
|
|
453
|
+
*
|
|
454
|
+
* - Create a combiner from any binary function → {@link make}
|
|
455
|
+
* - Swap argument order → {@link flip}
|
|
456
|
+
* - Pick the smaller / larger of two values → {@link min} / {@link max}
|
|
457
|
+
* - Always keep the first or last value → {@link first} / {@link last}
|
|
458
|
+
* - Ignore both values and return a fixed result → {@link constant}
|
|
459
|
+
* - Insert a separator between combined values → {@link intercalate}
|
|
460
|
+
*
|
|
461
|
+
* ## Gotchas
|
|
462
|
+
*
|
|
463
|
+
* - `min` and `max` require an `Order<A>`, not a raw comparator. Import from
|
|
464
|
+
* e.g. `Number.Order` or `String.Order`.
|
|
465
|
+
* - `intercalate` is curried: call it with the separator first, then pass the
|
|
466
|
+
* base combiner.
|
|
467
|
+
* - A `Reducer` (which adds `initialValue`) is also a valid `Combiner` — you
|
|
468
|
+
* can pass a `Reducer` anywhere a `Combiner` is expected.
|
|
469
|
+
*
|
|
470
|
+
* ## Quickstart
|
|
471
|
+
*
|
|
472
|
+
* **Example** (combining strings with a separator)
|
|
473
|
+
*
|
|
474
|
+
* ```ts
|
|
475
|
+
* import { Combiner, String } from "effect"
|
|
476
|
+
*
|
|
477
|
+
* const csv = Combiner.intercalate(",")(String.ReducerConcat)
|
|
478
|
+
*
|
|
479
|
+
* console.log(csv.combine("a", "b"))
|
|
480
|
+
* // Output: "a,b"
|
|
481
|
+
*
|
|
482
|
+
* console.log(csv.combine(csv.combine("a", "b"), "c"))
|
|
483
|
+
* // Output: "a,b,c"
|
|
484
|
+
* ```
|
|
485
|
+
*
|
|
486
|
+
* ## See also
|
|
487
|
+
*
|
|
488
|
+
* - {@link make} – the primary constructor
|
|
489
|
+
* - {@link Combiner} – the core interface
|
|
490
|
+
*
|
|
432
491
|
* @since 4.0.0
|
|
433
492
|
*/
|
|
434
493
|
export * as Combiner from "./Combiner.js";
|
|
@@ -1100,6 +1159,57 @@ export * as FileSystem from "./FileSystem.js";
|
|
|
1100
1159
|
*/
|
|
1101
1160
|
export * as Filter from "./Filter.js";
|
|
1102
1161
|
/**
|
|
1162
|
+
* Utilities for converting arbitrary JavaScript values into human-readable
|
|
1163
|
+
* strings, with support for circular references, redaction, and common JS
|
|
1164
|
+
* types that `JSON.stringify` handles poorly.
|
|
1165
|
+
*
|
|
1166
|
+
* Mental model:
|
|
1167
|
+
* - A `Formatter<Value, Format>` is a callable `(value: Value) => Format`.
|
|
1168
|
+
* - {@link format} is the general-purpose pretty-printer: it handles
|
|
1169
|
+
* primitives, arrays, objects, `BigInt`, `Symbol`, `Date`, `RegExp`,
|
|
1170
|
+
* `Set`, `Map`, class instances, and circular references.
|
|
1171
|
+
* - {@link formatJson} is a safe `JSON.stringify` wrapper that silently
|
|
1172
|
+
* drops circular references and applies redaction.
|
|
1173
|
+
* - Both functions accept a `space` option for indentation control.
|
|
1174
|
+
*
|
|
1175
|
+
* Common tasks:
|
|
1176
|
+
* - Pretty-print any value for debugging / logging -> {@link format}
|
|
1177
|
+
* - Serialize to JSON safely (no circular throws) -> {@link formatJson}
|
|
1178
|
+
* - Format a single object property key -> {@link formatPropertyKey}
|
|
1179
|
+
* - Format a property path like `["a"]["b"]` -> {@link formatPath}
|
|
1180
|
+
* - Format a `Date` to ISO string safely -> {@link formatDate}
|
|
1181
|
+
*
|
|
1182
|
+
* Gotchas:
|
|
1183
|
+
* - {@link format} output is **not** valid JSON; use {@link formatJson} when
|
|
1184
|
+
* you need parseable JSON.
|
|
1185
|
+
* - {@link format} calls `toString()` on objects by default; pass
|
|
1186
|
+
* `ignoreToString: true` to disable.
|
|
1187
|
+
* - {@link formatJson} silently omits circular references (the key is
|
|
1188
|
+
* dropped from the output).
|
|
1189
|
+
* - Values implementing the `Redactable` protocol are automatically
|
|
1190
|
+
* redacted by both {@link format} and {@link formatJson}.
|
|
1191
|
+
*
|
|
1192
|
+
* **Example** (Pretty-print a value)
|
|
1193
|
+
*
|
|
1194
|
+
* ```ts
|
|
1195
|
+
* import { Formatter } from "effect"
|
|
1196
|
+
*
|
|
1197
|
+
* const obj = { name: "Alice", scores: [100, 97] }
|
|
1198
|
+
* console.log(Formatter.format(obj))
|
|
1199
|
+
* // {"name":"Alice","scores":[100,97]}
|
|
1200
|
+
*
|
|
1201
|
+
* console.log(Formatter.format(obj, { space: 2 }))
|
|
1202
|
+
* // {
|
|
1203
|
+
* // "name": "Alice",
|
|
1204
|
+
* // "scores": [
|
|
1205
|
+
* // 100,
|
|
1206
|
+
* // 97
|
|
1207
|
+
* // ]
|
|
1208
|
+
* // }
|
|
1209
|
+
* ```
|
|
1210
|
+
*
|
|
1211
|
+
* See also: {@link Formatter}, {@link format}, {@link formatJson}
|
|
1212
|
+
*
|
|
1103
1213
|
* @since 4.0.0
|
|
1104
1214
|
*/
|
|
1105
1215
|
export * as Formatter from "./Formatter.js";
|
|
@@ -1352,6 +1462,89 @@ export * as JsonPatch from "./JsonPatch.js";
|
|
|
1352
1462
|
*/
|
|
1353
1463
|
export * as JsonPointer from "./JsonPointer.js";
|
|
1354
1464
|
/**
|
|
1465
|
+
* Convert JSON Schema documents between dialects (Draft-07, Draft-2020-12,
|
|
1466
|
+
* OpenAPI 3.0, OpenAPI 3.1). All dialects are normalized to an internal
|
|
1467
|
+
* `Document<"draft-2020-12">` representation before optional conversion to
|
|
1468
|
+
* an output dialect.
|
|
1469
|
+
*
|
|
1470
|
+
* ## Mental model
|
|
1471
|
+
*
|
|
1472
|
+
* - **JsonSchema** — a plain object with string keys; represents any single
|
|
1473
|
+
* JSON Schema node.
|
|
1474
|
+
* - **Dialect** — one of `"draft-07"`, `"draft-2020-12"`, `"openapi-3.1"`,
|
|
1475
|
+
* or `"openapi-3.0"`.
|
|
1476
|
+
* - **Document** — a structured container holding a root `schema`, its
|
|
1477
|
+
* companion `definitions`, and the target `dialect`. Definitions are
|
|
1478
|
+
* stored separately from the root schema so they can be relocated when
|
|
1479
|
+
* converting between dialects.
|
|
1480
|
+
* - **MultiDocument** — same as `Document` but carries multiple root
|
|
1481
|
+
* schemas (at least one). Useful when generating several schemas that
|
|
1482
|
+
* share a single definitions pool.
|
|
1483
|
+
* - **Definitions** — a `Record<string, JsonSchema>` keyed by definition
|
|
1484
|
+
* name. The ref pointer prefix depends on the dialect.
|
|
1485
|
+
* - **`from*` functions** — parse a raw JSON Schema object into the
|
|
1486
|
+
* canonical `Document<"draft-2020-12">`.
|
|
1487
|
+
* - **`to*` functions** — convert from the canonical representation to a
|
|
1488
|
+
* specific output dialect.
|
|
1489
|
+
*
|
|
1490
|
+
* ## Common tasks
|
|
1491
|
+
*
|
|
1492
|
+
* - Parse a Draft-07 schema → {@link fromSchemaDraft07}
|
|
1493
|
+
* - Parse a Draft-2020-12 schema → {@link fromSchemaDraft2020_12}
|
|
1494
|
+
* - Parse an OpenAPI 3.1 schema → {@link fromSchemaOpenApi3_1}
|
|
1495
|
+
* - Parse an OpenAPI 3.0 schema → {@link fromSchemaOpenApi3_0}
|
|
1496
|
+
* - Convert to Draft-07 output → {@link toDocumentDraft07}
|
|
1497
|
+
* - Convert to OpenAPI 3.1 output → {@link toMultiDocumentOpenApi3_1}
|
|
1498
|
+
* - Resolve a `$ref` against definitions → {@link resolve$ref}
|
|
1499
|
+
* - Inline the root `$ref` of a document → {@link resolveTopLevel$ref}
|
|
1500
|
+
*
|
|
1501
|
+
* ## Gotchas
|
|
1502
|
+
*
|
|
1503
|
+
* - All `from*` functions normalize to `Document<"draft-2020-12">`
|
|
1504
|
+
* regardless of the input dialect.
|
|
1505
|
+
* - Unsupported or unrecognized JSON Schema keywords are silently dropped
|
|
1506
|
+
* during conversion.
|
|
1507
|
+
* - Draft-07 tuple syntax (`items` as array + `additionalItems`) is
|
|
1508
|
+
* converted to 2020-12 form (`prefixItems` + `items`), and vice-versa.
|
|
1509
|
+
* - OpenAPI 3.0 `nullable: true` is expanded into `type` arrays or
|
|
1510
|
+
* `anyOf` unions. The `nullable` keyword is removed.
|
|
1511
|
+
* - OpenAPI 3.0 singular `example` is converted to `examples` (array).
|
|
1512
|
+
* - {@link resolve$ref} only looks up the last segment of the ref path in
|
|
1513
|
+
* the definitions map; it does not follow arbitrary JSON Pointer paths.
|
|
1514
|
+
*
|
|
1515
|
+
* ## Quickstart
|
|
1516
|
+
*
|
|
1517
|
+
* **Example** (Parse a Draft-07 schema and convert to Draft-07 output)
|
|
1518
|
+
*
|
|
1519
|
+
* ```ts
|
|
1520
|
+
* import { JsonSchema } from "effect"
|
|
1521
|
+
*
|
|
1522
|
+
* const raw: JsonSchema.JsonSchema = {
|
|
1523
|
+
* type: "object",
|
|
1524
|
+
* properties: {
|
|
1525
|
+
* name: { type: "string" }
|
|
1526
|
+
* },
|
|
1527
|
+
* required: ["name"]
|
|
1528
|
+
* }
|
|
1529
|
+
*
|
|
1530
|
+
* // Parse into canonical form
|
|
1531
|
+
* const doc = JsonSchema.fromSchemaDraft07(raw)
|
|
1532
|
+
*
|
|
1533
|
+
* // Convert back to Draft-07
|
|
1534
|
+
* const draft07 = JsonSchema.toDocumentDraft07(doc)
|
|
1535
|
+
*
|
|
1536
|
+
* console.log(draft07.dialect) // "draft-07"
|
|
1537
|
+
* console.log(draft07.schema) // { type: "object", properties: { name: { type: "string" } }, required: ["name"] }
|
|
1538
|
+
* ```
|
|
1539
|
+
*
|
|
1540
|
+
* ## See also
|
|
1541
|
+
*
|
|
1542
|
+
* - {@link Document}
|
|
1543
|
+
* - {@link MultiDocument}
|
|
1544
|
+
* - {@link fromSchemaDraft07}
|
|
1545
|
+
* - {@link toDocumentDraft07}
|
|
1546
|
+
* - {@link resolve$ref}
|
|
1547
|
+
*
|
|
1355
1548
|
* @since 4.0.0
|
|
1356
1549
|
*/
|
|
1357
1550
|
export * as JsonSchema from "./JsonSchema.js";
|
|
@@ -2373,6 +2566,71 @@ export * as Redactable from "./Redactable.js";
|
|
|
2373
2566
|
*/
|
|
2374
2567
|
export * as Redacted from "./Redacted.js";
|
|
2375
2568
|
/**
|
|
2569
|
+
* A module for reducing collections of values into a single result.
|
|
2570
|
+
*
|
|
2571
|
+
* A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
|
|
2572
|
+
* `initialValue` (identity element) and a `combineAll` method that folds an
|
|
2573
|
+
* entire collection. Think `Array.prototype.reduce`, but packaged as a
|
|
2574
|
+
* reusable, composable value.
|
|
2575
|
+
*
|
|
2576
|
+
* ## Mental model
|
|
2577
|
+
*
|
|
2578
|
+
* - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
|
|
2579
|
+
* `combineAll` method.
|
|
2580
|
+
* - **initialValue** – the neutral/identity element. Combining any value with
|
|
2581
|
+
* `initialValue` should return the original value unchanged (e.g. `0` for
|
|
2582
|
+
* addition, `""` for string concatenation).
|
|
2583
|
+
* - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
|
|
2584
|
+
* When omitted from {@link make}, a default left-to-right fold is used.
|
|
2585
|
+
* - **Purity** – all reducers produced by this module are pure; they never
|
|
2586
|
+
* mutate their arguments.
|
|
2587
|
+
* - **Composability** – reducers can be lifted into `Option`, `Struct`,
|
|
2588
|
+
* `Tuple`, `Record`, and other container types via helpers in those modules.
|
|
2589
|
+
* - **Subtype of Combiner** – every `Reducer` is also a valid
|
|
2590
|
+
* `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
|
|
2591
|
+
* expected.
|
|
2592
|
+
*
|
|
2593
|
+
* ## Common tasks
|
|
2594
|
+
*
|
|
2595
|
+
* - Create a reducer from a combine function and initial value → {@link make}
|
|
2596
|
+
* - Swap argument order → {@link flip}
|
|
2597
|
+
* - Combine two values without an initial value → use {@link Combiner.Combiner}
|
|
2598
|
+
* instead
|
|
2599
|
+
*
|
|
2600
|
+
* ## Gotchas
|
|
2601
|
+
*
|
|
2602
|
+
* - `combineAll` on an empty iterable returns `initialValue`, not an error.
|
|
2603
|
+
* - The default `combineAll` folds left-to-right. If your `combine` is not
|
|
2604
|
+
* associative, order matters. Pass a custom `combineAll` to {@link make} if
|
|
2605
|
+
* you need different traversal or short-circuiting.
|
|
2606
|
+
* - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
|
|
2607
|
+
* `Reducer` (it lacks `initialValue`).
|
|
2608
|
+
*
|
|
2609
|
+
* ## Quickstart
|
|
2610
|
+
*
|
|
2611
|
+
* **Example** (summing a list of numbers)
|
|
2612
|
+
*
|
|
2613
|
+
* ```ts
|
|
2614
|
+
* import { Reducer } from "effect"
|
|
2615
|
+
*
|
|
2616
|
+
* const Sum = Reducer.make<number>((a, b) => a + b, 0)
|
|
2617
|
+
*
|
|
2618
|
+
* console.log(Sum.combine(3, 4))
|
|
2619
|
+
* // Output: 7
|
|
2620
|
+
*
|
|
2621
|
+
* console.log(Sum.combineAll([1, 2, 3, 4]))
|
|
2622
|
+
* // Output: 10
|
|
2623
|
+
*
|
|
2624
|
+
* console.log(Sum.combineAll([]))
|
|
2625
|
+
* // Output: 0
|
|
2626
|
+
* ```
|
|
2627
|
+
*
|
|
2628
|
+
* ## See also
|
|
2629
|
+
*
|
|
2630
|
+
* - {@link make} – the primary constructor
|
|
2631
|
+
* - {@link Reducer} – the core interface
|
|
2632
|
+
* - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
|
|
2633
|
+
*
|
|
2376
2634
|
* @since 4.0.0
|
|
2377
2635
|
*/
|
|
2378
2636
|
export * as Reducer from "./Reducer.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["absurd","coerceUnsafe","flow","hole","identity","pipe","Array","BigDecimal","BigInt","Boolean","Brand","Cache","Cause","Channel","ChannelSchema","Chunk","Clock","Combiner","Config","ConfigProvider","Console","Cron","Data","DateTime","Deferred","Differ","Duration","Effect","Encoding","Equal","Equivalence","ExecutionPlan","Exit","Fiber","FiberHandle","FiberMap","FiberSet","FileSystem","Filter","Formatter","Function","Graph","Hash","HashMap","HashRing","HashSet","HKT","Inspectable","Iterable","JsonPatch","JsonPointer","JsonSchema","Latch","Layer","LayerMap","Logger","LogLevel","ManagedRuntime","Match","Metric","MutableHashMap","MutableHashSet","MutableList","MutableRef","NonEmptyIterable","NullOr","Number","Optic","Option","Order","Ordering","Path","Pipeable","PlatformError","Pool","Predicate","PrimaryKey","PubSub","Pull","Queue","Random","RcMap","RcRef","Record","Redactable","Redacted","Reducer","Ref","References","RegExp","Request","RequestResolver","Resource","Result","Runtime","Schedule","Scheduler","Schema","SchemaAST","SchemaGetter","SchemaIssue","SchemaParser","SchemaRepresentation","SchemaTransformation","SchemaUtils","Scope","ScopedCache","ScopedRef","Semaphore","ServiceMap","Sink","Stdio","Stream","String","Struct","SubscriptionRef","Symbol","SynchronizedRef","Take","Terminal","Tracer","Trie","Tuple","TxChunk","TxHashMap","TxHashSet","TxQueue","TxRef","TxSemaphore","Types","UndefinedOr","Unify","Utils"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AACE;;;AAGAA,MAAM;AACN;;;AAGAC,YAAY;AACZ;;;AAGAC,IAAI;AACJ;;;AAGAC,IAAI;AACJ;;;AAGAC,QAAQ;AACR;;;AAGAC,IAAI,QACC,eAAe;AAEtB;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;;;;;;;;;;;;;AAeA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;;;;AAMA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;;;;AAMA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;;;;;AAOA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;AAGA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC
|
|
1
|
+
{"version":3,"file":"index.js","names":["absurd","coerceUnsafe","flow","hole","identity","pipe","Array","BigDecimal","BigInt","Boolean","Brand","Cache","Cause","Channel","ChannelSchema","Chunk","Clock","Combiner","Config","ConfigProvider","Console","Cron","Data","DateTime","Deferred","Differ","Duration","Effect","Encoding","Equal","Equivalence","ExecutionPlan","Exit","Fiber","FiberHandle","FiberMap","FiberSet","FileSystem","Filter","Formatter","Function","Graph","Hash","HashMap","HashRing","HashSet","HKT","Inspectable","Iterable","JsonPatch","JsonPointer","JsonSchema","Latch","Layer","LayerMap","Logger","LogLevel","ManagedRuntime","Match","Metric","MutableHashMap","MutableHashSet","MutableList","MutableRef","NonEmptyIterable","NullOr","Number","Optic","Option","Order","Ordering","Path","Pipeable","PlatformError","Pool","Predicate","PrimaryKey","PubSub","Pull","Queue","Random","RcMap","RcRef","Record","Redactable","Redacted","Reducer","Ref","References","RegExp","Request","RequestResolver","Resource","Result","Runtime","Schedule","Scheduler","Schema","SchemaAST","SchemaGetter","SchemaIssue","SchemaParser","SchemaRepresentation","SchemaTransformation","SchemaUtils","Scope","ScopedCache","ScopedRef","Semaphore","ServiceMap","Sink","Stdio","Stream","String","Struct","SubscriptionRef","Symbol","SynchronizedRef","Take","Terminal","Tracer","Trie","Tuple","TxChunk","TxHashMap","TxHashSet","TxQueue","TxRef","TxSemaphore","Types","UndefinedOr","Unify","Utils"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|