react-router-typesafe-routes
Version:
Enhanced type safety via validation for all route params in React Router v7.
26 lines (25 loc) • 850 B
JavaScript
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);
},
};
}
export { parser };