0.2.1 + 2.0.0-beta.0 #6

Merged
Thilawyn merged 20 commits from next into master 2026-06-22 01:35:08 +02:00
2 changed files with 11 additions and 8 deletions
Showing only changes of commit 7100a3c45b - Show all commits
+6 -4
View File
@@ -219,11 +219,13 @@ extends LensImpl<A, never, never, never, never> {
* Note: since `Ref` does not provide any kind of reactivity mechanism, the produced `Lens` will be non-reactive.
* This means its `changes` stream will only emit the current value once when evaluated and nothing else.
*/
export const fromRef = Effect.fnUntraced(function* <A>(
export const fromRef = <A>(
ref: Ref.Ref<A>
): Effect.fn.Return<Lens<A, never, never, never, never>, never, never> {
return new RefLensImpl(ref, yield* Semaphore.make(1))
})
): Effect.Effect<Lens<A, never, never, never, never>, never, never> => Effect.map(
Semaphore.make(1),
semaphore => new RefLensImpl(ref, semaphore),
)
export class SynchronizedRefLensImpl<in out A>
extends LensImpl<A, never, never, never, never> {
+5 -4
View File
@@ -182,11 +182,12 @@ extends LensImpl<A, never, never, never, never> {
* Note: since `Ref` does not provide any kind of reactivity mechanism, the produced `Lens` will be non-reactive.
* This means its `changes` stream will only emit the current value once when evaluated and nothing else.
*/
export const fromRef = Effect.fnUntraced(function* <A>(
export const fromRef = <A>(
ref: Ref.Ref<A>
): Effect.fn.Return<Lens<A, never, never, never, never>, never, never> {
return new RefLensImpl(ref, yield* Effect.makeSemaphore(1))
})
): Effect.Effect<Lens<A, never, never, never, never>, never, never> => Effect.map(
Effect.makeSemaphore(1),
semaphore => new RefLensImpl(ref, semaphore),
)
export declare namespace SynchronizedRefLensImpl {