Files
scriptc/tests/fixtures/effect4/service-make.ts
Chris Tate e2d58f60d2 Expand static support for common Effect 4 patterns (#600)
* Expand static compilation for common Effect 4 patterns

* Run every Effect 4 fixture slice in CI

* Preserve existing corpus behavior across Effect 4 lowering

* Preserve Effect platform callbacks and native stream state

* Record new corpus baselines and retain child stdin refusals

* Retire the obsolete stateful regex diagnostic

* Preserve promise reference count layout for cycle collection
2026-10-01 17:36:29 -05:00

5 lines
427 B
TypeScript

import * as Effect from "effect/Effect"
import * as Context from "effect/Context"
import * as Layer from "effect/Layer"
class Counter extends Context.Service<Counter>()("Counter", {make:Effect.succeed({count:42})}) { static layer=Layer.effect(this,this.make) } Effect.runPromise((Counter.useSync(c=>c.count).pipe(Effect.provide(Counter.layer))).pipe(Effect.tap(value => Effect.sync(() => console.log(JSON.stringify(value))))))