Dimi
Dimi14mo ago

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

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,
},
});
1 Reply
Nick
Nick14mo ago
superjson needs that to work, if you don't want it then you should remove superjson, but then types like dates will be strings