@tanstack/router-core
Version:
Modern and scalable routing for React applications
29 lines (28 loc) • 945 B
JavaScript
let seroval = require("seroval");
//#region src/ssr/serializer/makeSerovalPlugin.ts
/** Create a Seroval plugin for client/server symmetric (de)serialization. */
/* @__NO_SIDE_EFFECTS__ */
function makeSerovalPlugin(serializationAdapter) {
return /* @__PURE__ */ (0, seroval.createPlugin)({
tag: "$TSR/t/" + serializationAdapter.key,
test: serializationAdapter.test,
parse: {
sync(value, ctx) {
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
},
async async(value, ctx) {
return { v: await ctx.parse(serializationAdapter.toSerializable(value)) };
},
stream(value, ctx) {
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
}
},
serialize: void 0,
deserialize(node, ctx) {
return serializationAdapter.fromSerializable(ctx.deserialize(node.v));
}
});
}
//#endregion
exports.makeSerovalPlugin = makeSerovalPlugin;
//# sourceMappingURL=makeSerovalPlugin.cjs.map