diff --git a/packages/reffuse/src/index.ts b/packages/reffuse/src/index.ts index 9a6c16c..f73c43c 100644 --- a/packages/reffuse/src/index.ts +++ b/packages/reffuse/src/index.ts @@ -1,2 +1,3 @@ export * as Reffuse from "./Reffuse.js" -export * as ReffuseReactContext from "./ReffuseReactContext.js" +export * as ReffuseContext from "./ReffuseContext.js" +export * as ReffuseRuntime from "./ReffuseRuntime.js" diff --git a/packages/reffuse/src/tests.ts b/packages/reffuse/src/tests.ts deleted file mode 100644 index b7eb6b0..0000000 --- a/packages/reffuse/src/tests.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Context, Effect, FiberRefs, Layer, Ref, Runtime, RuntimeFlags } from "effect" - - -const runtime = Runtime.make({ - context: Context.empty(), - runtimeFlags: RuntimeFlags.make(), - fiberRefs: FiberRefs.empty(), -}) - -const createRunSync = (runtime: Runtime.Runtime, layer: Layer.Layer) => { - const context = Effect.context().pipe( - Effect.provide(layer), - Runtime.runSync(runtime), - ) - - return (effect: Effect.Effect) => - Runtime.runSync(runtime)(effect.pipe(Effect.provide(context))) -} - - -class MyService extends Effect.Service()("MyServer", { - effect: Effect.gen(function*() { - return { - ref: yield* Ref.make("initial value") - } as const - }) -}) {} - -const MyLayer = Layer.empty.pipe( - Layer.provideMerge(MyService.Default) -) - - -const runSync = createRunSync(runtime, MyLayer) - -const setMyServiceValue = (value: string) => Effect.gen(function*() { - console.log("previous value: ", yield* (yield* MyService).ref) - yield* Ref.set((yield* MyService).ref, value) - console.log("new value: ", yield* (yield* MyService).ref) -}) - -runSync(setMyServiceValue("1")) -runSync(setMyServiceValue("2"))