react-router-typesafe-routes
Version:
Enhanced type safety via validation for all route params in React Router v7.
29 lines (28 loc) • 958 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.parser = void 0;
function parser(defaultHint) {
return {
stringify(value, { hint }) {
const resolvedHint = hint !== null && hint !== void 0 ? hint : defaultHint;
if (resolvedHint === "string" && typeof value === "string") {
return value;
}
if (resolvedHint === "date" && value instanceof Date) {
return value.toISOString();
}
return JSON.stringify(value);
},
parse(value, { hint }) {
const resolvedHint = hint !== null && hint !== void 0 ? hint : defaultHint;
if (resolvedHint === "string") {
return value;
}
if (resolvedHint === "date") {
return new Date(value);
}
return JSON.parse(value);
},
};
}
exports.parser = parser;
;