@serwist/build
Version:
A module that integrates into your build process, helping you generate a manifest of local files that should be precached.
31 lines (30 loc) • 1.4 kB
JavaScript
//#region src/schema/error.ts
var SerwistConfigError = class extends Error {
constructor({ moduleName, message }) {
super(`Invalid ${moduleName ?? "Serwist"} configuration:\n${message}`);
Object.setPrototypeOf(this, new.target.prototype);
}
};
const parsedType = (data) => {
const t = typeof data;
switch (t) {
case "number": return Number.isNaN(data) ? "NaN" : "number";
case "object":
if (Array.isArray(data)) return "array";
if (data === null) return "null";
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) return data.constructor.name;
}
return t;
};
const validationErrorMap = (error) => {
switch (error.code) {
case "invalid_type": return `${error.message ?? "Received invalid type"}: expected ${error.expected}, received ${parsedType(error.input)}.`;
case "invalid_value": return `${error.message ?? "Received invalid value"}: expected ${error.expected}, received ${parsedType(error.input)}.`;
case "invalid_union": return `${error.message ?? "Received invalid union"}:\n${error.errors.flatMap((err) => err.map((e) => ` → ${e.message}`)).join("\n")}`;
case "unrecognized_keys": return `${error.message ?? "Received unrecognized keys"}: ${error.keys.join(".")}`;
case "custom": return error.message ?? void 0;
}
};
//#endregion
export { validationErrorMap as n, SerwistConfigError as t };
//# sourceMappingURL=error-Cl4d1Wf-.js.map