T
tRPC

❓-help

SuperJSON is wrapping results in type with keys "json" and "meta"

Jjimfilippou5/10/2023
How can I modify the transformer in SuperJSON library to only return the "json" property and ignore the "meta" property during serialization? The current behavior of the library wraps the results in the SuperJSONResult interface, but I want to access only the "json" property after serialization.
interface SuperJSONResult {
json: JSONValue;
meta?: {
values?: MinimisedTree<TypeAnnotation>;
referentialEqualities?: ReferentialEqualityAnnotations;
};
}
interface SuperJSONResult {
json: JSONValue;
meta?: {
values?: MinimisedTree<TypeAnnotation>;
referentialEqualities?: ReferentialEqualityAnnotations;
};
}
This is my current code
const t = initTRPC.context<inferAsyncReturnType<typeof createContext>>().create({
transformer: {
serialize: SuperJSON.serialize,
deserialize: SuperJSON.deserialize,
},
});
const t = initTRPC.context<inferAsyncReturnType<typeof createContext>>().create({
transformer: {
serialize: SuperJSON.serialize,
deserialize: SuperJSON.deserialize,
},
});
Nnlucas5/10/2023
superjson needs that to work, if you don't want it then you should remove superjson, but then types like dates will be strings

Looking for more? Join the community!