UNPKG

5.54 kBSource Map (JSON)View Raw
1{"version":3,"file":"bundle.umd.js","sources":["../src/index.ts"],"sourcesContent":["/* tslint:disable */\n\nimport {\n ApolloLink,\n Observable,\n Operation,\n NextLink,\n FetchResult,\n} from 'apollo-link';\nimport { GraphQLError, ExecutionResult } from 'graphql';\nimport { ServerError, ServerParseError } from 'apollo-link-http-common';\n\nexport interface ErrorResponse {\n graphQLErrors?: ReadonlyArray<GraphQLError>;\n networkError?: Error | ServerError | ServerParseError;\n response?: ExecutionResult;\n operation: Operation;\n forward: NextLink;\n}\n\nexport namespace ErrorLink {\n /**\n * Callback to be triggered when an error occurs within the link stack.\n */\n export interface ErrorHandler {\n (error: ErrorResponse): Observable<FetchResult> | void;\n }\n}\n\n// For backwards compatibility.\nexport import ErrorHandler = ErrorLink.ErrorHandler;\n\nexport const onError = (errorHandler: ErrorHandler): ApolloLink => {\n return new ApolloLink((operation, forward) => {\n return new Observable(observer => {\n let sub;\n let retriedSub;\n let retriedResult;\n\n try {\n sub = forward(operation).subscribe({\n next: result => {\n if (result.errors) {\n retriedResult = errorHandler({\n graphQLErrors: result.errors,\n response: result,\n operation,\n forward,\n });\n\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer),\n });\n return;\n }\n }\n observer.next(result);\n },\n error: networkError => {\n retriedResult = errorHandler({\n operation,\n networkError,\n //Network errors can return GraphQL errors on for example a 403\n graphQLErrors:\n networkError &&\n networkError.result &&\n networkError.result.errors,\n forward,\n });\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer),\n });\n return;\n }\n observer.error(networkError);\n },\n complete: () => {\n // disable the previous sub from calling complete on observable\n // if retry is in flight.\n if (!retriedResult) {\n observer.complete.bind(observer)();\n }\n },\n });\n } catch (e) {\n errorHandler({ networkError: e, operation, forward });\n observer.error(e);\n }\n\n return () => {\n if (sub) sub.unsubscribe();\n if (retriedSub) sub.unsubscribe();\n };\n });\n });\n};\n\nexport class ErrorLink extends ApolloLink {\n private link: ApolloLink;\n constructor(errorHandler: ErrorLink.ErrorHandler) {\n super();\n this.link = onError(errorHandler);\n }\n\n public request(\n operation: Operation,\n forward: NextLink,\n ): Observable<FetchResult> | null {\n return this.link.request(operation, forward);\n }\n}\n"],"names":["ApolloLink","Observable","tslib_1.__extends"],"mappings":";;;;;;MAgCa,OAAO,GAAG,UAAC,YAA0B;MAChD,OAAO,IAAIA,qBAAU,CAAC,UAAC,SAAS,EAAE,OAAO;UACvC,OAAO,IAAIC,qBAAU,CAAC,UAAA,QAAQ;cAC5B,IAAI,GAAG,CAAC;cACR,IAAI,UAAU,CAAC;cACf,IAAI,aAAa,CAAC;cAElB,IAAI;kBACF,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;sBACjC,IAAI,EAAE,UAAA,MAAM;0BACV,IAAI,MAAM,CAAC,MAAM,EAAE;8BACjB,aAAa,GAAG,YAAY,CAAC;kCAC3B,aAAa,EAAE,MAAM,CAAC,MAAM;kCAC5B,QAAQ,EAAE,MAAM;kCAChB,SAAS,WAAA;kCACT,OAAO,SAAA;+BACR,CAAC,CAAC;8BAEH,IAAI,aAAa,EAAE;kCACjB,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;sCACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;sCAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;sCACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;mCAC3C,CAAC,CAAC;kCACH,OAAO;+BACR;2BACF;0BACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;uBACvB;sBACD,KAAK,EAAE,UAAA,YAAY;0BACjB,aAAa,GAAG,YAAY,CAAC;8BAC3B,SAAS,WAAA;8BACT,YAAY,cAAA;8BAEZ,aAAa,EACX,YAAY;kCACZ,YAAY,CAAC,MAAM;kCACnB,YAAY,CAAC,MAAM,CAAC,MAAM;8BAC5B,OAAO,SAAA;2BACR,CAAC,CAAC;0BACH,IAAI,aAAa,EAAE;8BACjB,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;kCACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;kCAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;kCACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;+BAC3C,CAAC,CAAC;8BACH,OAAO;2BACR;0BACD,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;uBAC9B;sBACD,QAAQ,EAAE;0BAGR,IAAI,CAAC,aAAa,EAAE;8BAClB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;2BACpC;uBACF;mBACF,CAAC,CAAC;eACJ;cAAC,OAAO,CAAC,EAAE;kBACV,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;kBACtD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;eACnB;cAED,OAAO;kBACL,IAAI,GAAG;sBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;kBAC3B,IAAI,UAAU;sBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;eACnC,CAAC;WACH,CAAC,CAAC;OACJ,CAAC,CAAC;EACL,CAAC,CAAC;AAEF;MAA+BC,qCAAU;MAEvC,mBAAY,YAAoC;UAAhD,YACE,iBAAO,SAER;UADC,KAAI,CAAC,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;;OACnC;MAEM,2BAAO,GAAd,UACE,SAAoB,EACpB,OAAiB;UAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;OAC9C;MACH,gBAAC;EAAD,CAbA,CAA+BF,qBAAU;;;;;;;;;;;;;"}
\No newline at end of file