18
packages/example/src/services/FetchData.ts
Normal file
18
packages/example/src/services/FetchData.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { Post } from "@/domain"
|
||||
import { Context, Effect, Layer } from "effect"
|
||||
|
||||
|
||||
export class FetchData extends Context.Tag("FetchData")<FetchData, {
|
||||
readonly fetchPosts: Effect.Effect<Post.Post[]>
|
||||
}>() {}
|
||||
|
||||
|
||||
export const mockLayer = Layer.succeed(FetchData, {
|
||||
fetchPosts: Effect.succeed([
|
||||
Post.Post.make({
|
||||
id: "1",
|
||||
title: "Lorem ipsum",
|
||||
content: "Lorem ipsum",
|
||||
})
|
||||
])
|
||||
})
|
||||
7
packages/example/src/services/PostState.ts
Normal file
7
packages/example/src/services/PostState.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { Post } from "@/domain"
|
||||
import { Context, SubscriptionRef } from "effect"
|
||||
|
||||
|
||||
export class PostState extends Context.Tag("PostState")<PostState, {
|
||||
post: SubscriptionRef.SubscriptionRef<Post.Post>
|
||||
}>() {}
|
||||
2
packages/example/src/services/index.ts
Normal file
2
packages/example/src/services/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export * as FetchData from "./FetchData"
|
||||
export * as PostState from "./PostState"
|
||||
Reference in New Issue
Block a user