@sanity/form-toolkit

3.0.63.0.7
dist/create-handler.js.map
dist/create-handler.js.mapDeleted
−1
Index: package/dist/create-handler.js.map
===================================================================
--- package/dist/create-handler.js.map
+++ package/dist/create-handler.js.map
@@ -1,1 +0,0 @@
-{"version":3,"file":"create-handler.js","names":["IncomingMessage","ServerResponse","defineEventHandler","H3Event","detectFramework","process","env","Error","createHandler","handlerFunc","Promise","framework","handlerLogic","res","req","Request","data","writeHead","end","JSON","stringify","error","message","setHeader","event","node","GET","request","result","Response","headers","loader","get","body"],"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  throw new Error('Unable to detect framework.')\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      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,MAAMI,wBAAgC;CACpC,IAAIC,QAAQC,IAAI,cACd,OAAO;CACF,IAAID,QAAQC,IAAI,UACrB,OAAO;CACF,IAAID,QAAQC,IAAI,eACrB,OAAO;CACF,IAAID,QAAQC,IAAI,WACrB,OAAO;CACF,IAAID,QAAQC,IAAI,WACrB,OAAO;CAET,MAAUC,MAAM,6BAA6B;AAC/C,GAGMC,iBAAiBC,gBAAwC;CAC7D,IAAME,YAAYP,gBAAgB,GAG5BQ,eAAe,OAAO,EAC1BC,UAIsB;EACtB,IAAI;GACF,IAAMG,OAAO,MAAMP,YAAY;GAS/B,OAPII,QAEFA,IAAII,UAAU,KAAK,EAAC,gBAAgB,mBAAkB,CAAC,GACvDJ,IAAIK,IAAIC,KAAKC,UAAUJ,IAAI,CAAC,IAIvBA;EACT,SAASK,OAAO;GAad,OAZIA,iBAAiBd,SACfM,QACFA,IAAII,UAAU,KAAK,EAAC,gBAAgB,mBAAkB,CAAC,GACvDJ,IAAIK,IAAIC,KAAKC,UAAU,EAACC,OAAOA,MAAMC,QAAO,CAAC,CAAC,IAEzC,EAACD,OAAOA,MAAMC,QAAO,MAG1BT,QACFA,IAAII,UAAU,KAAK,EAAC,gBAAgB,mBAAkB,CAAC,GACvDJ,IAAIK,IAAIC,KAAKC,UAAU,EAACC,OAAO,+BAA8B,CAAC,CAAC,IAE1D,EAACA,OAAO,+BAA8B;EAC/C;CACF;CAGA,IAAIV,cAAc,UAChB,OAAO,OAAOG,KAAsBD,QAAwB;EAM1D,AAJAA,IAAIU,UAAU,+BAA+B,GAAG,GAChDV,IAAIU,UAAU,gCAAgC,iCAAiC,GAC/EV,IAAIU,UAAU,gCAAgC,6BAA6B,GAE3E,MAAMX,aAAa;GAACE;GAAKD;EAAG,CAAC;CAC/B;CACK,IAAIF,cAAc,QACvB,OAAOT,mBAAmB,OAAOsB,UAAmB;EAClD,IAAMV,MAAMU,MAAMC,KAAKX,KACjBD,MAAMW,MAAMC,KAAKZ;EACvB,OAAOD,aAAa;GAACE;GAAKD;EAAG,CAAC;CAChC,CAAC;CACI,IAAIF,cAAc,aACvB,OAAO,EACLe,KAAK,OAAO,EAACC,cAAiC;EAC5C,IAAMC,SAAS,MAAMhB,aAAa,EAACE,KAAKa,QAAO,CAAC;EAChD,OAAO,IAAIE,SAASV,KAAKC,UAAUQ,MAAM,GAAG,EAC1CE,SAAS,EAAC,gBAAgB,mBAAkB,EAC9C,CAAC;CACH,EACF;CACK,IAAInB,cAAc,SACvB,OAAO,EACLoB,QAAQ,OAAO,EAACJ,cAAiC;EAC/C,IAAMC,SAAS,MAAMhB,aAAa,EAACE,KAAKa,QAAO,CAAC;EAChD,OAAO,IAAIE,SAASV,KAAKC,UAAUQ,MAAM,GAAG,EAC1CE,SAAS,EAAC,gBAAgB,mBAAkB,EAC9C,CAAC;CACH,EACF;CACK,IAAInB,cAAc,SACvB,OAAO,EACLqB,KAAK,OAAO,EAACL,cAAiC;EAC5C,IAAMC,SAAS,MAAMhB,aAAa,EAACE,KAAKa,QAAO,CAAC;EAChD,OAAO;GACLM,MAAMd,KAAKC,UAAUQ,MAAM;GAC3BE,SAAS,EAAC,gBAAgB,mBAAkB;EAC9C;CACF,EACF;CAEF,MAAUvB,MAAM,0BAA0BI,WAAW;AACvD"}
\ No newline at end of file