effect 3.13.9 → 3.13.11
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/Arbitrary.js +38 -22
- package/dist/cjs/Arbitrary.js.map +1 -1
- package/dist/cjs/Array.js +50 -50
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Brand.js +9 -4
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Cause.js +1 -0
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Chunk.js +25 -23
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +2 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +4 -4
- package/dist/cjs/Effect.js +823 -632
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +12 -12
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/LogLevel.js +1 -1
- package/dist/cjs/Logger.js +12 -12
- package/dist/cjs/Match.js +26 -26
- package/dist/cjs/Option.js +43 -43
- package/dist/cjs/Predicate.js +6 -2
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Schema.js +21 -17
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/SchemaAST.js +49 -25
- package/dist/cjs/SchemaAST.js.map +1 -1
- package/dist/cjs/Scope.js +2 -0
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/Stream.js +93 -93
- package/dist/cjs/internal/core.js +1 -1
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/schema/util.js +23 -14
- package/dist/cjs/internal/schema/util.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Array.d.ts +47 -47
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +14 -6
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +1 -0
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +91 -89
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +2 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +4 -4
- package/dist/dts/Effect.d.ts +2107 -1621
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +33 -33
- package/dist/dts/LogLevel.d.ts +3 -3
- package/dist/dts/Logger.d.ts +16 -16
- package/dist/dts/Match.d.ts +26 -26
- package/dist/dts/Option.d.ts +84 -84
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +53 -21
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/SchemaAST.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +2 -0
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +229 -229
- package/dist/esm/Arbitrary.js +38 -22
- package/dist/esm/Arbitrary.js.map +1 -1
- package/dist/esm/Array.js +50 -50
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Brand.js +9 -4
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Cause.js +1 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Chunk.js +25 -23
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +2 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +4 -4
- package/dist/esm/Effect.js +845 -648
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +17 -17
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/LogLevel.js +1 -1
- package/dist/esm/Logger.js +12 -12
- package/dist/esm/Match.js +26 -26
- package/dist/esm/Option.js +48 -48
- package/dist/esm/Predicate.js +3 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Schema.js +21 -17
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/SchemaAST.js +46 -22
- package/dist/esm/SchemaAST.js.map +1 -1
- package/dist/esm/Scope.js +2 -0
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/Stream.js +101 -101
- package/dist/esm/internal/core.js +1 -1
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/schema/util.js +23 -14
- package/dist/esm/internal/schema/util.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +1 -1
- package/src/Arbitrary.ts +39 -24
- package/src/Array.ts +116 -113
- package/src/Brand.ts +14 -6
- package/src/Cause.ts +1 -0
- package/src/Chunk.ts +97 -95
- package/src/Config.ts +2 -1
- package/src/Context.ts +4 -4
- package/src/Effect.ts +2107 -1621
- package/src/Either.ts +34 -34
- package/src/LogLevel.ts +3 -3
- package/src/Logger.ts +16 -16
- package/src/Match.ts +26 -26
- package/src/Option.ts +84 -84
- package/src/Predicate.ts +4 -0
- package/src/Schema.ts +87 -41
- package/src/SchemaAST.ts +47 -22
- package/src/Scope.ts +2 -0
- package/src/Stream.ts +229 -229
- package/src/internal/core.ts +2 -1
- package/src/internal/schema/util.ts +34 -25
- package/src/internal/version.ts +1 -1
package/dist/cjs/Option.js
CHANGED
|
@@ -26,11 +26,9 @@ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("effect/Option");
|
|
|
26
26
|
* This means you can use it in place of any `Option<A>` regardless of the type
|
|
27
27
|
* `A`.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
29
|
+
* **Example** (Creating an Option with No Value)
|
|
30
30
|
*
|
|
31
|
-
* @example
|
|
32
31
|
* ```ts
|
|
33
|
-
* // Title: Creating an Option with No Value
|
|
34
32
|
* import { Option } from "effect"
|
|
35
33
|
*
|
|
36
34
|
* // An Option holding no value
|
|
@@ -43,6 +41,8 @@ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("effect/Option");
|
|
|
43
41
|
* // Output: { _id: 'Option', _tag: 'None' }
|
|
44
42
|
* ```
|
|
45
43
|
*
|
|
44
|
+
* @see {@link some} for the opposite operation.
|
|
45
|
+
*
|
|
46
46
|
* @category Constructors
|
|
47
47
|
* @since 2.0.0
|
|
48
48
|
*/
|
|
@@ -50,11 +50,9 @@ const none = () => option.none;
|
|
|
50
50
|
/**
|
|
51
51
|
* Wraps the given value into an `Option` to represent its presence.
|
|
52
52
|
*
|
|
53
|
-
*
|
|
53
|
+
* **Example** (Creating an Option with a Value)
|
|
54
54
|
*
|
|
55
|
-
* @example
|
|
56
55
|
* ```ts
|
|
57
|
-
* // Title: Creating an Option with a Value
|
|
58
56
|
* import { Option } from "effect"
|
|
59
57
|
*
|
|
60
58
|
* // An Option holding the number 1
|
|
@@ -67,6 +65,8 @@ const none = () => option.none;
|
|
|
67
65
|
* // Output: { _id: 'Option', _tag: 'Some', value: 1 }
|
|
68
66
|
* ```
|
|
69
67
|
*
|
|
68
|
+
* @see {@link none} for the opposite operation.
|
|
69
|
+
*
|
|
70
70
|
* @category Constructors
|
|
71
71
|
* @since 2.0.0
|
|
72
72
|
*/
|
|
@@ -103,8 +103,6 @@ const isOption = exports.isOption = option.isOption;
|
|
|
103
103
|
/**
|
|
104
104
|
* Checks whether an `Option` represents the absence of a value (`None`).
|
|
105
105
|
*
|
|
106
|
-
* @see {@link isSome} for the opposite check.
|
|
107
|
-
*
|
|
108
106
|
* @example
|
|
109
107
|
* ```ts
|
|
110
108
|
* import { Option } from "effect"
|
|
@@ -116,6 +114,8 @@ const isOption = exports.isOption = option.isOption;
|
|
|
116
114
|
* // Output: true
|
|
117
115
|
* ```
|
|
118
116
|
*
|
|
117
|
+
* @see {@link isSome} for the opposite check.
|
|
118
|
+
*
|
|
119
119
|
* @category Guards
|
|
120
120
|
* @since 2.0.0
|
|
121
121
|
*/
|
|
@@ -123,8 +123,6 @@ const isNone = exports.isNone = option.isNone;
|
|
|
123
123
|
/**
|
|
124
124
|
* Checks whether an `Option` contains a value (`Some`).
|
|
125
125
|
*
|
|
126
|
-
* @see {@link isNone} for the opposite check.
|
|
127
|
-
*
|
|
128
126
|
* @example
|
|
129
127
|
* ```ts
|
|
130
128
|
* import { Option } from "effect"
|
|
@@ -136,6 +134,8 @@ const isNone = exports.isNone = option.isNone;
|
|
|
136
134
|
* // Output: false
|
|
137
135
|
* ```
|
|
138
136
|
*
|
|
137
|
+
* @see {@link isNone} for the opposite check.
|
|
138
|
+
*
|
|
139
139
|
* @category Guards
|
|
140
140
|
* @since 2.0.0
|
|
141
141
|
*/
|
|
@@ -160,9 +160,9 @@ const isSome = exports.isSome = option.isSome;
|
|
|
160
160
|
* without resorting to `if` or manual checks, making your code more declarative
|
|
161
161
|
* and readable.
|
|
162
162
|
*
|
|
163
|
-
*
|
|
163
|
+
* **Example** (Pattern Matching with Option)
|
|
164
|
+
*
|
|
164
165
|
* ```ts
|
|
165
|
-
* // Title: Pattern Matching with Option
|
|
166
166
|
* import { Option } from "effect"
|
|
167
167
|
*
|
|
168
168
|
* const foo = Option.some(1)
|
|
@@ -281,8 +281,6 @@ const fromIterable = collection => {
|
|
|
281
281
|
* using this function, you can convert `Either` into a simpler structure for
|
|
282
282
|
* cases where error handling is not required.
|
|
283
283
|
*
|
|
284
|
-
* @see {@link getLeft} for the opposite operation.
|
|
285
|
-
*
|
|
286
284
|
* @example
|
|
287
285
|
* ```ts
|
|
288
286
|
* import { Either, Option } from "effect"
|
|
@@ -294,6 +292,8 @@ const fromIterable = collection => {
|
|
|
294
292
|
* // Output: { _id: 'Option', _tag: 'None' }
|
|
295
293
|
* ```
|
|
296
294
|
*
|
|
295
|
+
* @see {@link getLeft} for the opposite operation.
|
|
296
|
+
*
|
|
297
297
|
* @category Conversions
|
|
298
298
|
* @since 2.0.0
|
|
299
299
|
*/
|
|
@@ -315,8 +315,6 @@ const getRight = exports.getRight = either.getRight;
|
|
|
315
315
|
* `Either` and want to handle it as an `Option`. By discarding the right value,
|
|
316
316
|
* it simplifies error-focused workflows.
|
|
317
317
|
*
|
|
318
|
-
* @see {@link getRight} for the opposite operation.
|
|
319
|
-
*
|
|
320
318
|
* @example
|
|
321
319
|
* ```ts
|
|
322
320
|
* import { Either, Option } from "effect"
|
|
@@ -328,6 +326,8 @@ const getRight = exports.getRight = either.getRight;
|
|
|
328
326
|
* // Output: { _id: 'Option', _tag: 'Some', value: 'err' }
|
|
329
327
|
* ```
|
|
330
328
|
*
|
|
329
|
+
* @see {@link getRight} for the opposite operation.
|
|
330
|
+
*
|
|
331
331
|
* @category Conversions
|
|
332
332
|
* @since 2.0.0
|
|
333
333
|
*/
|
|
@@ -348,9 +348,6 @@ const getLeft = exports.getLeft = either.getLeft;
|
|
|
348
348
|
* value. It is particularly useful for providing default values or alternative
|
|
349
349
|
* logic when working with optional values.
|
|
350
350
|
*
|
|
351
|
-
* @see {@link getOrNull} for a version that returns `null` instead of executing a function.
|
|
352
|
-
* @see {@link getOrUndefined} for a version that returns `undefined` instead of executing a function.
|
|
353
|
-
*
|
|
354
351
|
* @example
|
|
355
352
|
* ```ts
|
|
356
353
|
* import { Option } from "effect"
|
|
@@ -362,6 +359,9 @@ const getLeft = exports.getLeft = either.getLeft;
|
|
|
362
359
|
* // Output: 0
|
|
363
360
|
* ```
|
|
364
361
|
*
|
|
362
|
+
* @see {@link getOrNull} for a version that returns `null` instead of executing a function.
|
|
363
|
+
* @see {@link getOrUndefined} for a version that returns `undefined` instead of executing a function.
|
|
364
|
+
*
|
|
365
365
|
* @category Getters
|
|
366
366
|
* @since 2.0.0
|
|
367
367
|
*/
|
|
@@ -658,8 +658,6 @@ const liftThrowable = f => (...a) => {
|
|
|
658
658
|
* a fail-fast behavior for empty `Option` values and want to provide a custom
|
|
659
659
|
* error message or object.
|
|
660
660
|
*
|
|
661
|
-
* @see {@link getOrThrow} for a version that throws a default error.
|
|
662
|
-
*
|
|
663
661
|
* @example
|
|
664
662
|
* ```ts
|
|
665
663
|
* import * as assert from "node:assert"
|
|
@@ -672,6 +670,8 @@ const liftThrowable = f => (...a) => {
|
|
|
672
670
|
* assert.throws(() => Option.getOrThrowWith(Option.none(), () => new Error('Unexpected None')))
|
|
673
671
|
* ```
|
|
674
672
|
*
|
|
673
|
+
* @see {@link getOrThrow} for a version that throws a default error.
|
|
674
|
+
*
|
|
675
675
|
* @category Conversions
|
|
676
676
|
* @since 2.0.0
|
|
677
677
|
*/
|
|
@@ -693,8 +693,6 @@ const getOrThrowWith = exports.getOrThrowWith = /*#__PURE__*/(0, _Function.dual)
|
|
|
693
693
|
* scenarios where the absence of a value is treated as an exceptional case and
|
|
694
694
|
* a default error is sufficient.
|
|
695
695
|
*
|
|
696
|
-
* @see {@link getOrThrowWith} for a version that allows you to provide a custom error.
|
|
697
|
-
*
|
|
698
696
|
* @example
|
|
699
697
|
* ```ts
|
|
700
698
|
* import * as assert from "node:assert"
|
|
@@ -704,6 +702,8 @@ const getOrThrowWith = exports.getOrThrowWith = /*#__PURE__*/(0, _Function.dual)
|
|
|
704
702
|
* assert.throws(() => Option.getOrThrow(Option.none()))
|
|
705
703
|
* ```
|
|
706
704
|
*
|
|
705
|
+
* @see {@link getOrThrowWith} for a version that allows you to provide a custom error.
|
|
706
|
+
*
|
|
707
707
|
* @category Conversions
|
|
708
708
|
* @since 2.0.0
|
|
709
709
|
*/
|
|
@@ -1365,9 +1365,9 @@ const filter = exports.filter = /*#__PURE__*/(0, _Function.dual)(2, (self, predi
|
|
|
1365
1365
|
* - Two `Some` values are equivalent if their inner values are equivalent
|
|
1366
1366
|
* according to the provided `Equivalence`.
|
|
1367
1367
|
*
|
|
1368
|
-
*
|
|
1368
|
+
* **Example** (Comparing Optional Numbers for Equivalence)
|
|
1369
|
+
*
|
|
1369
1370
|
* ```ts
|
|
1370
|
-
* // Title: Comparing Optional Numbers for Equivalence
|
|
1371
1371
|
* import { Number, Option } from "effect"
|
|
1372
1372
|
*
|
|
1373
1373
|
* const isEquivalent = Option.getEquivalence(Number.Equivalence)
|
|
@@ -1514,8 +1514,6 @@ const liftPredicate = exports.liftPredicate = /*#__PURE__*/(0, _Function.dual)(2
|
|
|
1514
1514
|
* equivalence function returns `true`, the result is `true`. If the `Option` is
|
|
1515
1515
|
* `None` or the values are not equivalent, the result is `false`.
|
|
1516
1516
|
*
|
|
1517
|
-
* @see {@link contains} for a version that uses the default `Equivalence`.
|
|
1518
|
-
*
|
|
1519
1517
|
* @example
|
|
1520
1518
|
* ```ts
|
|
1521
1519
|
* import { Number, Option } from "effect"
|
|
@@ -1532,6 +1530,8 @@ const liftPredicate = exports.liftPredicate = /*#__PURE__*/(0, _Function.dual)(2
|
|
|
1532
1530
|
* // Output: false
|
|
1533
1531
|
* ```
|
|
1534
1532
|
*
|
|
1533
|
+
* @see {@link contains} for a version that uses the default `Equivalence`.
|
|
1534
|
+
*
|
|
1535
1535
|
* @category Elements
|
|
1536
1536
|
* @since 2.0.0
|
|
1537
1537
|
*/
|
|
@@ -1550,8 +1550,6 @@ const _equivalence = /*#__PURE__*/Equal.equivalence();
|
|
|
1550
1550
|
* result is `true`. If the `Option` is `None` or the values are not equivalent,
|
|
1551
1551
|
* the result is `false`.
|
|
1552
1552
|
*
|
|
1553
|
-
* @see {@link containsWith} for a version that allows you to specify a custom equivalence function.
|
|
1554
|
-
*
|
|
1555
1553
|
* @example
|
|
1556
1554
|
* ```ts
|
|
1557
1555
|
* import { Option } from "effect"
|
|
@@ -1566,6 +1564,8 @@ const _equivalence = /*#__PURE__*/Equal.equivalence();
|
|
|
1566
1564
|
* // Output: false
|
|
1567
1565
|
* ```
|
|
1568
1566
|
*
|
|
1567
|
+
* @see {@link containsWith} for a version that allows you to specify a custom equivalence function.
|
|
1568
|
+
*
|
|
1569
1569
|
* @category Elements
|
|
1570
1570
|
* @since 2.0.0
|
|
1571
1571
|
*/
|
|
@@ -1617,10 +1617,6 @@ const exists = exports.exists = /*#__PURE__*/(0, _Function.dual)(2, (self, refin
|
|
|
1617
1617
|
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
1618
1618
|
* 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
|
|
1619
1619
|
*
|
|
1620
|
-
* @see {@link Do}
|
|
1621
|
-
* @see {@link bind}
|
|
1622
|
-
* @see {@link let_ let}
|
|
1623
|
-
*
|
|
1624
1620
|
* @example
|
|
1625
1621
|
* ```ts
|
|
1626
1622
|
* import * as assert from "node:assert"
|
|
@@ -1636,6 +1632,10 @@ const exists = exports.exists = /*#__PURE__*/(0, _Function.dual)(2, (self, refin
|
|
|
1636
1632
|
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
1637
1633
|
* ```
|
|
1638
1634
|
*
|
|
1635
|
+
* @see {@link Do}
|
|
1636
|
+
* @see {@link bind}
|
|
1637
|
+
* @see {@link let_ let}
|
|
1638
|
+
*
|
|
1639
1639
|
* @category Do notation
|
|
1640
1640
|
* @since 2.0.0
|
|
1641
1641
|
*/
|
|
@@ -1652,10 +1652,6 @@ const let_ = exports.let = /*#__PURE__*/doNotation.let_(map);
|
|
|
1652
1652
|
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
1653
1653
|
* 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
|
|
1654
1654
|
*
|
|
1655
|
-
* @see {@link Do}
|
|
1656
|
-
* @see {@link bindTo}
|
|
1657
|
-
* @see {@link let_ let}
|
|
1658
|
-
*
|
|
1659
1655
|
* @example
|
|
1660
1656
|
* ```ts
|
|
1661
1657
|
* import * as assert from "node:assert"
|
|
@@ -1671,6 +1667,10 @@ const let_ = exports.let = /*#__PURE__*/doNotation.let_(map);
|
|
|
1671
1667
|
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
1672
1668
|
* ```
|
|
1673
1669
|
*
|
|
1670
|
+
* @see {@link Do}
|
|
1671
|
+
* @see {@link bindTo}
|
|
1672
|
+
* @see {@link let_ let}
|
|
1673
|
+
*
|
|
1674
1674
|
* @category Do notation
|
|
1675
1675
|
* @since 2.0.0
|
|
1676
1676
|
*/
|
|
@@ -1686,10 +1686,6 @@ const bind = exports.bind = /*#__PURE__*/doNotation.bind(map, flatMap);
|
|
|
1686
1686
|
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
1687
1687
|
* 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
|
|
1688
1688
|
*
|
|
1689
|
-
* @see {@link bindTo}
|
|
1690
|
-
* @see {@link bind}
|
|
1691
|
-
* @see {@link let_ let}
|
|
1692
|
-
*
|
|
1693
1689
|
* @example
|
|
1694
1690
|
* ```ts
|
|
1695
1691
|
* import * as assert from "node:assert"
|
|
@@ -1705,6 +1701,10 @@ const bind = exports.bind = /*#__PURE__*/doNotation.bind(map, flatMap);
|
|
|
1705
1701
|
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
1706
1702
|
* ```
|
|
1707
1703
|
*
|
|
1704
|
+
* @see {@link bindTo}
|
|
1705
|
+
* @see {@link bind}
|
|
1706
|
+
* @see {@link let_ let}
|
|
1707
|
+
*
|
|
1708
1708
|
* @category Do notation
|
|
1709
1709
|
* @since 2.0.0
|
|
1710
1710
|
*/
|
|
@@ -1716,9 +1716,9 @@ const adapter = /*#__PURE__*/Gen.adapter();
|
|
|
1716
1716
|
* involves `Option` easier to write and understand. This approach is similar to
|
|
1717
1717
|
* using `async/await` but tailored for `Option`.
|
|
1718
1718
|
*
|
|
1719
|
-
*
|
|
1719
|
+
* **Example** (Using `Option.gen` to Create a Combined Value)
|
|
1720
|
+
*
|
|
1720
1721
|
* ```ts
|
|
1721
|
-
* // Title: Using Option.gen to Create a Combined Value
|
|
1722
1722
|
* import { Option } from "effect"
|
|
1723
1723
|
*
|
|
1724
1724
|
* const maybeName: Option.Option<string> = Option.some("John")
|
package/dist/cjs/Predicate.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.xor = exports.tuple = exports.struct = exports.some = exports.productMany = exports.product = exports.or = exports.not = exports.nor = exports.nand = exports.mapInput = exports.isUnknown = exports.isUndefined = exports.isUint8Array = exports.isTupleOfAtLeast = exports.isTupleOf = exports.isTruthy = exports.isTagged = exports.isSymbol = exports.isString = exports.isSet = exports.isRegExp = exports.isRecordOrArray = exports.isRecord = exports.isReadonlyRecord = exports.isPromiseLike = exports.isPromise = exports.isObject = exports.isNumber = exports.isNullable = exports.isNull = exports.isNotUndefined = exports.isNotNullable = exports.isNotNull = exports.isNever = exports.isMap = exports.isIterable = exports.isFunction = exports.isError = exports.isDate = exports.isBoolean = exports.isBigInt = exports.implies = exports.hasProperty = exports.every = exports.eqv = exports.compose = exports.and = exports.all = void 0;
|
|
6
|
+
exports.xor = exports.tuple = exports.struct = exports.some = exports.productMany = exports.product = exports.or = exports.not = exports.nor = exports.nand = exports.mapInput = exports.isUnknown = exports.isUndefined = exports.isUint8Array = exports.isTupleOfAtLeast = exports.isTupleOf = exports.isTruthy = exports.isTagged = exports.isSymbol = exports.isString = exports.isSet = exports.isRegExp = exports.isRecordOrArray = exports.isRecord = exports.isReadonlyRecord = exports.isPropertyKey = exports.isPromiseLike = exports.isPromise = exports.isObject = exports.isNumber = exports.isNullable = exports.isNull = exports.isNotUndefined = exports.isNotNullable = exports.isNotNull = exports.isNever = exports.isMap = exports.isIterable = exports.isFunction = exports.isError = exports.isDate = exports.isBoolean = exports.isBigInt = exports.implies = exports.hasProperty = exports.every = exports.eqv = exports.compose = exports.and = exports.all = void 0;
|
|
7
7
|
var _Function = require("./Function.js");
|
|
8
8
|
/**
|
|
9
9
|
* @since 2.0.0
|
|
@@ -225,6 +225,10 @@ const isBigInt = input => typeof input === "bigint";
|
|
|
225
225
|
*/
|
|
226
226
|
exports.isBigInt = isBigInt;
|
|
227
227
|
const isSymbol = input => typeof input === "symbol";
|
|
228
|
+
// TODO: make public
|
|
229
|
+
/** @internal */
|
|
230
|
+
exports.isSymbol = isSymbol;
|
|
231
|
+
const isPropertyKey = u => isString(u) || isNumber(u) || isSymbol(u);
|
|
228
232
|
/**
|
|
229
233
|
* Tests if a value is a `function`.
|
|
230
234
|
*
|
|
@@ -241,7 +245,7 @@ const isSymbol = input => typeof input === "symbol";
|
|
|
241
245
|
* @category guards
|
|
242
246
|
* @since 2.0.0
|
|
243
247
|
*/
|
|
244
|
-
exports.
|
|
248
|
+
exports.isPropertyKey = isPropertyKey;
|
|
245
249
|
const isFunction = exports.isFunction = _Function.isFunction;
|
|
246
250
|
/**
|
|
247
251
|
* Tests if a value is `undefined`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Predicate.js","names":["_Function","require","mapInput","exports","dual","self","f","b","isTupleOf","n","length","isTupleOfAtLeast","isTruthy","input","isSet","Set","isMap","Map","isString","isNumber","isBoolean","isBigInt","isSymbol","isFunction","isFunction_","isUndefined","undefined","isNotUndefined","isNull","isNotNull","isNever","_","isUnknown","isRecordOrArray","isObject","hasProperty","property","isTagged","tag","isNullable","isNotNullable","isError","Error","isUint8Array","Uint8Array","isDate","Date","isIterable","Symbol","iterator","isRecord","Array","isArray","isReadonlyRecord","isPromise","then","catch","isPromiseLike","isRegExp","RegExp","compose","ab","bc","a","product","that","all","collection","as","collectionIndex","p","productMany","rest","head","tail","tuple","elements","struct","fields","keys","Object","key","not","or","and","xor","eqv","implies","antecedent","consequent","nor","nand","every","some"],"sources":["../../src/Predicate.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAHA;;;;AAsEA;;;;;;;;;;;;;;;;;;;AAmBO,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAyCjB,IAAAE,cAAI,EAAC,CAAC,EAAE,CAAOC,IAAkB,EAAEC,CAAc,KAAoBC,CAAC,IAAKF,IAAI,CAACC,CAAC,CAACC,CAAC,CAAC,CAAC,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAMC,SAAS,GAAAL,OAAA,CAAAK,SAAA,gBAmDlB,IAAAJ,cAAI,EAAC,CAAC,EAAE,CAAsBC,IAAsB,EAAEI,CAAI,KAA4BJ,IAAI,CAACK,MAAM,KAAKD,CAAC,CAAC;AAE5G;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAME,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,gBAmDzB,IAAAP,cAAI,EAAC,CAAC,EAAE,CAAsBC,IAAsB,EAAEI,CAAI,KAAmCJ,IAAI,CAACK,MAAM,IAAID,CAAC,CAAC;AAElH;;;;;;;;;;;;;;;;AAgBO,MAAMG,QAAQ,GAAIC,KAAc,IAAK,CAAC,CAACA,KAAK;AAEnD;;;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAS,QAAA,GAAAA,QAAA;AAkBO,MAAME,KAAK,GAAID,KAAc,IAA4BA,KAAK,YAAYE,GAAG;AAEpF;;;;;;;;;;;;;;;;;AAAAZ,OAAA,CAAAW,KAAA,GAAAA,KAAA;AAiBO,MAAME,KAAK,GAAIH,KAAc,IAAqCA,KAAK,YAAYI,GAAG;AAE7F;;;;;;;;;;;;;;;;AAAAd,OAAA,CAAAa,KAAA,GAAAA,KAAA;AAgBO,MAAME,QAAQ,GAAIL,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAe,QAAA,GAAAA,QAAA;AAgBO,MAAMC,QAAQ,GAAIN,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAgB,QAAA,GAAAA,QAAA;AAgBO,MAAMC,SAAS,GAAIP,KAAc,IAAuB,OAAOA,KAAK,KAAK,SAAS;AAEzF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAiB,SAAA,GAAAA,SAAA;AAgBO,MAAMC,QAAQ,GAAIR,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAkB,QAAA,GAAAA,QAAA;AAgBO,MAAMC,QAAQ,GAAIT,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF
|
|
1
|
+
{"version":3,"file":"Predicate.js","names":["_Function","require","mapInput","exports","dual","self","f","b","isTupleOf","n","length","isTupleOfAtLeast","isTruthy","input","isSet","Set","isMap","Map","isString","isNumber","isBoolean","isBigInt","isSymbol","isPropertyKey","u","isFunction","isFunction_","isUndefined","undefined","isNotUndefined","isNull","isNotNull","isNever","_","isUnknown","isRecordOrArray","isObject","hasProperty","property","isTagged","tag","isNullable","isNotNullable","isError","Error","isUint8Array","Uint8Array","isDate","Date","isIterable","Symbol","iterator","isRecord","Array","isArray","isReadonlyRecord","isPromise","then","catch","isPromiseLike","isRegExp","RegExp","compose","ab","bc","a","product","that","all","collection","as","collectionIndex","p","productMany","rest","head","tail","tuple","elements","struct","fields","keys","Object","key","not","or","and","xor","eqv","implies","antecedent","consequent","nor","nand","every","some"],"sources":["../../src/Predicate.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAHA;;;;AAsEA;;;;;;;;;;;;;;;;;;;AAmBO,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAyCjB,IAAAE,cAAI,EAAC,CAAC,EAAE,CAAOC,IAAkB,EAAEC,CAAc,KAAoBC,CAAC,IAAKF,IAAI,CAACC,CAAC,CAACC,CAAC,CAAC,CAAC,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAMC,SAAS,GAAAL,OAAA,CAAAK,SAAA,gBAmDlB,IAAAJ,cAAI,EAAC,CAAC,EAAE,CAAsBC,IAAsB,EAAEI,CAAI,KAA4BJ,IAAI,CAACK,MAAM,KAAKD,CAAC,CAAC;AAE5G;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAME,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,gBAmDzB,IAAAP,cAAI,EAAC,CAAC,EAAE,CAAsBC,IAAsB,EAAEI,CAAI,KAAmCJ,IAAI,CAACK,MAAM,IAAID,CAAC,CAAC;AAElH;;;;;;;;;;;;;;;;AAgBO,MAAMG,QAAQ,GAAIC,KAAc,IAAK,CAAC,CAACA,KAAK;AAEnD;;;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAS,QAAA,GAAAA,QAAA;AAkBO,MAAME,KAAK,GAAID,KAAc,IAA4BA,KAAK,YAAYE,GAAG;AAEpF;;;;;;;;;;;;;;;;;AAAAZ,OAAA,CAAAW,KAAA,GAAAA,KAAA;AAiBO,MAAME,KAAK,GAAIH,KAAc,IAAqCA,KAAK,YAAYI,GAAG;AAE7F;;;;;;;;;;;;;;;;AAAAd,OAAA,CAAAa,KAAA,GAAAA,KAAA;AAgBO,MAAME,QAAQ,GAAIL,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAe,QAAA,GAAAA,QAAA;AAgBO,MAAMC,QAAQ,GAAIN,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAgB,QAAA,GAAAA,QAAA;AAgBO,MAAMC,SAAS,GAAIP,KAAc,IAAuB,OAAOA,KAAK,KAAK,SAAS;AAEzF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAiB,SAAA,GAAAA,SAAA;AAgBO,MAAMC,QAAQ,GAAIR,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAkB,QAAA,GAAAA,QAAA;AAgBO,MAAMC,QAAQ,GAAIT,KAAc,IAAsB,OAAOA,KAAK,KAAK,QAAQ;AAEtF;AACA;AAAAV,OAAA,CAAAmB,QAAA,GAAAA,QAAA;AACO,MAAMC,aAAa,GAAIC,CAAU,IAAuBN,QAAQ,CAACM,CAAC,CAAC,IAAIL,QAAQ,CAACK,CAAC,CAAC,IAAIF,QAAQ,CAACE,CAAC,CAAC;AAExG;;;;;;;;;;;;;;;;AAAArB,OAAA,CAAAoB,aAAA,GAAAA,aAAA;AAgBO,MAAME,UAAU,GAAAtB,OAAA,CAAAsB,UAAA,GAA0CC,oBAAW;AAE5E;;;;;;;;;;;;;;;;;AAiBO,MAAMC,WAAW,GAAId,KAAc,IAAyBA,KAAK,KAAKe,SAAS;AAEtF;;;;;;;;;;;;;;;;;AAAAzB,OAAA,CAAAwB,WAAA,GAAAA,WAAA;AAiBO,MAAME,cAAc,GAAOhB,KAAQ,IAAqCA,KAAK,KAAKe,SAAS;AAElG;;;;;;;;;;;;;;;;;AAAAzB,OAAA,CAAA0B,cAAA,GAAAA,cAAA;AAiBO,MAAMC,MAAM,GAAIjB,KAAc,IAAoBA,KAAK,KAAK,IAAI;AAEvE;;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAA2B,MAAA,GAAAA,MAAA;AAiBO,MAAMC,SAAS,GAAOlB,KAAQ,IAAgCA,KAAK,KAAK,IAAI;AAEnF;;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAA4B,SAAA,GAAAA,SAAA;AAiBO,MAAMC,OAAO,GAAwCC,CAAU,IAAiB,KAAK;AAE5F;;;;;;;;;;;;;;;;;;AAAA9B,OAAA,CAAA6B,OAAA,GAAAA,OAAA;AAkBO,MAAME,SAAS,GAA0CD,CAAC,IAAmB,IAAI;AAExF;AAAA9B,OAAA,CAAA+B,SAAA,GAAAA,SAAA;AACO,MAAMC,eAAe,GAAItB,KAAc,IAC5C,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI;AAE7C;;;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAgC,eAAA,GAAAA,eAAA;AAkBO,MAAMC,QAAQ,GAAIvB,KAAc,IAAsBsB,eAAe,CAACtB,KAAK,CAAC,IAAIY,UAAU,CAACZ,KAAK,CAAC;AAExG;;;;;;AAAAV,OAAA,CAAAiC,QAAA,GAAAA,QAAA;AAMO,MAAMC,WAAW,GAAAlC,OAAA,CAAAkC,WAAA,gBAepB,IAAAjC,cAAI,EACN,CAAC,EACD,CAAwBC,IAAa,EAAEiC,QAAW,KAChDF,QAAQ,CAAC/B,IAAI,CAAC,IAAKiC,QAAQ,IAAIjC,IAAK,CACvC;AAED;;;;;;;;;;;;;;;;;;;AAmBO,MAAMkC,QAAQ,GAAApC,OAAA,CAAAoC,QAAA,gBAyCjB,IAAAnC,cAAI,EACN,CAAC,EACD,CAAmBC,IAAa,EAAEmC,GAAM,KAA0BH,WAAW,CAAChC,IAAI,EAAE,MAAM,CAAC,IAAIA,IAAI,CAAC,MAAM,CAAC,KAAKmC,GAAG,CACpH;AAED;;;;;;;;;;;;;;;;;;AAkBO,MAAMC,UAAU,GAAO5B,KAAQ,IAA4CA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKe,SAAS;AAEvH;;;;;;;;;;;;;;;;;;AAAAzB,OAAA,CAAAsC,UAAA,GAAAA,UAAA;AAkBO,MAAMC,aAAa,GAAO7B,KAAQ,IAA8BA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKe,SAAS;AAE5G;;;;;;;;;;;;;;;;;AAAAzB,OAAA,CAAAuC,aAAA,GAAAA,aAAA;AAiBO,MAAMC,OAAO,GAAI9B,KAAc,IAAqBA,KAAK,YAAY+B,KAAK;AAEjF;;;;;;;;;;;;;;;;;AAAAzC,OAAA,CAAAwC,OAAA,GAAAA,OAAA;AAiBO,MAAME,YAAY,GAAIhC,KAAc,IAA0BA,KAAK,YAAYiC,UAAU;AAEhG;;;;;;;;;;;;;;;;;AAAA3C,OAAA,CAAA0C,YAAA,GAAAA,YAAA;AAiBO,MAAME,MAAM,GAAIlC,KAAc,IAAoBA,KAAK,YAAYmC,IAAI;AAE9E;;;;;;;;;;;;;;;;;;AAAA7C,OAAA,CAAA4C,MAAA,GAAAA,MAAA;AAkBO,MAAME,UAAU,GAAIpC,KAAc,IAAiCwB,WAAW,CAACxB,KAAK,EAAEqC,MAAM,CAACC,QAAQ,CAAC;AAE7G;;;;;;;;;;;;;;;;;;;;;AAAAhD,OAAA,CAAA8C,UAAA,GAAAA,UAAA;AAqBO,MAAMG,QAAQ,GAAIvC,KAAc,IACrCsB,eAAe,CAACtB,KAAK,CAAC,IAAI,CAACwC,KAAK,CAACC,OAAO,CAACzC,KAAK,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;AAAAV,OAAA,CAAAiD,QAAA,GAAAA,QAAA;AAoBO,MAAMG,gBAAgB,GAAApD,OAAA,CAAAoD,gBAAA,GAE8BH,QAAQ;AAEnE;;;;;;;;;;;;;;;AAeO,MAAMI,SAAS,GACpB3C,KAAc,IAEdwB,WAAW,CAACxB,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,IAAIA,KAAK,IAAIY,UAAU,CAACZ,KAAK,CAAC4C,IAAI,CAAC,IAAIhC,UAAU,CAACZ,KAAK,CAAC6C,KAAK,CAAC;AAErG;;;;AAAAvD,OAAA,CAAAqD,SAAA,GAAAA,SAAA;AAIO,MAAMG,aAAa,GACxB9C,KAAc,IACoBwB,WAAW,CAACxB,KAAK,EAAE,MAAM,CAAC,IAAIY,UAAU,CAACZ,KAAK,CAAC4C,IAAI,CAAC;AAExF;;;;;;;;;;;;;;;AAAAtD,OAAA,CAAAwD,aAAA,GAAAA,aAAA;AAeO,MAAMC,QAAQ,GAAI/C,KAAc,IAAsBA,KAAK,YAAYgD,MAAM;AAEpF;;;AAAA1D,OAAA,CAAAyD,QAAA,GAAAA,QAAA;AAGO,MAAME,OAAO,GAAA3D,OAAA,CAAA2D,OAAA,gBAiBhB,IAAA1D,cAAI,EACN,CAAC,EACD,CAA8B2D,EAAoB,EAAEC,EAAoB,KAAwBC,CAAC,IAC/FF,EAAE,CAACE,CAAC,CAAC,IAAID,EAAE,CAACC,CAAC,CAAC,CACjB;AAED;;;;AAIO,MAAMC,OAAO,GAClBA,CAAO7D,IAAkB,EAAE8D,IAAkB,KAC7C,CAAC,CAACF,CAAC,EAAE1D,CAAC,CAAC,KAAKF,IAAI,CAAC4D,CAAC,CAAC,IAAIE,IAAI,CAAC5D,CAAC,CAAC;AAEhC;;;;AAAAJ,OAAA,CAAA+D,OAAA,GAAAA,OAAA;AAIO,MAAME,GAAG,GACdC,UAAkC,IACH;EAC/B,OAAQC,EAAE,IAAI;IACZ,IAAIC,eAAe,GAAG,CAAC;IACvB,KAAK,MAAMC,CAAC,IAAIH,UAAU,EAAE;MAC1B,IAAIE,eAAe,IAAID,EAAE,CAAC5D,MAAM,EAAE;QAChC;MACF;MACA,IAAI8D,CAAC,CAACF,EAAE,CAACC,eAAe,CAAC,CAAC,KAAK,KAAK,EAAE;QACpC,OAAO,KAAK;MACd;MACAA,eAAe,EAAE;IACnB;IACA,OAAO,IAAI;EACb,CAAC;AACH,CAAC;AAED;;;;AAAApE,OAAA,CAAAiE,GAAA,GAAAA,GAAA;AAIO,MAAMK,WAAW,GAAGA,CACzBpE,IAAkB,EAClBgE,UAAkC,KAC2C;EAC7E,MAAMK,IAAI,GAAGN,GAAG,CAACC,UAAU,CAAC;EAC5B,OAAO,CAAC,CAACM,IAAI,EAAE,GAAGC,IAAI,CAAC,KAAKvE,IAAI,CAACsE,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,GAAGD,IAAI,CAACE,IAAI,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;AAAAzE,OAAA,CAAAsE,WAAA,GAAAA,WAAA;AAWO,MAAMI,KAAK,GAiBdA,CAAC,GAAGC,QAAsC,KAAKV,GAAG,CAACU,QAAQ,CAAQ;AAEvE;;;;;;;;;AAAA3E,OAAA,CAAA0E,KAAA,GAAAA,KAAA;AASO,MAAME,MAAM,GAgB4BC,MAAS,IAAI;EAC1D,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,MAAM,CAAC;EAChC,OAAQf,CAA0B,IAAI;IACpC,KAAK,MAAMkB,GAAG,IAAIF,IAAI,EAAE;MACtB,IAAI,CAACD,MAAM,CAACG,GAAG,CAAC,CAAClB,CAAC,CAACkB,GAAG,CAAU,CAAC,EAAE;QACjC,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb,CAAC;AACH,CAAS;AAET;;;;;;;;;;;;;;;;;;AAAAhF,OAAA,CAAA4E,MAAA,GAAAA,MAAA;AAkBO,MAAMK,GAAG,GAAO/E,IAAkB,IAAoB4D,CAAC,IAAK,CAAC5D,IAAI,CAAC4D,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;AAAA9D,OAAA,CAAAiF,GAAA,GAAAA,GAAA;AAkBO,MAAMC,EAAE,GAAAlF,OAAA,CAAAkF,EAAA,gBA6EX,IAAAjF,cAAI,EAAC,CAAC,EAAE,CAAIC,IAAkB,EAAE8D,IAAkB,KAAoBF,CAAC,IAAK5D,IAAI,CAAC4D,CAAC,CAAC,IAAIE,IAAI,CAACF,CAAC,CAAC,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAMqB,GAAG,GAAAnF,OAAA,CAAAmF,GAAA,gBAyFZ,IAAAlF,cAAI,EAAC,CAAC,EAAE,CAAIC,IAAkB,EAAE8D,IAAkB,KAAoBF,CAAC,IAAK5D,IAAI,CAAC4D,CAAC,CAAC,IAAIE,IAAI,CAACF,CAAC,CAAC,CAAC;AAEnG;;;;AAIO,MAAMsB,GAAG,GAAApF,OAAA,CAAAoF,GAAA,gBAWZ,IAAAnF,cAAI,EAAC,CAAC,EAAE,CAAIC,IAAkB,EAAE8D,IAAkB,KAAoBF,CAAC,IAAK5D,IAAI,CAAC4D,CAAC,CAAC,KAAKE,IAAI,CAACF,CAAC,CAAC,CAAC;AAEpG;;;;AAIO,MAAMuB,GAAG,GAAArF,OAAA,CAAAqF,GAAA,gBAWZ,IAAApF,cAAI,EAAC,CAAC,EAAE,CAAIC,IAAkB,EAAE8D,IAAkB,KAAoBF,CAAC,IAAK5D,IAAI,CAAC4D,CAAC,CAAC,KAAKE,IAAI,CAACF,CAAC,CAAC,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CO,MAAMwB,OAAO,GAAAtF,OAAA,CAAAsF,OAAA,gBAiGhB,IAAArF,cAAI,EACN,CAAC,EACD,CAAIsF,UAAwB,EAAEC,UAAwB,KAAoB1B,CAAC,IAAKyB,UAAU,CAACzB,CAAC,CAAC,GAAG0B,UAAU,CAAC1B,CAAC,CAAC,GAAG,IAAI,CACrH;AAED;;;;AAIO,MAAM2B,GAAG,GAAAzF,OAAA,CAAAyF,GAAA,gBAWZ,IAAAxF,cAAI,EACN,CAAC,EACD,CAAIC,IAAkB,EAAE8D,IAAkB,KAAoBF,CAAC,IAAK,EAAE5D,IAAI,CAAC4D,CAAC,CAAC,IAAIE,IAAI,CAACF,CAAC,CAAC,CAAC,CAC1F;AAED;;;;AAIO,MAAM4B,IAAI,GAAA1F,OAAA,CAAA0F,IAAA,gBAWb,IAAAzF,cAAI,EACN,CAAC,EACD,CAAIC,IAAkB,EAAE8D,IAAkB,KAAoBF,CAAC,IAAK,EAAE5D,IAAI,CAAC4D,CAAC,CAAC,IAAIE,IAAI,CAACF,CAAC,CAAC,CAAC,CAC1F;AAED;;;;AAIO,MAAM6B,KAAK,GAAOzB,UAAkC,IAAoBJ,CAAI,IAAI;EACrF,KAAK,MAAMO,CAAC,IAAIH,UAAU,EAAE;IAC1B,IAAI,CAACG,CAAC,CAACP,CAAC,CAAC,EAAE;MACT,OAAO,KAAK;IACd;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAED;;;;AAAA9D,OAAA,CAAA2F,KAAA,GAAAA,KAAA;AAIO,MAAMC,IAAI,GAAO1B,UAAkC,IAAoBJ,CAAC,IAAI;EACjF,KAAK,MAAMO,CAAC,IAAIH,UAAU,EAAE;IAC1B,IAAIG,CAAC,CAACP,CAAC,CAAC,EAAE;MACR,OAAO,IAAI;IACb;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAAA9D,OAAA,CAAA4F,IAAA,GAAAA,IAAA","ignoreList":[]}
|
package/dist/cjs/Schema.js
CHANGED
|
@@ -1401,7 +1401,7 @@ const lazilyMergeDefaults = (fields, out) => {
|
|
|
1401
1401
|
}
|
|
1402
1402
|
return out;
|
|
1403
1403
|
};
|
|
1404
|
-
|
|
1404
|
+
function makeTypeLiteralClass(fields, records, ast = getDefaultTypeLiteralAST(fields, records)) {
|
|
1405
1405
|
return class TypeLiteralClass extends make(ast) {
|
|
1406
1406
|
static annotations(annotations) {
|
|
1407
1407
|
return makeTypeLiteralClass(this.fields, this.records, mergeSchemaAnnotations(this.ast, annotations));
|
|
@@ -1423,7 +1423,7 @@ const makeTypeLiteralClass = (fields, records, ast = getDefaultTypeLiteralAST(fi
|
|
|
1423
1423
|
return Struct(struct_.omit(fields, ...keys));
|
|
1424
1424
|
}
|
|
1425
1425
|
};
|
|
1426
|
-
}
|
|
1426
|
+
}
|
|
1427
1427
|
function Struct(fields, ...records) {
|
|
1428
1428
|
return makeTypeLiteralClass(fields, records);
|
|
1429
1429
|
}
|
|
@@ -1432,8 +1432,6 @@ function Struct(fields, ...records) {
|
|
|
1432
1432
|
* A tag is a literal value that is used to distinguish between different types of objects.
|
|
1433
1433
|
* The tag is optional when using the `make` method.
|
|
1434
1434
|
*
|
|
1435
|
-
* @see {@link TaggedStruct}
|
|
1436
|
-
*
|
|
1437
1435
|
* @example
|
|
1438
1436
|
* ```ts
|
|
1439
1437
|
* import * as assert from "node:assert"
|
|
@@ -1448,6 +1446,8 @@ function Struct(fields, ...records) {
|
|
|
1448
1446
|
* assert.deepStrictEqual(User.make({ name: "John", age: 44 }), { _tag: "User", name: "John", age: 44 })
|
|
1449
1447
|
* ```
|
|
1450
1448
|
*
|
|
1449
|
+
* @see {@link TaggedStruct}
|
|
1450
|
+
*
|
|
1451
1451
|
* @since 3.10.0
|
|
1452
1452
|
*/
|
|
1453
1453
|
const tag = tag => Literal(tag).pipe(propertySignature, withConstructorDefault(() => tag));
|
|
@@ -1478,16 +1478,18 @@ const TaggedStruct = (value, fields) => Struct({
|
|
|
1478
1478
|
...fields
|
|
1479
1479
|
});
|
|
1480
1480
|
exports.TaggedStruct = TaggedStruct;
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1481
|
+
function makeRecordClass(key, value, ast) {
|
|
1482
|
+
return class RecordClass extends makeTypeLiteralClass({}, [{
|
|
1483
|
+
key,
|
|
1484
|
+
value
|
|
1485
|
+
}], ast) {
|
|
1486
|
+
static annotations(annotations) {
|
|
1487
|
+
return makeRecordClass(key, value, mergeSchemaAnnotations(this.ast, annotations));
|
|
1488
|
+
}
|
|
1489
|
+
static key = key;
|
|
1490
|
+
static value = value;
|
|
1491
|
+
};
|
|
1492
|
+
}
|
|
1491
1493
|
/**
|
|
1492
1494
|
* @category constructors
|
|
1493
1495
|
* @since 3.10.0
|
|
@@ -5177,7 +5179,8 @@ const makeClass = ({
|
|
|
5177
5179
|
value() {
|
|
5178
5180
|
return `${identifier}({ ${util_.ownKeys(fields).map(p => `${util_.formatPropertyKey(p)}: ${util_.formatUnknown(this[p])}`).join(", ")} })`;
|
|
5179
5181
|
},
|
|
5180
|
-
configurable: true
|
|
5182
|
+
configurable: true,
|
|
5183
|
+
writable: true
|
|
5181
5184
|
});
|
|
5182
5185
|
}
|
|
5183
5186
|
return klass;
|
|
@@ -5740,6 +5743,7 @@ function SortedSet(value, ordA) {
|
|
|
5740
5743
|
* Uses `!!val` to coerce the value to a `boolean`.
|
|
5741
5744
|
*
|
|
5742
5745
|
* @see https://developer.mozilla.org/docs/Glossary/Truthy
|
|
5746
|
+
*
|
|
5743
5747
|
* @category boolean constructors
|
|
5744
5748
|
* @since 3.10.0
|
|
5745
5749
|
*/
|
|
@@ -6059,8 +6063,8 @@ const go = (ast, path) => {
|
|
|
6059
6063
|
let bStringKeys;
|
|
6060
6064
|
for (let i = 0; i < indexSignatures.length; i++) {
|
|
6061
6065
|
const is = ast.indexSignatures[i];
|
|
6062
|
-
const
|
|
6063
|
-
const isSymbol = AST.isSymbolKeyword(
|
|
6066
|
+
const encodedParameter = AST.getEncodedParameter(is.parameter);
|
|
6067
|
+
const isSymbol = AST.isSymbolKeyword(encodedParameter);
|
|
6064
6068
|
if (isSymbol) {
|
|
6065
6069
|
bSymbolKeys = bSymbolKeys || Object.getOwnPropertySymbols(b);
|
|
6066
6070
|
if (aSymbolKeys.length !== bSymbolKeys.length) {
|