@reffuse/extension-query 0.1.4 #15
20
packages/extension-query/src/QueryClient.ts
Normal file
20
packages/extension-query/src/QueryClient.ts
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import { Context, Effect, Layer } from "effect"
|
||||||
|
|
||||||
|
|
||||||
|
interface MyService<T> {
|
||||||
|
readonly value: T
|
||||||
|
}
|
||||||
|
|
||||||
|
const MyServiceAnyTag = Context.GenericTag<MyService<any>>("MyService")
|
||||||
|
const MyServiceStringTag = Context.GenericTag<MyService<string>>("MyService")
|
||||||
|
|
||||||
|
declare const MyServiceAnyLayer: Layer.Layer<Context.Tag.Service<typeof MyServiceAnyTag>>
|
||||||
|
declare const MyServiceStringLayer: Layer.Layer<Context.Tag.Service<typeof MyServiceStringTag>>
|
||||||
|
|
||||||
|
|
||||||
|
const prg = Effect.gen(function*() {
|
||||||
|
yield* MyServiceAnyTag
|
||||||
|
yield* MyServiceStringTag
|
||||||
|
}).pipe(
|
||||||
|
Effect.provide(MyServiceStringLayer)
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user