export class SearchService extends Effect.Service<SearchService>()('SearchService', {
dependencies: [Language.Default],
scoped: Effect.gen(function* () {
return {
search: (search: Search) =>
Effect.gen(function* () {
// want to call SearchService.createVectorPipeline() here...
}),
}
})
}) {
protected createVectorPipeline = (search: Search) => Effect.gen(function* () {
// Uses a dependency of the service
const language = yield* Language;
const pipeline = [];
return pipeline;
});
}
export class SearchService extends Effect.Service<SearchService>()('SearchService', {
dependencies: [Language.Default],
scoped: Effect.gen(function* () {
return {
search: (search: Search) =>
Effect.gen(function* () {
// want to call SearchService.createVectorPipeline() here...
}),
}
})
}) {
protected createVectorPipeline = (search: Search) => Effect.gen(function* () {
// Uses a dependency of the service
const language = yield* Language;
const pipeline = [];
return pipeline;
});
}