{"version":3,"file":"fresh.cjs","names":["frameworkName: SupportedFrameworkName","InngestCommHandler"],"sources":["../../src/deno/fresh.ts"],"sourcesContent":["/**\n * An adapter for Deno's Fresh to serve and register any declared functions with\n * Inngest, making them available to be triggered by events.\n *\n * @example\n * ```ts\n * import { serve } from \"https://esm.sh/inngest/deno/fresh\";\n * import { inngest } from \"./src/inngest/client.ts\";\n * import fnA from \"./src/inngest/fnA\"; // Your own function\n *\n * export const handler = serve({\n *   client: inngest,\n *   functions: [fnA],\n * });\n * ```\n *\n * @module\n */\n\nimport {\n  InngestCommHandler,\n  type ServeHandlerOptions,\n} from \"../components/InngestCommHandler.ts\";\nimport type { SupportedFrameworkName } from \"../types.ts\";\n\n/**\n * The name of the framework, used to identify the framework in Inngest\n * dashboards and during testing.\n */\nexport const frameworkName: SupportedFrameworkName = \"deno/fresh\";\n\n/**\n * With Deno's Fresh framework, serve and register any declared functions with\n * Inngest, making them available to be triggered by events.\n *\n * @example\n * ```ts\n * import { serve } from \"https://esm.sh/inngest/deno/fresh\";\n * import { inngest } from \"./src/inngest/client.ts\";\n * import fnA from \"./src/inngest/fnA\"; // Your own function\n *\n * export const handler = serve({\n *   client: inngest,\n *   functions: [fnA],\n * });\n * ```\n *\n * @public\n */\n// Has explicit return type to avoid JSR-defined \"slow types\"\nexport const serve = (\n  options: ServeHandlerOptions,\n): ((req: Request) => Promise<Response>) => {\n  const handler = new InngestCommHandler({\n    frameworkName,\n    ...options,\n    handler: (req: Request, env: Record<string, string>) => {\n      return {\n        body: () => req.text(),\n        headers: (key) => req.headers.get(key),\n        method: () => req.method,\n        env: () => env,\n        url: () => new URL(req.url, `https://${req.headers.get(\"host\") || \"\"}`),\n        transformResponse: ({ body, status, headers }) => {\n          return new Response(body, { status, headers });\n        },\n      };\n    },\n  });\n\n  const fn = handler.createHandler();\n\n  return function handleRequest(req: Request, ...other) {\n    return fn(req, Deno.env.toObject(), ...other);\n  };\n};\n\ndeclare const Deno: { env: { toObject: () => { [index: string]: string } } };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAaA,gBAAwC;;;;;;;;;;;;;;;;;;;AAqBrD,MAAa,SACX,YAC0C;CAkB1C,MAAM,KAjBU,IAAIC,8CAAmB;EACrC;EACA,GAAG;EACH,UAAU,KAAc,QAAgC;AACtD,UAAO;IACL,YAAY,IAAI,MAAM;IACtB,UAAU,QAAQ,IAAI,QAAQ,IAAI,IAAI;IACtC,cAAc,IAAI;IAClB,WAAW;IACX,WAAW,IAAI,IAAI,IAAI,KAAK,WAAW,IAAI,QAAQ,IAAI,OAAO,IAAI,KAAK;IACvE,oBAAoB,EAAE,MAAM,QAAQ,cAAc;AAChD,YAAO,IAAI,SAAS,MAAM;MAAE;MAAQ;MAAS,CAAC;;IAEjD;;EAEJ,CAAC,CAEiB,eAAe;AAElC,QAAO,SAAS,cAAc,KAAc,GAAG,OAAO;AACpD,SAAO,GAAG,KAAK,KAAK,IAAI,UAAU,EAAE,GAAG,MAAM"}