@sanity/form-toolkit

3.0.193.0.20
dist/create-handler-2pX-bzeN.js.map
−dist/create-handler-2pX-bzeN.js.mapDeleted
−1
Index: package/dist/create-handler-2pX-bzeN.js.map
===================================================================
--- package/dist/create-handler-2pX-bzeN.js.map
+++ package/dist/create-handler-2pX-bzeN.js.map
@@ -1,1 +0,0 @@
-{"version":3,"file":"create-handler-2pX-bzeN.js","names":["\"NEXT_RUNTIME\"","\"NUXT_ENV\"","\"SVELTEKIT_ENV\"","\"REMIX_ENV\"","\"ASTRO_ENV\""],"sources":["../src/shared/create-handler.ts"],"sourcesContent":["import type {IncomingMessage, ServerResponse} from 'node:http'\n\nimport {defineEventHandler, type H3Event} from 'h3' // For Nuxt.js/Nitro\n\n// Utility function to detect the framework at runtime\nconst detectFramework = (): string => {\n  if (process.env['NEXT_RUNTIME']) {\n    return 'nextjs'\n  } else if (process.env['NUXT_ENV']) {\n    return 'nuxt'\n  } else if (process.env['SVELTEKIT_ENV']) {\n    return 'sveltekit'\n  } else if (process.env['REMIX_ENV']) {\n    return 'remix'\n  } else if (process.env['ASTRO_ENV']) {\n    return 'astro'\n  }\n  // Default to the Next.js-compatible handler. The framework env vars above\n  // aren't always set (e.g. Next.js API routes where NEXT_RUNTIME is absent),\n  // and throwing here would break the most common setup.\n  return 'nextjs'\n}\n\n// Create a generic handler with predefined logic\nconst createHandler = (handlerFunc: () => Promise<unknown>) => {\n  const framework = detectFramework()\n\n  // Handler logic to fetch Mailchimp data\n  const handlerLogic = async ({\n    res,\n  }: {\n    req: IncomingMessage | Request\n    res?: ServerResponse\n  }): Promise<unknown> => {\n    try {\n      const data = await handlerFunc()\n\n      if (res) {\n        // Send response directly for frameworks like Next.js and Nuxt.js\n        res.writeHead(200, {'Content-Type': 'application/json'})\n        res.end(JSON.stringify(data))\n      }\n\n      // Return the response for frameworks like SvelteKit, Remix, and Astro\n      return data\n    } catch (error) {\n      if (error instanceof Error) {\n        if (res) {\n          res.writeHead(500, {'Content-Type': 'application/json'})\n          res.end(JSON.stringify({error: error.message}))\n        }\n        return {error: error.message}\n      }\n      // Handle non-Error types (e.g., strings, objects)\n      if (res) {\n        res.writeHead(500, {'Content-Type': 'application/json'})\n        res.end(JSON.stringify({error: 'An unexpected error occurred'}))\n      }\n      return {error: 'An unexpected error occurred'}\n    }\n  }\n\n  // Framework-specific implementations\n  if (framework === 'nextjs') {\n    return async (req: IncomingMessage, res: ServerResponse) => {\n      // Set CORS headers\n      res.setHeader('Access-Control-Allow-Origin', '*') // Allow all origins\n      res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS') // Allowed HTTP methods\n      res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization') // Allowed headers\n\n      // Short-circuit CORS preflight requests so we don't hit the upstream API\n      if (req.method === 'OPTIONS') {\n        res.writeHead(204)\n        res.end()\n        return\n      }\n\n      await handlerLogic({req, res})\n    }\n  } else if (framework === 'nuxt') {\n    return defineEventHandler(async (event: H3Event) => {\n      const req = event.node.req\n      const res = event.node.res\n      return handlerLogic({req, res})\n    })\n  } else if (framework === 'sveltekit') {\n    return {\n      GET: async ({request}: {request: Request}) => {\n        const result = await handlerLogic({req: request})\n        return new Response(JSON.stringify(result), {\n          headers: {'Content-Type': 'application/json'},\n        })\n      },\n    }\n  } else if (framework === 'remix') {\n    return {\n      loader: async ({request}: {request: Request}) => {\n        const result = await handlerLogic({req: request})\n        return new Response(JSON.stringify(result), {\n          headers: {'Content-Type': 'application/json'},\n        })\n      },\n    }\n  } else if (framework === 'astro') {\n    return {\n      get: async ({request}: {request: Request}) => {\n        const result = await handlerLogic({req: request})\n        return {\n          body: JSON.stringify(result),\n          headers: {'Content-Type': 'application/json'},\n        }\n      },\n    }\n  }\n  throw new Error(`Unsupported framework: ${framework}`)\n}\n\nexport default createHandler\n"],"mappings":";AAKA,MAAM,wBACA,QAAQ,IAAIA,eACP,WACE,QAAQ,IAAIC,WACd,SACE,QAAQ,IAAIC,gBACd,cACE,QAAQ,IAAIC,YACd,UACE,QAAQ,IAAIC,YACd,UAKF,UAIH,iBAAiB,gBAAwC;CAC7D,IAAM,YAAY,gBAAgB,GAG5B,eAAe,OAAO,EAC1B,UAIsB;EACtB,IAAI;GACF,IAAM,OAAO,MAAM,YAAY;GAS/B,OAPI,QAEF,IAAI,UAAU,KAAK,EAAC,gBAAgB,mBAAkB,CAAC,GACvD,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,IAIvB;EACT,SAAS,OAAO;GAad,OAZI,iBAAiB,SACf,QACF,IAAI,UAAU,KAAK,EAAC,gBAAgB,mBAAkB,CAAC,GACvD,IAAI,IAAI,KAAK,UAAU,EAAC,OAAO,MAAM,QAAO,CAAC,CAAC,IAEzC,EAAC,OAAO,MAAM,QAAO,MAG1B,QACF,IAAI,UAAU,KAAK,EAAC,gBAAgB,mBAAkB,CAAC,GACvD,IAAI,IAAI,KAAK,UAAU,EAAC,OAAO,+BAA8B,CAAC,CAAC,IAE1D,EAAC,OAAO,+BAA8B;EAC/C;CACF;CAGA,IAAI,cAAc,UAChB,OAAO,OAAO,KAAsB,QAAwB;EAO1D,IALA,IAAI,UAAU,+BAA+B,GAAG,GAChD,IAAI,UAAU,gCAAgC,iCAAiC,GAC/E,IAAI,UAAU,gCAAgC,6BAA6B,GAGvE,IAAI,WAAW,WAAW;GAE5B,AADA,IAAI,UAAU,GAAG,GACjB,IAAI,IAAI;GACR;EACF;EAEA,MAAM,aAAa;GAAC;GAAK;EAAG,CAAC;CAC/B;CACK,IAAI,cAAc,QACvB,OAAO,mBAAmB,OAAO,UAAmB;EAClD,IAAM,MAAM,MAAM,KAAK,KACjB,MAAM,MAAM,KAAK;EACvB,OAAO,aAAa;GAAC;GAAK;EAAG,CAAC;CAChC,CAAC;CACI,IAAI,cAAc,aACvB,OAAO,EACL,KAAK,OAAO,EAAC,cAAiC;EAC5C,IAAM,SAAS,MAAM,aAAa,EAAC,KAAK,QAAO,CAAC;EAChD,OAAO,IAAI,SAAS,KAAK,UAAU,MAAM,GAAG,EAC1C,SAAS,EAAC,gBAAgB,mBAAkB,EAC9C,CAAC;CACH,EACF;CACK,IAAI,cAAc,SACvB,OAAO,EACL,QAAQ,OAAO,EAAC,cAAiC;EAC/C,IAAM,SAAS,MAAM,aAAa,EAAC,KAAK,QAAO,CAAC;EAChD,OAAO,IAAI,SAAS,KAAK,UAAU,MAAM,GAAG,EAC1C,SAAS,EAAC,gBAAgB,mBAAkB,EAC9C,CAAC;CACH,EACF;CACK,IAAI,cAAc,SACvB,OAAO,EACL,KAAK,OAAO,EAAC,cAAiC;EAC5C,IAAM,SAAS,MAAM,aAAa,EAAC,KAAK,QAAO,CAAC;EAChD,OAAO;GACL,MAAM,KAAK,UAAU,MAAM;GAC3B,SAAS,EAAC,gBAAgB,mBAAkB;EAC9C;CACF,EACF;CAEF,MAAU,MAAM,0BAA0B,WAAW;AACvD"}
\ No newline at end of file