From be88035936c2384eaf4a6755156f71613bdad5c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sat, 19 Apr 2025 03:42:48 +0200 Subject: [PATCH] SubscriptionSubRef --- packages/reffuse/src/SubscriptionSubRef.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 packages/reffuse/src/SubscriptionSubRef.ts diff --git a/packages/reffuse/src/SubscriptionSubRef.ts b/packages/reffuse/src/SubscriptionSubRef.ts new file mode 100644 index 0000000..7c671fa --- /dev/null +++ b/packages/reffuse/src/SubscriptionSubRef.ts @@ -0,0 +1,18 @@ +import type { Stream, SubscriptionRef, SynchronizedRef, Unify } from "effect" + + +export interface SubscriptionSubRef extends SynchronizedRef.SynchronizedRef { + readonly parent: Ref.Ref + /** @internal */ + readonly pubsub: PubSub.PubSub + /** @internal */ + readonly semaphore: Effect.Semaphore + /** + * A stream containing the current value of the `Ref` as well as all changes + * to that value. + */ + readonly changes: Stream.Stream + readonly [Unify.typeSymbol]?: unknown + readonly [Unify.unifySymbol]?: SubscriptionRefUnify + readonly [Unify.ignoreSymbol]?: SubscriptionRefUnifyIgnore +}