-
-
Notifications
You must be signed in to change notification settings - Fork 36
Description
Hi! I'd like to use custom serialization for $error store in query and mutation.
My use case:
I have a project that uses nextjs and farfetched, sometimes a NetworkError can happen on the server side, this type of error has a non-serializable property "cause". In this situation I can't to serialize queries running on the server. Now the only one solution is to set serialize property to 'ignore', but it will disable serialization for all stores. That's not what i want.
My suggestion:
I think that it would be nice to separate serialization for $error and $data. As i understood, now serialization property works like this:
- If
serializationequals to'ignore', it will disable all serialization - If
serializationequals to{write: ..., read...}, this rules will be used only for $data store, and will have no effect for all other stores
And I suggest changing this behavior to this:
type Serialize<Data | Initial> = Serialize<Data | Initial> | {error?: Serialize<Data | Initial>, data?: Serialize<Data | Initial>} | undefined;
- If
serializationequals to'ignore'or{write: ..., read...}, it will works like before - If
serializationequals to{error: ..., data: ... }, it will apply different serialization rules for$errorand$data
Hope my suggestion helps!