interface UserService {
getUser(id: string): Effect.Effect<never, Error, User>
}
const UserStore = Context.Tag(UserService)
const DDBUserStore = Layer.effect(
Effect.gen(function* (_) {
const config = yield* _(UserStoreConfig)
const ddbClient = yield* _(DynamoDBClient)
return UserStore.of({
getUser: () => {
...
}
})
})
)
interface UserService {
getUser(id: string): Effect.Effect<never, Error, User>
}
const UserStore = Context.Tag(UserService)
const DDBUserStore = Layer.effect(
Effect.gen(function* (_) {
const config = yield* _(UserStoreConfig)
const ddbClient = yield* _(DynamoDBClient)
return UserStore.of({
getUser: () => {
...
}
})
})
)