effect 3.13.2 → 3.13.4
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/FiberHandle.js +5 -3
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +5 -3
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +6 -3
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/JSONSchema.js +7 -7
- package/dist/cjs/JSONSchema.js.map +1 -1
- package/dist/cjs/Option.js +3 -15
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/ParseResult.js +1 -1
- package/dist/cjs/ParseResult.js.map +1 -1
- package/dist/cjs/Schema.js +593 -522
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +4 -5
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +5 -5
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/entry.js.map +1 -0
- package/dist/cjs/internal/stm/journal.js.map +1 -0
- package/dist/cjs/internal/stm/stm.js +2 -2
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/{stm/stmState.js → stmState.js} +7 -7
- package/dist/cjs/internal/stm/stmState.js.map +1 -0
- package/dist/cjs/internal/stm/{stm/tExit.js → tExit.js} +5 -5
- package/dist/cjs/internal/stm/tExit.js.map +1 -0
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js +2 -2
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/{stm/tryCommit.js → tryCommit.js} +1 -1
- package/dist/cjs/internal/stm/tryCommit.js.map +1 -0
- package/dist/cjs/internal/stm/txnId.js.map +1 -0
- package/dist/cjs/internal/stm/versioned.js.map +1 -0
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +6 -6
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +1 -1
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +3 -42
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/ParseResult.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +400 -270
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/internal/stm/entry.d.ts.map +1 -0
- package/dist/dts/internal/stm/journal.d.ts.map +1 -0
- package/dist/dts/internal/stm/stmState.d.ts.map +1 -0
- package/dist/dts/internal/stm/tExit.d.ts.map +1 -0
- package/dist/dts/internal/stm/tryCommit.d.ts.map +1 -0
- package/dist/dts/internal/stm/txnId.d.ts.map +1 -0
- package/dist/dts/internal/stm/versioned.d.ts.map +1 -0
- package/dist/esm/FiberHandle.js +5 -3
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +5 -3
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +6 -3
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/JSONSchema.js +7 -7
- package/dist/esm/JSONSchema.js.map +1 -1
- package/dist/esm/Option.js +3 -15
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/ParseResult.js +1 -1
- package/dist/esm/ParseResult.js.map +1 -1
- package/dist/esm/Schema.js +538 -490
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +4 -5
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/stm/core.js +5 -5
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/entry.js.map +1 -0
- package/dist/esm/internal/stm/journal.js.map +1 -0
- package/dist/esm/internal/stm/stm.js +2 -2
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/{stm/stmState.js → stmState.js} +7 -7
- package/dist/esm/internal/stm/stmState.js.map +1 -0
- package/dist/esm/internal/stm/{stm/tExit.js → tExit.js} +5 -5
- package/dist/esm/internal/stm/tExit.js.map +1 -0
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js +2 -2
- package/dist/esm/internal/stm/tRef.js.map +1 -1
- package/dist/esm/internal/stm/{stm/tryCommit.js → tryCommit.js} +1 -1
- package/dist/esm/internal/stm/tryCommit.js.map +1 -0
- package/dist/esm/internal/stm/txnId.js.map +1 -0
- package/dist/esm/internal/stm/versioned.js.map +1 -0
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +6 -6
- package/src/Context.ts +1 -1
- package/src/FiberHandle.ts +11 -7
- package/src/FiberMap.ts +11 -7
- package/src/FiberSet.ts +9 -7
- package/src/JSONSchema.ts +7 -7
- package/src/Option.ts +7 -46
- package/src/ParseResult.ts +1 -3
- package/src/Schema.ts +1337 -1137
- package/src/TRef.ts +3 -3
- package/src/internal/fiberRuntime.ts +5 -4
- package/src/internal/stm/core.ts +5 -5
- package/src/internal/stm/{stm/entry.ts → entry.ts} +1 -1
- package/src/internal/stm/{stm/journal.ts → journal.ts} +1 -1
- package/src/internal/stm/stm.ts +2 -2
- package/src/internal/stm/{stm/stmState.ts → stmState.ts} +7 -7
- package/src/internal/stm/{stm/tExit.ts → tExit.ts} +7 -7
- package/src/internal/stm/tMap.ts +1 -1
- package/src/internal/stm/tRef.ts +4 -4
- package/src/internal/stm/{stm/tryCommit.ts → tryCommit.ts} +2 -2
- package/src/internal/version.ts +1 -1
- package/dist/cjs/internal/stm/stm/entry.js.map +0 -1
- package/dist/cjs/internal/stm/stm/journal.js.map +0 -1
- package/dist/cjs/internal/stm/stm/opCodes/stm.js +0 -31
- package/dist/cjs/internal/stm/stm/opCodes/stm.js.map +0 -1
- package/dist/cjs/internal/stm/stm/opCodes/stmState.js +0 -13
- package/dist/cjs/internal/stm/stm/opCodes/stmState.js.map +0 -1
- package/dist/cjs/internal/stm/stm/opCodes/strategy.js +0 -13
- package/dist/cjs/internal/stm/stm/opCodes/strategy.js.map +0 -1
- package/dist/cjs/internal/stm/stm/opCodes/tExit.js +0 -17
- package/dist/cjs/internal/stm/stm/opCodes/tExit.js.map +0 -1
- package/dist/cjs/internal/stm/stm/opCodes/tryCommit.js +0 -11
- package/dist/cjs/internal/stm/stm/opCodes/tryCommit.js.map +0 -1
- package/dist/cjs/internal/stm/stm/stmState.js.map +0 -1
- package/dist/cjs/internal/stm/stm/tExit.js.map +0 -1
- package/dist/cjs/internal/stm/stm/tryCommit.js.map +0 -1
- package/dist/cjs/internal/stm/stm/txnId.js.map +0 -1
- package/dist/cjs/internal/stm/stm/versioned.js.map +0 -1
- package/dist/dts/internal/stm/stm/entry.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/journal.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/opCodes/stm.d.ts +0 -2
- package/dist/dts/internal/stm/stm/opCodes/stm.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/opCodes/stmState.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/opCodes/strategy.d.ts +0 -2
- package/dist/dts/internal/stm/stm/opCodes/strategy.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/opCodes/tExit.d.ts +0 -2
- package/dist/dts/internal/stm/stm/opCodes/tExit.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/opCodes/tryCommit.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/stmState.d.ts +0 -2
- package/dist/dts/internal/stm/stm/stmState.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/tExit.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/tryCommit.d.ts +0 -2
- package/dist/dts/internal/stm/stm/tryCommit.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/txnId.d.ts.map +0 -1
- package/dist/dts/internal/stm/stm/versioned.d.ts.map +0 -1
- package/dist/esm/internal/stm/stm/entry.js.map +0 -1
- package/dist/esm/internal/stm/stm/journal.js.map +0 -1
- package/dist/esm/internal/stm/stm/opCodes/stm.js +0 -25
- package/dist/esm/internal/stm/stm/opCodes/stm.js.map +0 -1
- package/dist/esm/internal/stm/stm/opCodes/stmState.js +0 -7
- package/dist/esm/internal/stm/stm/opCodes/stmState.js.map +0 -1
- package/dist/esm/internal/stm/stm/opCodes/strategy.js +0 -7
- package/dist/esm/internal/stm/stm/opCodes/strategy.js.map +0 -1
- package/dist/esm/internal/stm/stm/opCodes/tExit.js +0 -11
- package/dist/esm/internal/stm/stm/opCodes/tExit.js.map +0 -1
- package/dist/esm/internal/stm/stm/opCodes/tryCommit.js +0 -5
- package/dist/esm/internal/stm/stm/opCodes/tryCommit.js.map +0 -1
- package/dist/esm/internal/stm/stm/stmState.js.map +0 -1
- package/dist/esm/internal/stm/stm/tExit.js.map +0 -1
- package/dist/esm/internal/stm/stm/tryCommit.js.map +0 -1
- package/dist/esm/internal/stm/stm/txnId.js.map +0 -1
- package/dist/esm/internal/stm/stm/versioned.js.map +0 -1
- package/src/internal/stm/stm/opCodes/stm.ts +0 -71
- package/src/internal/stm/stm/opCodes/stmState.ts +0 -17
- package/src/internal/stm/stm/opCodes/strategy.ts +0 -17
- package/src/internal/stm/stm/opCodes/tExit.ts +0 -29
- package/src/internal/stm/stm/opCodes/tryCommit.ts +0 -11
- /package/dist/cjs/internal/stm/{stm/entry.js → entry.js} +0 -0
- /package/dist/cjs/internal/stm/{stm/journal.js → journal.js} +0 -0
- /package/dist/cjs/internal/stm/{stm/txnId.js → txnId.js} +0 -0
- /package/dist/cjs/internal/stm/{stm/versioned.js → versioned.js} +0 -0
- /package/dist/dts/internal/stm/{stm/entry.d.ts → entry.d.ts} +0 -0
- /package/dist/dts/internal/stm/{stm/journal.d.ts → journal.d.ts} +0 -0
- /package/dist/dts/internal/stm/{stm/opCodes/stmState.d.ts → stmState.d.ts} +0 -0
- /package/dist/dts/internal/stm/{stm/tExit.d.ts → tExit.d.ts} +0 -0
- /package/dist/dts/internal/stm/{stm/opCodes/tryCommit.d.ts → tryCommit.d.ts} +0 -0
- /package/dist/dts/internal/stm/{stm/txnId.d.ts → txnId.d.ts} +0 -0
- /package/dist/dts/internal/stm/{stm/versioned.d.ts → versioned.d.ts} +0 -0
- /package/dist/esm/internal/stm/{stm/entry.js → entry.js} +0 -0
- /package/dist/esm/internal/stm/{stm/journal.js → journal.js} +0 -0
- /package/dist/esm/internal/stm/{stm/txnId.js → txnId.js} +0 -0
- /package/dist/esm/internal/stm/{stm/versioned.js → versioned.js} +0 -0
- /package/src/internal/stm/{stm/txnId.ts → txnId.ts} +0 -0
- /package/src/internal/stm/{stm/versioned.ts → versioned.ts} +0 -0
package/src/Array.ts
CHANGED
|
@@ -2446,7 +2446,7 @@ export const remove: {
|
|
|
2446
2446
|
* @category elements
|
|
2447
2447
|
* @since 2.0.0
|
|
2448
2448
|
*/
|
|
2449
|
-
export const reverse = <S extends Iterable<any
|
|
2449
|
+
export const reverse = <S extends Iterable<any>>(
|
|
2450
2450
|
self: S
|
|
2451
2451
|
): S extends NonEmptyReadonlyArray<infer A> ? NonEmptyArray<A> : S extends Iterable<infer A> ? Array<A> : never =>
|
|
2452
2452
|
Array.from(self).reverse() as any
|
|
@@ -2466,7 +2466,7 @@ export const sort: {
|
|
|
2466
2466
|
* @category sorting
|
|
2467
2467
|
* @since 2.0.0
|
|
2468
2468
|
*/
|
|
2469
|
-
<B>(O: Order.Order<B>): <A extends B, S extends
|
|
2469
|
+
<B>(O: Order.Order<B>): <A extends B, S extends Iterable<A>>(self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S>>
|
|
2470
2470
|
/**
|
|
2471
2471
|
* Create a new array with elements sorted in increasing order based on the specified comparator.
|
|
2472
2472
|
* If the input is a `NonEmptyReadonlyArray`, the output will also be a `NonEmptyReadonlyArray`.
|
|
@@ -2534,7 +2534,7 @@ export const sortWith: {
|
|
|
2534
2534
|
* @since 2.0.0
|
|
2535
2535
|
* @category elements
|
|
2536
2536
|
*/
|
|
2537
|
-
<S extends Iterable<any
|
|
2537
|
+
<S extends Iterable<any>, B>(f: (a: ReadonlyArray.Infer<S>) => B, order: Order.Order<B>): (self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S>>
|
|
2538
2538
|
/**
|
|
2539
2539
|
* Sorts an array based on a provided mapping function and order. The mapping
|
|
2540
2540
|
* function transforms the elements into a value that can be compared, and the
|
|
@@ -2621,7 +2621,7 @@ export const sortWith: {
|
|
|
2621
2621
|
* @category sorting
|
|
2622
2622
|
* @since 2.0.0
|
|
2623
2623
|
*/
|
|
2624
|
-
export const sortBy = <S extends Iterable<any
|
|
2624
|
+
export const sortBy = <S extends Iterable<any>>(
|
|
2625
2625
|
...orders: ReadonlyArray<Order.Order<ReadonlyArray.Infer<S>>>
|
|
2626
2626
|
) => {
|
|
2627
2627
|
const sortByAll = sort(Order.combineAll(orders))
|
|
@@ -2857,7 +2857,7 @@ export const zipWith: {
|
|
|
2857
2857
|
*
|
|
2858
2858
|
* @since 2.0.0
|
|
2859
2859
|
*/
|
|
2860
|
-
export const unzip: <S extends Iterable<readonly [any, any]
|
|
2860
|
+
export const unzip: <S extends Iterable<readonly [any, any]>>(
|
|
2861
2861
|
self: S
|
|
2862
2862
|
) => S extends NonEmptyReadonlyArray<readonly [infer A, infer B]> ? [NonEmptyArray<A>, NonEmptyArray<B>]
|
|
2863
2863
|
: S extends Iterable<readonly [infer A, infer B]> ? [Array<A>, Array<B>]
|
|
@@ -5735,7 +5735,7 @@ export const dedupeWith: {
|
|
|
5735
5735
|
*
|
|
5736
5736
|
* @since 2.0.0
|
|
5737
5737
|
*/
|
|
5738
|
-
export const dedupe = <S extends Iterable<any
|
|
5738
|
+
export const dedupe = <S extends Iterable<any>>(
|
|
5739
5739
|
self: S
|
|
5740
5740
|
): S extends NonEmptyReadonlyArray<infer A> ? NonEmptyArray<A> : S extends Iterable<infer A> ? Array<A> : never =>
|
|
5741
5741
|
dedupeWith(self, Equal.equivalence()) as any
|
package/src/Context.ts
CHANGED
|
@@ -112,7 +112,7 @@ export interface ReferenceClass<Self, Id extends string, Type> extends Reference
|
|
|
112
112
|
* @since 2.0.0
|
|
113
113
|
*/
|
|
114
114
|
export interface TagUnify<A extends { [Unify.typeSymbol]?: any }> {
|
|
115
|
-
Tag?: () => A[Unify.typeSymbol]
|
|
115
|
+
Tag?: () => Extract<A[Unify.typeSymbol], Tag<any, any>>
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
/**
|
package/src/FiberHandle.ts
CHANGED
|
@@ -111,13 +111,17 @@ export const make = <A = unknown, E = unknown>(): Effect.Effect<FiberHandle<A, E
|
|
|
111
111
|
Effect.acquireRelease(
|
|
112
112
|
Effect.map(Deferred.make<void, E>(), (deferred) => unsafeMake<A, E>(deferred)),
|
|
113
113
|
(handle) =>
|
|
114
|
-
Effect.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
114
|
+
Effect.withFiberRuntime((parent) => {
|
|
115
|
+
const state = handle.state
|
|
116
|
+
if (state._tag === "Closed") return Effect.void
|
|
117
|
+
handle.state = { _tag: "Closed" }
|
|
118
|
+
return state.fiber ?
|
|
119
|
+
Effect.intoDeferred(
|
|
120
|
+
Effect.asVoid(Fiber.interruptAs(state.fiber, FiberId.combine(parent.id(), internalFiberId))),
|
|
121
|
+
handle.deferred
|
|
122
|
+
) :
|
|
123
|
+
Deferred.done(handle.deferred, Exit.void)
|
|
124
|
+
})
|
|
121
125
|
)
|
|
122
126
|
|
|
123
127
|
/**
|
package/src/FiberMap.ts
CHANGED
|
@@ -125,13 +125,17 @@ export const make = <K, A = unknown, E = unknown>(): Effect.Effect<FiberMap<K, A
|
|
|
125
125
|
deferred
|
|
126
126
|
)),
|
|
127
127
|
(map) =>
|
|
128
|
-
Effect.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
128
|
+
Effect.withFiberRuntime((parent) => {
|
|
129
|
+
const state = map.state
|
|
130
|
+
if (state._tag === "Closed") return Effect.void
|
|
131
|
+
map.state = { _tag: "Closed" }
|
|
132
|
+
return Fiber.interruptAllAs(
|
|
133
|
+
Iterable.map(state.backing, ([, fiber]) => fiber),
|
|
134
|
+
FiberId.combine(parent.id(), internalFiberId)
|
|
135
|
+
).pipe(
|
|
136
|
+
Effect.intoDeferred(map.deferred)
|
|
137
|
+
)
|
|
138
|
+
})
|
|
135
139
|
)
|
|
136
140
|
|
|
137
141
|
/**
|
package/src/FiberSet.ts
CHANGED
|
@@ -118,13 +118,15 @@ export const make = <A = unknown, E = unknown>(): Effect.Effect<FiberSet<A, E>,
|
|
|
118
118
|
Effect.acquireRelease(
|
|
119
119
|
Effect.map(Deferred.make<void, unknown>(), (deferred) => unsafeMake(new Set(), deferred)),
|
|
120
120
|
(set) =>
|
|
121
|
-
Effect.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
121
|
+
Effect.withFiberRuntime((parent) => {
|
|
122
|
+
const state = set.state
|
|
123
|
+
if (state._tag === "Closed") return Effect.void
|
|
124
|
+
set.state = { _tag: "Closed" }
|
|
125
|
+
const fibers = state.backing
|
|
126
|
+
return Fiber.interruptAllAs(fibers, FiberId.combine(parent.id(), internalFiberId)).pipe(
|
|
127
|
+
Effect.intoDeferred(set.deferred)
|
|
128
|
+
)
|
|
129
|
+
})
|
|
128
130
|
)
|
|
129
131
|
|
|
130
132
|
/**
|
package/src/JSONSchema.ts
CHANGED
|
@@ -635,13 +635,19 @@ const go = (
|
|
|
635
635
|
if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
|
|
636
636
|
return { ...constEmpty, ...getJsonSchemaAnnotations(ast) }
|
|
637
637
|
}
|
|
638
|
+
const output: JsonSchema7Object = {
|
|
639
|
+
type: "object",
|
|
640
|
+
required: [],
|
|
641
|
+
properties: {},
|
|
642
|
+
additionalProperties: false
|
|
643
|
+
}
|
|
638
644
|
let patternProperties: JsonSchema7 | undefined = undefined
|
|
639
645
|
let propertyNames: JsonSchema7 | undefined = undefined
|
|
640
646
|
for (const is of ast.indexSignatures) {
|
|
641
647
|
const parameter = is.parameter
|
|
642
648
|
switch (parameter._tag) {
|
|
643
649
|
case "StringKeyword": {
|
|
644
|
-
|
|
650
|
+
output.additionalProperties = go(is.type, $defs, true, path, options)
|
|
645
651
|
break
|
|
646
652
|
}
|
|
647
653
|
case "TemplateLiteral": {
|
|
@@ -661,12 +667,6 @@ const go = (
|
|
|
661
667
|
throw new Error(errors_.getJSONSchemaUnsupportedParameterErrorMessage(path, parameter))
|
|
662
668
|
}
|
|
663
669
|
}
|
|
664
|
-
const output: JsonSchema7Object = {
|
|
665
|
-
type: "object",
|
|
666
|
-
required: [],
|
|
667
|
-
properties: {},
|
|
668
|
-
additionalProperties: false
|
|
669
|
-
}
|
|
670
670
|
// ---------------------------------------------
|
|
671
671
|
// handle property signatures
|
|
672
672
|
// ---------------------------------------------
|
package/src/Option.ts
CHANGED
|
@@ -2867,21 +2867,9 @@ export const partitionMap: {
|
|
|
2867
2867
|
return either.isLeft(e) ? [some(e.left), none()] : [none(), some(e.right)]
|
|
2868
2868
|
})
|
|
2869
2869
|
|
|
2870
|
+
// TODO(4.0): remove?
|
|
2870
2871
|
/**
|
|
2871
|
-
*
|
|
2872
|
-
* effectively filtering and transforming the value.
|
|
2873
|
-
*
|
|
2874
|
-
* **Details**
|
|
2875
|
-
*
|
|
2876
|
-
* This function allows you to both transform the value of a `Some` and filter
|
|
2877
|
-
* it at the same time. The mapping function `f` can either return a new
|
|
2878
|
-
* `Option` (to transform the value) or return `None` to filter it out. If the
|
|
2879
|
-
* input `Option` is `None`, the function is not applied, and the result remains
|
|
2880
|
-
* `None`.
|
|
2881
|
-
*
|
|
2882
|
-
* This utility is particularly useful when you want to apply a transformation
|
|
2883
|
-
* to the value of an `Option` while conditionally removing invalid or unwanted
|
|
2884
|
-
* results.
|
|
2872
|
+
* Alias of {@link flatMap}.
|
|
2885
2873
|
*
|
|
2886
2874
|
* @example
|
|
2887
2875
|
* ```ts
|
|
@@ -2905,21 +2893,9 @@ export const partitionMap: {
|
|
|
2905
2893
|
* @since 2.0.0
|
|
2906
2894
|
*/
|
|
2907
2895
|
export const filterMap: {
|
|
2896
|
+
// TODO(4.0): remove?
|
|
2908
2897
|
/**
|
|
2909
|
-
*
|
|
2910
|
-
* effectively filtering and transforming the value.
|
|
2911
|
-
*
|
|
2912
|
-
* **Details**
|
|
2913
|
-
*
|
|
2914
|
-
* This function allows you to both transform the value of a `Some` and filter
|
|
2915
|
-
* it at the same time. The mapping function `f` can either return a new
|
|
2916
|
-
* `Option` (to transform the value) or return `None` to filter it out. If the
|
|
2917
|
-
* input `Option` is `None`, the function is not applied, and the result remains
|
|
2918
|
-
* `None`.
|
|
2919
|
-
*
|
|
2920
|
-
* This utility is particularly useful when you want to apply a transformation
|
|
2921
|
-
* to the value of an `Option` while conditionally removing invalid or unwanted
|
|
2922
|
-
* results.
|
|
2898
|
+
* Alias of {@link flatMap}.
|
|
2923
2899
|
*
|
|
2924
2900
|
* @example
|
|
2925
2901
|
* ```ts
|
|
@@ -2943,21 +2919,9 @@ export const filterMap: {
|
|
|
2943
2919
|
* @since 2.0.0
|
|
2944
2920
|
*/
|
|
2945
2921
|
<A, B>(f: (a: A) => Option<B>): (self: Option<A>) => Option<B>
|
|
2922
|
+
// TODO(4.0): remove?
|
|
2946
2923
|
/**
|
|
2947
|
-
*
|
|
2948
|
-
* effectively filtering and transforming the value.
|
|
2949
|
-
*
|
|
2950
|
-
* **Details**
|
|
2951
|
-
*
|
|
2952
|
-
* This function allows you to both transform the value of a `Some` and filter
|
|
2953
|
-
* it at the same time. The mapping function `f` can either return a new
|
|
2954
|
-
* `Option` (to transform the value) or return `None` to filter it out. If the
|
|
2955
|
-
* input `Option` is `None`, the function is not applied, and the result remains
|
|
2956
|
-
* `None`.
|
|
2957
|
-
*
|
|
2958
|
-
* This utility is particularly useful when you want to apply a transformation
|
|
2959
|
-
* to the value of an `Option` while conditionally removing invalid or unwanted
|
|
2960
|
-
* results.
|
|
2924
|
+
* Alias of {@link flatMap}.
|
|
2961
2925
|
*
|
|
2962
2926
|
* @example
|
|
2963
2927
|
* ```ts
|
|
@@ -2981,10 +2945,7 @@ export const filterMap: {
|
|
|
2981
2945
|
* @since 2.0.0
|
|
2982
2946
|
*/
|
|
2983
2947
|
<A, B>(self: Option<A>, f: (a: A) => Option<B>): Option<B>
|
|
2984
|
-
} =
|
|
2985
|
-
2,
|
|
2986
|
-
<A, B>(self: Option<A>, f: (a: A) => Option<B>): Option<B> => isNone(self) ? none() : f(self.value)
|
|
2987
|
-
)
|
|
2948
|
+
} = flatMap
|
|
2988
2949
|
|
|
2989
2950
|
/**
|
|
2990
2951
|
* Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
|
package/src/ParseResult.ts
CHANGED
|
@@ -1891,9 +1891,7 @@ const getMessage = (issue: ParseIssue): Effect.Effect<string | undefined> =>
|
|
|
1891
1891
|
const getParseIssueTitleAnnotation = (issue: ParseIssue): string | undefined =>
|
|
1892
1892
|
getAnnotated(issue).pipe(
|
|
1893
1893
|
Option.flatMap(AST.getParseIssueTitleAnnotation),
|
|
1894
|
-
Option.
|
|
1895
|
-
(annotation) => Option.fromNullable(annotation(issue))
|
|
1896
|
-
),
|
|
1894
|
+
Option.flatMapNullable((annotation) => annotation(issue)),
|
|
1897
1895
|
Option.getOrUndefined
|
|
1898
1896
|
)
|
|
1899
1897
|
|