effect 3.13.8 → 3.13.9
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/cjs/Array.js +460 -431
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +31 -89
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +27 -71
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js +12 -10
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Brand.js +2 -0
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Channel.js +0 -2
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Chunk.js +4 -0
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +0 -5
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +14 -24
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js +11 -25
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js +6 -0
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DateTime.js +2 -0
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Duration.js +2 -2
- package/dist/cjs/Effect.js +122 -53
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +21 -25
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Encoding.js +1 -1
- package/dist/cjs/Equivalence.js +1 -1
- package/dist/cjs/Function.js +21 -24
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/HashMap.js +0 -3
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/Iterable.js +9 -2
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/List.js +2 -0
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Logger.js +0 -2
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Mailbox.js +1 -0
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/ManagedRuntime.js +0 -2
- package/dist/cjs/ManagedRuntime.js.map +1 -1
- package/dist/cjs/Metric.js +6 -12
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Number.js +22 -61
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js +5 -0
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js +1 -0
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js +2 -7
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Pool.js +1 -1
- package/dist/cjs/Predicate.js +36 -77
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Random.js +1 -2
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RcMap.js +5 -2
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/Record.js +28 -107
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/Redacted.js +3 -0
- package/dist/cjs/Redacted.js.map +1 -1
- package/dist/cjs/RegExp.js +2 -2
- package/dist/cjs/RegExp.js.map +1 -1
- package/dist/cjs/STM.js +3 -5
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js +2 -2
- package/dist/cjs/Schema.js +14 -13
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/SchemaAST.js +0 -2
- package/dist/cjs/SchemaAST.js.map +1 -1
- package/dist/cjs/Sink.js +14 -10
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js +24 -25
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/String.js +31 -2
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js +6 -0
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Symbol.js +1 -2
- package/dist/cjs/Symbol.js.map +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/Trie.js +28 -0
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js +9 -24
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/internal/matcher.js +1 -1
- package/dist/cjs/internal/matcher.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +1235 -1188
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/BigDecimal.d.ts +61 -189
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts +57 -165
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Boolean.d.ts +28 -18
- package/dist/dts/Boolean.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +3 -3
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +0 -6
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +15 -0
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +0 -5
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +26 -54
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +9 -23
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +8 -0
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +6 -0
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +2 -2
- package/dist/dts/Effect.d.ts +153 -71
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +44 -57
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Encoding.d.ts +1 -1
- package/dist/dts/Equivalence.d.ts +1 -1
- package/dist/dts/Function.d.ts +55 -59
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +0 -9
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +13 -2
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/List.d.ts +10 -0
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +0 -6
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +1 -0
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/ManagedRuntime.d.ts +0 -2
- package/dist/dts/ManagedRuntime.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +14 -20
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +1 -1
- package/dist/dts/Number.d.ts +52 -155
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +12 -0
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +1 -0
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Ordering.d.ts +4 -17
- package/dist/dts/Ordering.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +1 -1
- package/dist/dts/Predicate.d.ts +56 -133
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +1 -2
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +15 -6
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/Record.d.ts +68 -279
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/Redacted.d.ts +3 -0
- package/dist/dts/Redacted.d.ts.map +1 -1
- package/dist/dts/RegExp.d.ts +2 -2
- package/dist/dts/RegExp.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +5 -7
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +7 -7
- package/dist/dts/Schema.d.ts +31 -25
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/SchemaAST.d.ts +0 -2
- package/dist/dts/SchemaAST.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +14 -10
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +58 -62
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/String.d.ts +47 -2
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +12 -0
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/Symbol.d.ts +1 -2
- package/dist/dts/Symbol.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts +2 -1
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +66 -0
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Tuple.d.ts +21 -62
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts +8 -8
- package/dist/esm/Array.js +474 -442
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/BigDecimal.js +31 -89
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js +27 -71
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Boolean.js +12 -10
- package/dist/esm/Boolean.js.map +1 -1
- package/dist/esm/Brand.js +2 -0
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Channel.js +0 -2
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Chunk.js +4 -0
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +0 -5
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +14 -24
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Cron.js +11 -25
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Data.js +7 -0
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/DateTime.js +2 -0
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Duration.js +2 -2
- package/dist/esm/Effect.js +123 -53
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +22 -25
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Encoding.js +1 -1
- package/dist/esm/Equivalence.js +1 -1
- package/dist/esm/Function.js +21 -24
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/HashMap.js +0 -3
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/Iterable.js +9 -2
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/List.js +2 -0
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Logger.js +0 -2
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Mailbox.js +1 -0
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/ManagedRuntime.js +0 -2
- package/dist/esm/ManagedRuntime.js.map +1 -1
- package/dist/esm/Metric.js +6 -12
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Micro.js +1 -1
- package/dist/esm/Number.js +22 -61
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js +6 -0
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Order.js +1 -0
- package/dist/esm/Order.js.map +1 -1
- package/dist/esm/Ordering.js +2 -7
- package/dist/esm/Ordering.js.map +1 -1
- package/dist/esm/Pool.js +1 -1
- package/dist/esm/Predicate.js +36 -77
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Random.js +1 -2
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RcMap.js +5 -2
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/Record.js +28 -107
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/Redacted.js +3 -0
- package/dist/esm/Redacted.js.map +1 -1
- package/dist/esm/RegExp.js +2 -2
- package/dist/esm/RegExp.js.map +1 -1
- package/dist/esm/STM.js +3 -5
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js +2 -2
- package/dist/esm/Schema.js +14 -13
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/SchemaAST.js +0 -2
- package/dist/esm/SchemaAST.js.map +1 -1
- package/dist/esm/Sink.js +14 -10
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js +25 -25
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/String.js +31 -2
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Struct.js +6 -0
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/Symbol.js +1 -2
- package/dist/esm/Symbol.js.map +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/Trie.js +28 -0
- package/dist/esm/Trie.js.map +1 -1
- package/dist/esm/Tuple.js +11 -30
- package/dist/esm/Tuple.js.map +1 -1
- package/dist/esm/internal/matcher.js +1 -1
- package/dist/esm/internal/matcher.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +1235 -1188
- package/src/BigDecimal.ts +61 -189
- package/src/BigInt.ts +57 -165
- package/src/Boolean.ts +28 -18
- package/src/Brand.ts +3 -3
- package/src/Channel.ts +0 -6
- package/src/Chunk.ts +16 -0
- package/src/Config.ts +0 -5
- package/src/Context.ts +26 -54
- package/src/Cron.ts +11 -25
- package/src/Data.ts +8 -0
- package/src/DateTime.ts +6 -0
- package/src/Duration.ts +2 -2
- package/src/Effect.ts +153 -71
- package/src/Either.ts +45 -58
- package/src/Encoding.ts +1 -1
- package/src/Equivalence.ts +1 -1
- package/src/Function.ts +55 -59
- package/src/HashMap.ts +0 -9
- package/src/Iterable.ts +13 -2
- package/src/List.ts +12 -0
- package/src/Logger.ts +0 -6
- package/src/Mailbox.ts +1 -0
- package/src/ManagedRuntime.ts +0 -2
- package/src/Metric.ts +14 -20
- package/src/Micro.ts +1 -1
- package/src/Number.ts +52 -155
- package/src/Option.ts +12 -0
- package/src/Order.ts +1 -0
- package/src/Ordering.ts +4 -17
- package/src/Pool.ts +1 -1
- package/src/Predicate.ts +56 -133
- package/src/Random.ts +1 -2
- package/src/RcMap.ts +15 -6
- package/src/Record.ts +68 -279
- package/src/Redacted.ts +3 -0
- package/src/RegExp.ts +2 -2
- package/src/STM.ts +5 -7
- package/src/Schedule.ts +7 -7
- package/src/Schema.ts +31 -25
- package/src/SchemaAST.ts +0 -2
- package/src/Sink.ts +14 -10
- package/src/Stream.ts +56 -61
- package/src/String.ts +47 -2
- package/src/Struct.ts +12 -0
- package/src/Symbol.ts +1 -2
- package/src/TestClock.ts +2 -1
- package/src/Trie.ts +66 -0
- package/src/Tuple.ts +21 -62
- package/src/Utils.ts +8 -8
- package/src/internal/matcher.ts +1 -1
- package/src/internal/version.ts +1 -1
package/src/Redacted.ts
CHANGED
|
@@ -80,6 +80,7 @@ export const make: <A>(value: A) => Redacted<A> = redacted_.make
|
|
|
80
80
|
*
|
|
81
81
|
* @example
|
|
82
82
|
* ```ts
|
|
83
|
+
* import * as assert from "node:assert"
|
|
83
84
|
* import { Redacted } from "effect"
|
|
84
85
|
*
|
|
85
86
|
* const API_KEY = Redacted.make("1234567890")
|
|
@@ -99,6 +100,7 @@ export const value: <A>(self: Redacted<A>) => A = redacted_.value
|
|
|
99
100
|
*
|
|
100
101
|
* @example
|
|
101
102
|
* ```ts
|
|
103
|
+
* import * as assert from "node:assert"
|
|
102
104
|
* import { Redacted } from "effect"
|
|
103
105
|
*
|
|
104
106
|
* const API_KEY = Redacted.make("1234567890")
|
|
@@ -122,6 +124,7 @@ export const unsafeWipe: <A>(self: Redacted<A>) => boolean = redacted_.unsafeWip
|
|
|
122
124
|
*
|
|
123
125
|
* @example
|
|
124
126
|
* ```ts
|
|
127
|
+
* import * as assert from "node:assert"
|
|
125
128
|
* import { Redacted, Equivalence } from "effect"
|
|
126
129
|
*
|
|
127
130
|
* const API_KEY1 = Redacted.make("1234567890")
|
package/src/RegExp.ts
CHANGED
|
@@ -8,10 +8,9 @@ import * as predicate from "./Predicate.js"
|
|
|
8
8
|
/**
|
|
9
9
|
* Tests if a value is a `RegExp`.
|
|
10
10
|
*
|
|
11
|
-
* @param input - The value to test.
|
|
12
|
-
*
|
|
13
11
|
* @example
|
|
14
12
|
* ```ts
|
|
13
|
+
* import * as assert from "node:assert"
|
|
15
14
|
* import { RegExp } from "effect"
|
|
16
15
|
*
|
|
17
16
|
* assert.deepStrictEqual(RegExp.isRegExp(/a/), true)
|
|
@@ -28,6 +27,7 @@ export const isRegExp: (input: unknown) => input is RegExp = predicate.isRegExp
|
|
|
28
27
|
*
|
|
29
28
|
* @example
|
|
30
29
|
* ```ts
|
|
30
|
+
* import * as assert from "node:assert"
|
|
31
31
|
* import { RegExp } from "effect"
|
|
32
32
|
*
|
|
33
33
|
* assert.deepStrictEqual(RegExp.escape("a*b"), "a\\*b")
|
package/src/STM.ts
CHANGED
|
@@ -1512,7 +1512,7 @@ export const isSuccess: <A, E, R>(self: STM<A, E, R>) => STM<boolean, never, R>
|
|
|
1512
1512
|
* Iterates with the specified transactional function. The moral equivalent
|
|
1513
1513
|
* of:
|
|
1514
1514
|
*
|
|
1515
|
-
* ```ts
|
|
1515
|
+
* ```ts skip-type-checking
|
|
1516
1516
|
* const s = initial
|
|
1517
1517
|
*
|
|
1518
1518
|
* while (cont(s)) {
|
|
@@ -1537,7 +1537,7 @@ export const iterate: <Z, E, R>(
|
|
|
1537
1537
|
* Loops with the specified transactional function, collecting the results
|
|
1538
1538
|
* into a list. The moral equivalent of:
|
|
1539
1539
|
*
|
|
1540
|
-
* ```ts
|
|
1540
|
+
* ```ts skip-type-checking
|
|
1541
1541
|
* const as = []
|
|
1542
1542
|
* let s = initial
|
|
1543
1543
|
*
|
|
@@ -1557,7 +1557,7 @@ export const loop: {
|
|
|
1557
1557
|
* Loops with the specified transactional function, collecting the results
|
|
1558
1558
|
* into a list. The moral equivalent of:
|
|
1559
1559
|
*
|
|
1560
|
-
* ```ts
|
|
1560
|
+
* ```ts skip-type-checking
|
|
1561
1561
|
* const as = []
|
|
1562
1562
|
* let s = initial
|
|
1563
1563
|
*
|
|
@@ -1585,7 +1585,7 @@ export const loop: {
|
|
|
1585
1585
|
* Loops with the specified transactional function, collecting the results
|
|
1586
1586
|
* into a list. The moral equivalent of:
|
|
1587
1587
|
*
|
|
1588
|
-
* ```ts
|
|
1588
|
+
* ```ts skip-type-checking
|
|
1589
1589
|
* const as = []
|
|
1590
1590
|
* let s = initial
|
|
1591
1591
|
*
|
|
@@ -3006,9 +3006,7 @@ export const zipWith: {
|
|
|
3006
3006
|
* iterable will be executed in sequence, and the first one that succeeds
|
|
3007
3007
|
* will determine the outcome of the resulting `STM` value.
|
|
3008
3008
|
*
|
|
3009
|
-
*
|
|
3010
|
-
*
|
|
3011
|
-
* @returns A new `STM` value that represents the first successful
|
|
3009
|
+
* Returns a new `STM` value that represents the first successful
|
|
3012
3010
|
* `STM` value in the iterable, or a failed `STM` value if all of the
|
|
3013
3011
|
* `STM` values in the iterable fail.
|
|
3014
3012
|
*
|
package/src/Schedule.ts
CHANGED
|
@@ -48,11 +48,11 @@ export type ScheduleDriverTypeId = typeof ScheduleDriverTypeId
|
|
|
48
48
|
*
|
|
49
49
|
* The `Schedule` type is structured as follows:
|
|
50
50
|
*
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
51
|
+
* ```ts skip-type-checking
|
|
52
|
+
* // ┌─── The type of output produced by the schedule
|
|
53
|
+
* // │ ┌─── The type of input consumed by the schedule
|
|
54
|
+
* // │ │ ┌─── Additional requirements for the schedule
|
|
55
|
+
* // ▼ ▼ ▼
|
|
56
56
|
* Schedule<Out, In, Requirements>
|
|
57
57
|
* ```
|
|
58
58
|
*
|
|
@@ -1641,7 +1641,7 @@ export const fibonacci: (one: Duration.DurationInput) => Schedule<Duration.Durat
|
|
|
1641
1641
|
* "pile-ups," ensuring that the schedule remains consistent without overlapping
|
|
1642
1642
|
* executions.
|
|
1643
1643
|
*
|
|
1644
|
-
* ```
|
|
1644
|
+
* ```text
|
|
1645
1645
|
* |-----interval-----|-----interval-----|-----interval-----|
|
|
1646
1646
|
* |---------action--------||action|-----|action|-----------|
|
|
1647
1647
|
* ```
|
|
@@ -3622,7 +3622,7 @@ export const whileOutputEffect: {
|
|
|
3622
3622
|
* For example, `windowed(Duration.seconds(10))` would produce a schedule as
|
|
3623
3623
|
* follows:
|
|
3624
3624
|
*
|
|
3625
|
-
* ```
|
|
3625
|
+
* ```text
|
|
3626
3626
|
* 10s 10s 10s 10s
|
|
3627
3627
|
* |----------|----------|----------|----------|
|
|
3628
3628
|
* |action------|sleep---|act|-sleep|action----|
|
package/src/Schema.ts
CHANGED
|
@@ -716,8 +716,8 @@ export function Literal<Literals extends ReadonlyArray<AST.LiteralValue>>(
|
|
|
716
716
|
*
|
|
717
717
|
* @example
|
|
718
718
|
* ```ts
|
|
719
|
-
* import * as
|
|
720
|
-
* import { Either } from "effect"
|
|
719
|
+
* import * as assert from "node:assert"
|
|
720
|
+
* import { Either, Schema } from "effect"
|
|
721
721
|
*
|
|
722
722
|
* const schema = Schema.Literal("a", "b", "c").pipe(Schema.pickLiteral("a", "b"))
|
|
723
723
|
*
|
|
@@ -2995,6 +2995,7 @@ export interface tag<Tag extends AST.LiteralValue> extends PropertySignature<":"
|
|
|
2995
2995
|
*
|
|
2996
2996
|
* @example
|
|
2997
2997
|
* ```ts
|
|
2998
|
+
* import * as assert from "node:assert"
|
|
2998
2999
|
* import { Schema } from "effect"
|
|
2999
3000
|
*
|
|
3000
3001
|
* const User = Schema.Struct({
|
|
@@ -3026,6 +3027,7 @@ export type TaggedStruct<Tag extends AST.LiteralValue, Fields extends Struct.Fie
|
|
|
3026
3027
|
*
|
|
3027
3028
|
* @example
|
|
3028
3029
|
* ```ts
|
|
3030
|
+
* import * as assert from "node:assert"
|
|
3029
3031
|
* import { Schema } from "effect"
|
|
3030
3032
|
*
|
|
3031
3033
|
* const User = Schema.TaggedStruct("User", {
|
|
@@ -3347,9 +3349,6 @@ function makeBrandClass<S extends Schema.Any, B extends string | symbol>(
|
|
|
3347
3349
|
* Schema<A> + B -> Schema<A & Brand<B>>
|
|
3348
3350
|
* ```
|
|
3349
3351
|
*
|
|
3350
|
-
* @param self - The input schema to be combined with the brand.
|
|
3351
|
-
* @param brand - The brand to apply.
|
|
3352
|
-
*
|
|
3353
3352
|
* @example
|
|
3354
3353
|
* ```ts
|
|
3355
3354
|
* import * as Schema from "effect/Schema"
|
|
@@ -3435,8 +3434,6 @@ export interface mutable<S extends Schema.Any> extends
|
|
|
3435
3434
|
/**
|
|
3436
3435
|
* Creates a new schema with shallow mutability applied to its properties.
|
|
3437
3436
|
*
|
|
3438
|
-
* @param schema - The original schema to make properties mutable (shallowly).
|
|
3439
|
-
*
|
|
3440
3437
|
* @category combinators
|
|
3441
3438
|
* @since 3.10.0
|
|
3442
3439
|
*/
|
|
@@ -3633,17 +3630,21 @@ export interface extend<Self extends Schema.Any, That extends Schema.Any> extend
|
|
|
3633
3630
|
/**
|
|
3634
3631
|
* Extends a schema with another schema.
|
|
3635
3632
|
*
|
|
3636
|
-
* Not all extensions are supported, and their support depends on the nature of
|
|
3633
|
+
* Not all extensions are supported, and their support depends on the nature of
|
|
3634
|
+
* the involved schemas.
|
|
3637
3635
|
*
|
|
3638
3636
|
* Possible extensions include:
|
|
3639
3637
|
* - `Schema.String` with another `Schema.String` refinement or a string literal
|
|
3640
3638
|
* - `Schema.Number` with another `Schema.Number` refinement or a number literal
|
|
3641
|
-
* - `Schema.Boolean` with another `Schema.Boolean` refinement or a boolean
|
|
3639
|
+
* - `Schema.Boolean` with another `Schema.Boolean` refinement or a boolean
|
|
3640
|
+
* literal
|
|
3642
3641
|
* - A struct with another struct where overlapping fields support extension
|
|
3643
3642
|
* - A struct with in index signature
|
|
3644
3643
|
* - A struct with a union of supported schemas
|
|
3645
3644
|
* - A refinement of a struct with a supported schema
|
|
3646
3645
|
* - A suspend of a struct with a supported schema
|
|
3646
|
+
* - A transformation between structs where the “from” and “to” sides have no
|
|
3647
|
+
* overlapping fields with the target struct
|
|
3647
3648
|
*
|
|
3648
3649
|
* @example
|
|
3649
3650
|
* ```ts
|
|
@@ -3677,17 +3678,21 @@ export const extend: {
|
|
|
3677
3678
|
/**
|
|
3678
3679
|
* Extends a schema with another schema.
|
|
3679
3680
|
*
|
|
3680
|
-
* Not all extensions are supported, and their support depends on the nature of
|
|
3681
|
+
* Not all extensions are supported, and their support depends on the nature of
|
|
3682
|
+
* the involved schemas.
|
|
3681
3683
|
*
|
|
3682
3684
|
* Possible extensions include:
|
|
3683
3685
|
* - `Schema.String` with another `Schema.String` refinement or a string literal
|
|
3684
3686
|
* - `Schema.Number` with another `Schema.Number` refinement or a number literal
|
|
3685
|
-
* - `Schema.Boolean` with another `Schema.Boolean` refinement or a boolean
|
|
3687
|
+
* - `Schema.Boolean` with another `Schema.Boolean` refinement or a boolean
|
|
3688
|
+
* literal
|
|
3686
3689
|
* - A struct with another struct where overlapping fields support extension
|
|
3687
3690
|
* - A struct with in index signature
|
|
3688
3691
|
* - A struct with a union of supported schemas
|
|
3689
3692
|
* - A refinement of a struct with a supported schema
|
|
3690
3693
|
* - A suspend of a struct with a supported schema
|
|
3694
|
+
* - A transformation between structs where the “from” and “to” sides have no
|
|
3695
|
+
* overlapping fields with the target struct
|
|
3691
3696
|
*
|
|
3692
3697
|
* @example
|
|
3693
3698
|
* ```ts
|
|
@@ -3721,17 +3726,21 @@ export const extend: {
|
|
|
3721
3726
|
/**
|
|
3722
3727
|
* Extends a schema with another schema.
|
|
3723
3728
|
*
|
|
3724
|
-
* Not all extensions are supported, and their support depends on the nature of
|
|
3729
|
+
* Not all extensions are supported, and their support depends on the nature of
|
|
3730
|
+
* the involved schemas.
|
|
3725
3731
|
*
|
|
3726
3732
|
* Possible extensions include:
|
|
3727
3733
|
* - `Schema.String` with another `Schema.String` refinement or a string literal
|
|
3728
3734
|
* - `Schema.Number` with another `Schema.Number` refinement or a number literal
|
|
3729
|
-
* - `Schema.Boolean` with another `Schema.Boolean` refinement or a boolean
|
|
3735
|
+
* - `Schema.Boolean` with another `Schema.Boolean` refinement or a boolean
|
|
3736
|
+
* literal
|
|
3730
3737
|
* - A struct with another struct where overlapping fields support extension
|
|
3731
3738
|
* - A struct with in index signature
|
|
3732
3739
|
* - A struct with a union of supported schemas
|
|
3733
3740
|
* - A refinement of a struct with a supported schema
|
|
3734
3741
|
* - A suspend of a struct with a supported schema
|
|
3742
|
+
* - A transformation between structs where the “from” and “to” sides have no
|
|
3743
|
+
* overlapping fields with the target struct
|
|
3735
3744
|
*
|
|
3736
3745
|
* @example
|
|
3737
3746
|
* ```ts
|
|
@@ -4303,6 +4312,7 @@ export interface transformLiteral<Type extends AST.LiteralValue, Encoded extends
|
|
|
4303
4312
|
*
|
|
4304
4313
|
* @example
|
|
4305
4314
|
* ```ts
|
|
4315
|
+
* import * as assert from "node:assert"
|
|
4306
4316
|
* import * as S from "effect/Schema"
|
|
4307
4317
|
*
|
|
4308
4318
|
* const schema = S.transformLiteral(0, "a")
|
|
@@ -4329,6 +4339,7 @@ export function transformLiteral<Encoded extends AST.LiteralValue, Type extends
|
|
|
4329
4339
|
*
|
|
4330
4340
|
* @example
|
|
4331
4341
|
* ```ts
|
|
4342
|
+
* import * as assert from "node:assert"
|
|
4332
4343
|
* import * as S from "effect/Schema"
|
|
4333
4344
|
*
|
|
4334
4345
|
* const Animal = S.transformLiterals(
|
|
@@ -4363,12 +4374,9 @@ export function transformLiterals<
|
|
|
4363
4374
|
* This API is useful when you want to add a property to your schema which doesn't describe the shape of the input,
|
|
4364
4375
|
* but rather maps to another schema, for example when you want to add a discriminant to a simple union.
|
|
4365
4376
|
*
|
|
4366
|
-
* @param self - The input schema.
|
|
4367
|
-
* @param key - The name of the property to add to the schema.
|
|
4368
|
-
* @param value - The value of the property to add to the schema.
|
|
4369
|
-
*
|
|
4370
4377
|
* @example
|
|
4371
4378
|
* ```ts
|
|
4379
|
+
* import * as assert from "node:assert"
|
|
4372
4380
|
* import * as S from "effect/Schema"
|
|
4373
4381
|
* import { pipe } from "effect/Function"
|
|
4374
4382
|
*
|
|
@@ -4394,12 +4402,9 @@ export const attachPropertySignature: {
|
|
|
4394
4402
|
* This API is useful when you want to add a property to your schema which doesn't describe the shape of the input,
|
|
4395
4403
|
* but rather maps to another schema, for example when you want to add a discriminant to a simple union.
|
|
4396
4404
|
*
|
|
4397
|
-
* @param self - The input schema.
|
|
4398
|
-
* @param key - The name of the property to add to the schema.
|
|
4399
|
-
* @param value - The value of the property to add to the schema.
|
|
4400
|
-
*
|
|
4401
4405
|
* @example
|
|
4402
4406
|
* ```ts
|
|
4407
|
+
* import * as assert from "node:assert"
|
|
4403
4408
|
* import * as S from "effect/Schema"
|
|
4404
4409
|
* import { pipe } from "effect/Function"
|
|
4405
4410
|
*
|
|
@@ -4431,12 +4436,9 @@ export const attachPropertySignature: {
|
|
|
4431
4436
|
* This API is useful when you want to add a property to your schema which doesn't describe the shape of the input,
|
|
4432
4437
|
* but rather maps to another schema, for example when you want to add a discriminant to a simple union.
|
|
4433
4438
|
*
|
|
4434
|
-
* @param self - The input schema.
|
|
4435
|
-
* @param key - The name of the property to add to the schema.
|
|
4436
|
-
* @param value - The value of the property to add to the schema.
|
|
4437
|
-
*
|
|
4438
4439
|
* @example
|
|
4439
4440
|
* ```ts
|
|
4441
|
+
* import * as assert from "node:assert"
|
|
4440
4442
|
* import * as S from "effect/Schema"
|
|
4441
4443
|
* import { pipe } from "effect/Function"
|
|
4442
4444
|
*
|
|
@@ -5212,6 +5214,7 @@ const getParseJsonTransformation = (options?: ParseJsonOptions): SchemaClass<unk
|
|
|
5212
5214
|
*
|
|
5213
5215
|
* @example
|
|
5214
5216
|
* ```ts
|
|
5217
|
+
* import * as assert from "node:assert"
|
|
5215
5218
|
* import * as Schema from "effect/Schema"
|
|
5216
5219
|
*
|
|
5217
5220
|
* assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })
|
|
@@ -5232,6 +5235,7 @@ export const parseJson: {
|
|
|
5232
5235
|
*
|
|
5233
5236
|
* @example
|
|
5234
5237
|
* ```ts
|
|
5238
|
+
* import * as assert from "node:assert"
|
|
5235
5239
|
* import * as Schema from "effect/Schema"
|
|
5236
5240
|
*
|
|
5237
5241
|
* assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })
|
|
@@ -5252,6 +5256,7 @@ export const parseJson: {
|
|
|
5252
5256
|
*
|
|
5253
5257
|
* @example
|
|
5254
5258
|
* ```ts
|
|
5259
|
+
* import * as assert from "node:assert"
|
|
5255
5260
|
* import * as Schema from "effect/Schema"
|
|
5256
5261
|
*
|
|
5257
5262
|
* assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })
|
|
@@ -5828,6 +5833,7 @@ export type JsonNumberSchemaId = typeof JsonNumberSchemaId
|
|
|
5828
5833
|
*
|
|
5829
5834
|
* @example
|
|
5830
5835
|
* ```ts
|
|
5836
|
+
* import * as assert from "node:assert"
|
|
5831
5837
|
* import * as Schema from "effect/Schema"
|
|
5832
5838
|
*
|
|
5833
5839
|
* const is = Schema.is(S.JsonNumber)
|
package/src/SchemaAST.ts
CHANGED
|
@@ -2521,8 +2521,6 @@ export const required = (ast: AST): AST => {
|
|
|
2521
2521
|
/**
|
|
2522
2522
|
* Creates a new AST with shallow mutability applied to its properties.
|
|
2523
2523
|
*
|
|
2524
|
-
* @param ast - The original AST to make properties mutable (shallowly).
|
|
2525
|
-
*
|
|
2526
2524
|
* @since 3.10.0
|
|
2527
2525
|
*/
|
|
2528
2526
|
export const mutable = (ast: AST): AST => {
|
package/src/Sink.ts
CHANGED
|
@@ -988,14 +988,14 @@ export const foldUntilEffect: <S, In, E, R>(
|
|
|
988
988
|
) => Sink<S, In, In, E, R> = internal.foldUntilEffect
|
|
989
989
|
|
|
990
990
|
/**
|
|
991
|
-
* Creates a sink that folds elements of type `In` into a structure of type
|
|
992
|
-
*
|
|
993
|
-
* folded.
|
|
991
|
+
* Creates a sink that folds elements of type `In` into a structure of type `S`,
|
|
992
|
+
* until `max` worth of elements (determined by the `costFn`) have been folded.
|
|
994
993
|
*
|
|
995
|
-
*
|
|
996
|
-
*
|
|
997
|
-
*
|
|
998
|
-
*
|
|
994
|
+
* **Note**
|
|
995
|
+
*
|
|
996
|
+
* Elements that have an individual cost larger than `max` will force the sink
|
|
997
|
+
* to cross the `max` cost. See `Sink.foldWeightedDecompose` for a variant
|
|
998
|
+
* that can handle these cases.
|
|
999
999
|
*
|
|
1000
1000
|
* @since 2.0.0
|
|
1001
1001
|
* @category constructors
|
|
@@ -1017,7 +1017,7 @@ export const foldWeighted: <S, In>(
|
|
|
1017
1017
|
* The `decompose` function will be used for decomposing elements that cause
|
|
1018
1018
|
* an `S` aggregate to cross `max` into smaller elements. For example:
|
|
1019
1019
|
*
|
|
1020
|
-
* ```ts
|
|
1020
|
+
* ```ts skip-type-checking
|
|
1021
1021
|
* pipe(
|
|
1022
1022
|
* Stream.make(1, 5, 1),
|
|
1023
1023
|
* Stream.transduce(
|
|
@@ -1214,7 +1214,9 @@ export const fromEffect: <A, E, R>(effect: Effect.Effect<A, E, R>) => Sink<A, un
|
|
|
1214
1214
|
/**
|
|
1215
1215
|
* Create a sink which publishes each element to the specified `PubSub`.
|
|
1216
1216
|
*
|
|
1217
|
-
*
|
|
1217
|
+
* If the `shutdown` parameter is `true`, the `PubSub` will be shutdown after
|
|
1218
|
+
* the sink is evaluated (defaults to `false`).
|
|
1219
|
+
*
|
|
1218
1220
|
* @since 2.0.0
|
|
1219
1221
|
* @category constructors
|
|
1220
1222
|
*/
|
|
@@ -1242,7 +1244,9 @@ export const fromPush: <In, L0, R0, L, R>(
|
|
|
1242
1244
|
/**
|
|
1243
1245
|
* Create a sink which enqueues each element into the specified queue.
|
|
1244
1246
|
*
|
|
1245
|
-
*
|
|
1247
|
+
* If the `shutdown` parameter is `true`, the queue will be shutdown after the
|
|
1248
|
+
* sink is evaluated (defaults to `false`).
|
|
1249
|
+
*
|
|
1246
1250
|
* @since 2.0.0
|
|
1247
1251
|
* @category constructors
|
|
1248
1252
|
*/
|