@sanity/form-toolkit

3.0.63.0.7
dist/_chunks-es/create-handler.js
+dist/_chunks-es/create-handler.jsNew file
+50
Index: package/dist/_chunks-es/create-handler.js
===================================================================
--- package/dist/_chunks-es/create-handler.js
+++ package/dist/_chunks-es/create-handler.js
@@ -0,0 +1,50 @@
+import { defineEventHandler } from "h3";
+const detectFramework = () => {
+	if (process.env.NEXT_RUNTIME) return "nextjs";
+	if (process.env.NUXT_ENV) return "nuxt";
+	if (process.env.SVELTEKIT_ENV) return "sveltekit";
+	if (process.env.REMIX_ENV) return "remix";
+	if (process.env.ASTRO_ENV) return "astro";
+	throw Error("Unable to detect framework.");
+}, createHandler = (handlerFunc) => {
+	let framework = detectFramework(), handlerLogic = async ({ res }) => {
+		try {
+			let data = await handlerFunc();
+			return res && (res.writeHead(200, { "Content-Type": "application/json" }), res.end(JSON.stringify(data))), data;
+		} catch (error) {
+			return error instanceof Error ? (res && (res.writeHead(500, { "Content-Type": "application/json" }), res.end(JSON.stringify({ error: error.message }))), { error: error.message }) : (res && (res.writeHead(500, { "Content-Type": "application/json" }), res.end(JSON.stringify({ error: "An unexpected error occurred" }))), { error: "An unexpected error occurred" });
+		}
+	};
+	if (framework === "nextjs") return async (req, res) => {
+		res.setHeader("Access-Control-Allow-Origin", "*"), res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"), res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"), await handlerLogic({
+			req,
+			res
+		});
+	};
+	if (framework === "nuxt") return defineEventHandler(async (event) => {
+		let req = event.node.req, res = event.node.res;
+		return handlerLogic({
+			req,
+			res
+		});
+	});
+	if (framework === "sveltekit") return { GET: async ({ request }) => {
+		let result = await handlerLogic({ req: request });
+		return new Response(JSON.stringify(result), { headers: { "Content-Type": "application/json" } });
+	} };
+	if (framework === "remix") return { loader: async ({ request }) => {
+		let result = await handlerLogic({ req: request });
+		return new Response(JSON.stringify(result), { headers: { "Content-Type": "application/json" } });
+	} };
+	if (framework === "astro") return { get: async ({ request }) => {
+		let result = await handlerLogic({ req: request });
+		return {
+			body: JSON.stringify(result),
+			headers: { "Content-Type": "application/json" }
+		};
+	} };
+	throw Error(`Unsupported framework: ${framework}`);
+};
+export { createHandler as t };
+
+//# sourceMappingURL=create-handler.js.map
\ No newline at end of file