class HttpError { /** * @param {number} status * @param {{message: string} extends App.Error ? (App.Error | string | undefined) : App.Error} body */ constructor(status, body) { this.status = status; if (typeof body === "string") { this.body = { message: body }; } else if (body) { this.body = body; } else { this.body = { message: `Error: ${status}` }; } } toString() { return JSON.stringify(this.body); } } class Redirect { /** * @param {300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308} status * @param {string} location */ constructor(status, location) { this.status = status; this.location = location; } } class SvelteKitError extends Error { /** * @param {number} status * @param {string} text * @param {string} message */ constructor(status, text2, message) { super(message); this.status = status; this.text = text2; } } class ActionFailure { /** * @param {number} status * @param {T} data */ constructor(status, data) { this.status = status; this.data = data; } } function error(status, body) { if (isNaN(status) || status < 400 || status > 599) { throw new Error(`HTTP error status codes must be between 400 and 599 — ${status} is invalid`); } throw new HttpError(status, body); } function redirect(status, location) { if (isNaN(status) || status < 300 || status > 308) { throw new Error("Invalid status code"); } throw new Redirect( // @ts-ignore status, location.toString() ); } function json(data, init) { const body = JSON.stringify(data); const headers = new Headers(init?.headers); if (!headers.has("content-length")) { headers.set("content-length", encoder.encode(body).byteLength.toString()); } if (!headers.has("content-type")) { headers.set("content-type", "application/json"); } return new Response(body, { ...init, headers }); } const encoder = new TextEncoder(); function text(body, init) { const headers = new Headers(init?.headers); if (!headers.has("content-length")) { const encoded = encoder.encode(body); headers.set("content-length", encoded.byteLength.toString()); return new Response(encoded, { ...init, headers }); } return new Response(body, { ...init, headers }); } function fail(status, data) { return new ActionFailure(status, data); } export { ActionFailure as A, HttpError as H, Redirect as R, SvelteKitError as S, error as e, fail as f, json as j, redirect as r, text as t }; //# sourceMappingURL=index-Ddp2AB5f.js.map