export const customLink: TRPCLink<AppRouter> = () => {
return ({ next, op }) => {
return observable((observer) => {
const unsubscribe = next(op).subscribe({
next(value) {
observer.next(value);
},
error(err) {
if (err instanceof TRPCClientError) {
const errorResponse: OperationResultEnvelope<unknown> = {
result: {
type: "data",
data: {
zodError: JSON.parse(err.message)[0].message,
},
}
};
observer.next(errorResponse);
} else {
observer.error(err);
}
},
complete() {
observer.complete();
},
});
return unsubscribe;
});
};
};
export const customLink: TRPCLink<AppRouter> = () => {
return ({ next, op }) => {
return observable((observer) => {
const unsubscribe = next(op).subscribe({
next(value) {
observer.next(value);
},
error(err) {
if (err instanceof TRPCClientError) {
const errorResponse: OperationResultEnvelope<unknown> = {
result: {
type: "data",
data: {
zodError: JSON.parse(err.message)[0].message,
},
}
};
observer.next(errorResponse);
} else {
observer.error(err);
}
},
complete() {
observer.complete();
},
});
return unsubscribe;
});
};
};