0.2.0 #5

Merged
Thilawyn merged 59 commits from next into master 2026-05-30 06:10:54 +02:00
Showing only changes of commit 75e67dc6a6 - Show all commits
+13 -13
View File
@@ -193,17 +193,18 @@ extends LensImpl<A, never, never, never, never> {
get resolve(): Effect.Effect<LensImpl.Frame<A>, never, never> { get resolve(): Effect.Effect<LensImpl.Frame<A>, never, never> {
return Effect.map( return Effect.map(
this.ref.get, Ref.get(this.ref.ref),
value => ({ value => ({
value, value,
commit: next => Effect.flatMap(next, value => this.commit(value)), commit: next => Effect.flatMap(
next,
value => Ref.set(this.ref.ref, value),
),
}), }),
) )
} }
get changes() { return Stream.unwrap(Effect.map(this.ref.get, Stream.make)) } get changes() { return Stream.unwrap(Effect.map(Ref.get(this.ref.ref), Stream.make)) }
get withLock() { return this.ref.withLock } get withLock() { return this.ref.withLock }
commit(a: A) { return Ref.set(this.ref.ref, a) }
} }
/** /**
@@ -239,19 +240,18 @@ extends LensImpl<A, never, never, never, never> {
this.ref.get, this.ref.get,
value => ({ value => ({
value, value,
commit: next => Effect.flatMap(next, value => this.commit(value)), commit: next => Effect.flatMap(
next,
value => Effect.zipLeft(
Ref.set(this.ref.ref, value),
PubSub.publish(this.ref.pubsub, value),
),
),
}), }),
) )
} }
get changes() { return this.ref.changes } get changes() { return this.ref.changes }
get withLock() { return this.ref.semaphore.withPermits(1) } get withLock() { return this.ref.semaphore.withPermits(1) }
commit(a: A) {
return Effect.zipLeft(
Ref.set(this.ref.ref, a),
PubSub.publish(this.ref.pubsub, a),
)
}
} }
/** /**