1import * as Alchemy from "alchemy";
2import * as GCP from "alchemy/GCP";
3import * as Effect from "effect/Effect";
4import Api from "./src/Api.ts";
5import { Jobs, Results } from "./src/resources.ts";
6import Worker from "./src/Worker.ts";
7
8export default Alchemy.Stack(
9 "GcpPubSubWorkerExample",
10 { providers: GCP.providers(), state: Alchemy.localState() },
11 Effect.gen(function* () {
12 const jobs = yield* Jobs;
13 const results = yield* Results;
14 const api = yield* Api;
15 const worker = yield* Worker;
16
17 return {
18 url: api.uri,
19 topicName: jobs.name,
20 databaseName: results.name,
21 workerPoolName: worker.name,
22 };
23 }),
24);