resource.cloudflare.ts 514 B

123456789101112131415161718
  1. import { env } from "cloudflare:workers"
  2. export const Resource = new Proxy(
  3. {},
  4. {
  5. get(_target, prop: string) {
  6. if (prop in env) {
  7. // @ts-expect-error
  8. const value = env[prop]
  9. return typeof value === "string" ? JSON.parse(value) : value
  10. } else if (prop === "App") {
  11. // @ts-expect-error
  12. return JSON.parse(env.SST_RESOURCE_App)
  13. }
  14. throw new Error(`"${prop}" is not linked in your sst.config.ts (cloudflare)`)
  15. },
  16. },
  17. ) as Record<string, any>