@tanstack/router-core
Version:
Modern and scalable routing for React applications
26 lines (25 loc) • 891 B
JavaScript
import { GLOBAL_TSR } from "../constants.js";
import { createPlugin } from "seroval";
//#region src/ssr/serializer/makeSsrSerovalPlugin.ts
/**
* Create a Seroval plugin for server-side serialization only. `tracker.didRun`
* becomes true once the plugin serialized a value.
*/
/* @__NO_SIDE_EFFECTS__ */
function makeSsrSerovalPlugin(serializationAdapter, tracker) {
return /* @__PURE__ */ createPlugin({
tag: "$TSR/t/" + serializationAdapter.key,
test: serializationAdapter.test,
parse: { stream(value, ctx) {
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
} },
serialize(node, ctx) {
if (tracker) tracker.didRun = true;
return GLOBAL_TSR + ".t.get(\"" + serializationAdapter.key + "\")(" + ctx.serialize(node.v) + ")";
},
deserialize: void 0
});
}
//#endregion
export { makeSsrSerovalPlugin };
//# sourceMappingURL=makeSsrSerovalPlugin.js.map