resource.cloudflare.ts 561 B

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