Files
SnowLuma/.pnpm-store/v11/files/f7/b36dd1d869767bb41d7628e53586d4ab7c63fddc356ce4d9c61a7000902b917698e98b3d451a360f5851ac050e030c63d689ea3acbd663b5996026631ba288
TanTan 2a69b23b47
Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Skipped
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

55 lines
1.9 KiB
Plaintext

const require_constants = require("../constants.cjs");
let seroval = require("seroval");
//#region src/ssr/serializer/transformer.ts
/**
* Create a strongly-typed serialization adapter for SSR hydration.
* Use to register custom types with the router serializer.
*/
function createSerializationAdapter(opts) {
return opts;
}
/** Create a Seroval plugin for server-side serialization only. */
/* @__NO_SIDE_EFFECTS__ */
function makeSsrSerovalPlugin(serializationAdapter, options) {
return /* @__PURE__ */ (0, seroval.createPlugin)({
tag: "$TSR/t/" + serializationAdapter.key,
test: serializationAdapter.test,
parse: { stream(value, ctx, _data) {
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
} },
serialize(node, ctx, _data) {
options.didRun = true;
return require_constants.GLOBAL_TSR + ".t.get(\"" + serializationAdapter.key + "\")(" + ctx.serialize(node.v) + ")";
},
deserialize: void 0
});
}
/** 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, _data) {
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
},
async async(value, ctx, _data) {
return { v: await ctx.parse(serializationAdapter.toSerializable(value)) };
},
stream(value, ctx, _data) {
return { v: ctx.parse(serializationAdapter.toSerializable(value)) };
}
},
serialize: void 0,
deserialize(node, ctx, _data) {
return serializationAdapter.fromSerializable(ctx.deserialize(node.v));
}
});
}
//#endregion
exports.createSerializationAdapter = createSerializationAdapter;
exports.makeSerovalPlugin = makeSerovalPlugin;
exports.makeSsrSerovalPlugin = makeSsrSerovalPlugin;
//# sourceMappingURL=transformer.cjs.map