Skip to content

Commit 749b4c1

Browse files
jan-musitimhall
authored andcommitted
Un-shadow fundamental Error type
When ReadableResult is in its error state, the error it provides at runtime can be either an [`ApolloError` (from @apollo/client)](https://github.com/apollographql/apollo-client/blob/29d41eb590157777f8a65554698fcef4d757a691/src/errors/index.ts) or an [`Error` (the fundamental type)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error). However, because the ReadableResult's error interface is named `Error`, its error state (accidentally?) defines its provided error in TypeScript recursively as either an `ApolloError` or its error state. I believe the simplest solution to this is to rename the error state's interface - I've proposed `ReadableError` here, but I defer to your judgement on what name is best. Thank you!
1 parent e3a8409 commit 749b4c1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/observable.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export interface Loading {
1111
data?: undefined;
1212
error?: undefined;
1313
}
14-
export interface Error {
14+
export interface ReadableError {
1515
loading: false;
1616
data?: undefined;
1717
error: ApolloError | Error;
@@ -22,7 +22,7 @@ export interface Data<TData = unknown> {
2222
error?: undefined;
2323
}
2424

25-
export type Result<TData = unknown> = Loading | Error | Data<TData>;
25+
export type Result<TData = unknown> = Loading | ReadableError | Data<TData>;
2626

2727
// Some methods, e.g. subscription, use Observable<FetchResult>,
2828
// convert this more raw value to a readable

0 commit comments

Comments
 (0)