0.2.1 + 2.0.0-beta.0 #6
@@ -1,15 +1,4 @@
|
|||||||
import {
|
import { Array, type Cause, Chunk, Effect, Function, Iterable, Option, Pipeable, Predicate, Stream } from "effect"
|
||||||
Array,
|
|
||||||
type Cause,
|
|
||||||
Chunk,
|
|
||||||
Effect,
|
|
||||||
Function,
|
|
||||||
Iterable,
|
|
||||||
Option,
|
|
||||||
Pipeable,
|
|
||||||
Predicate,
|
|
||||||
Stream,
|
|
||||||
} from "effect"
|
|
||||||
|
|
||||||
|
|
||||||
export const SubscribableTypeId: unique symbol = Symbol.for("@effect-fc/Lens/v4/Subscribable")
|
export const SubscribableTypeId: unique symbol = Symbol.for("@effect-fc/Lens/v4/Subscribable")
|
||||||
@@ -75,8 +64,8 @@ export const map: {
|
|||||||
<A, B>(f: (a: NoInfer<A>) => B): <E, R>(self: Subscribable<A, E, R>) => Subscribable<B, E, R>
|
<A, B>(f: (a: NoInfer<A>) => B): <E, R>(self: Subscribable<A, E, R>) => Subscribable<B, E, R>
|
||||||
<A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B): Subscribable<B, E, R>
|
<A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B): Subscribable<B, E, R>
|
||||||
} = Function.dual(2, <A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B) => make({
|
} = Function.dual(2, <A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B) => make({
|
||||||
get: Effect.map(self.get, f),
|
get get() { return Effect.map(self.get, f) },
|
||||||
changes: Stream.map(self.changes, f),
|
get changes() { return Stream.map(self.changes, f) },
|
||||||
}))
|
}))
|
||||||
|
|
||||||
export const mapEffect: {
|
export const mapEffect: {
|
||||||
@@ -86,8 +75,8 @@ export const mapEffect: {
|
|||||||
self: Subscribable<A, E, R>,
|
self: Subscribable<A, E, R>,
|
||||||
f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>,
|
f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>,
|
||||||
) => make({
|
) => make({
|
||||||
get: Effect.flatMap(self.get, f),
|
get get() { return Effect.flatMap(self.get, f) },
|
||||||
changes: Stream.mapEffect(self.changes, f),
|
get changes() { return Stream.mapEffect(self.changes, f) },
|
||||||
}))
|
}))
|
||||||
|
|
||||||
/** Maps over an `Option` value in the `Subscribable`. */
|
/** Maps over an `Option` value in the `Subscribable`. */
|
||||||
@@ -110,6 +99,7 @@ export const mapOptionEffect: {
|
|||||||
onNone: () => Effect.succeed(Option.none()),
|
onNone: () => Effect.succeed(Option.none()),
|
||||||
})))
|
})))
|
||||||
|
|
||||||
|
|
||||||
/** Narrows the focus to a field of an object. */
|
/** Narrows the focus to a field of an object. */
|
||||||
export const focusObjectOn: {
|
export const focusObjectOn: {
|
||||||
<A extends object, K extends keyof A>(key: K): <E, R>(self: Subscribable<A, E, R>) => Subscribable<A[K], E, R>
|
<A extends object, K extends keyof A>(key: K): <E, R>(self: Subscribable<A, E, R>) => Subscribable<A[K], E, R>
|
||||||
|
|||||||
Reference in New Issue
Block a user