From 04e78e1ea389f90650a21dff7761dde44d2218f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Wed, 7 May 2025 04:53:40 +0200 Subject: [PATCH] Tests --- packages/reffuse/src/tests.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 packages/reffuse/src/tests.ts diff --git a/packages/reffuse/src/tests.ts b/packages/reffuse/src/tests.ts new file mode 100644 index 0000000..c5c9791 --- /dev/null +++ b/packages/reffuse/src/tests.ts @@ -0,0 +1,23 @@ +import { Console, Effect, Fiber, Ref, Stream, SubscriptionRef } from "effect" + + +await Effect.gen(function*() { + const ref = yield* SubscriptionRef.make("juif") + const stream = ref.changes + + const f1 = yield* Stream.runForEach(stream, v => Console.log(`observer 1: ${ v }`)).pipe( + Effect.fork, + ) + const f2 = yield* Effect.sleep("200 millis").pipe( + Effect.andThen(Stream.runForEach(stream, v => Console.log(`observer 2: ${ v }`))), + Effect.fork, + ) + const f3 = yield* Effect.sleep("100 millis").pipe( + Effect.andThen(Ref.set(ref, "adolf")), + Effect.fork, + ) + + yield* Fiber.joinAll([f1, f2, f3]) +}).pipe( + Effect.runPromise +)