1import * as Alchemy from "alchemy";
2import * as Cloudflare from "alchemy/Cloudflare";
3import * as Stripe from "alchemy/Stripe";
4import * as Effect from "effect/Effect";
5import * as Layer from "effect/Layer";
6import Api from "./src/Api.ts";
7import { Database } from "./src/database.ts";
8
9export default Alchemy.Stack(
10 "StripeConnectExample",
11 {
12 providers: Layer.mergeAll(Cloudflare.providers(), Stripe.providers()),
13 state: Alchemy.localState(),
14 },
15 Effect.gen(function* () {
16 const db = yield* Database;
17 const api = yield* Api;
18
19 return {
20 url: api.url.as<string>(),
21 databaseName: db.databaseName,
22 };
23 }),
24);