UNPKG

mongoku

Version:

[![CI](https://github.com/huggingface/Mongoku/actions/workflows/ci.yml/badge.svg)](https://github.com/huggingface/Mongoku/actions/workflows/ci.yml)

66 lines (64 loc) 2.33 kB
function validator(expected) { function validate(module, file) { if (!module) return; for (const key in module) { if (key[0] === "_" || expected.has(key)) continue; const values = [...expected.values()]; const hint = hint_for_supported_files(key, file?.slice(file.lastIndexOf("."))) ?? `valid exports are ${values.join(", ")}, or anything with a '_' prefix`; throw new Error(`Invalid export '${key}'${file ? ` in ${file}` : ""} (${hint})`); } } return validate; } function hint_for_supported_files(key, ext = ".js") { const supported_files = []; if (valid_layout_exports.has(key)) { supported_files.push(`+layout${ext}`); } if (valid_page_exports.has(key)) { supported_files.push(`+page${ext}`); } if (valid_layout_server_exports.has(key)) { supported_files.push(`+layout.server${ext}`); } if (valid_page_server_exports.has(key)) { supported_files.push(`+page.server${ext}`); } if (valid_server_exports.has(key)) { supported_files.push(`+server${ext}`); } if (supported_files.length > 0) { return `'${key}' is a valid export in ${supported_files.slice(0, -1).join(", ")}${supported_files.length > 1 ? " or " : ""}${supported_files.at(-1)}`; } } const valid_layout_exports = /* @__PURE__ */ new Set([ "load", "prerender", "csr", "ssr", "trailingSlash", "config" ]); const valid_page_exports = /* @__PURE__ */ new Set([...valid_layout_exports, "entries"]); const valid_layout_server_exports = /* @__PURE__ */ new Set([...valid_layout_exports]); const valid_page_server_exports = /* @__PURE__ */ new Set([...valid_layout_server_exports, "actions", "entries"]); const valid_server_exports = /* @__PURE__ */ new Set([ "GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS", "HEAD", "fallback", "prerender", "trailingSlash", "config", "entries" ]); const validate_layout_exports = validator(valid_layout_exports); const validate_page_exports = validator(valid_page_exports); const validate_layout_server_exports = validator(valid_layout_server_exports); const validate_page_server_exports = validator(valid_page_server_exports); export { validate_layout_exports as a, validate_page_server_exports as b, validate_page_exports as c, validate_layout_server_exports as v }; //# sourceMappingURL=exports-B5ORJhfK.js.map