UNPKG

5.47 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: networkError.result && 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"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;AAEA,QA8Ba,OAAO,GAAG,UAAC,YAA0B;QAChD,OAAO,IAAIA,qBAAU,CAAC,UAAC,SAAS,EAAE,OAAO;YACvC,OAAO,IAAIC,qBAAU,CAAC,UAAA,QAAQ;gBAC5B,IAAI,GAAG,CAAC;gBACR,IAAI,UAAU,CAAC;gBACf,IAAI,aAAa,CAAC;gBAElB,IAAI;oBACF,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;wBACjC,IAAI,EAAE,UAAA,MAAM;4BACV,IAAI,MAAM,CAAC,MAAM,EAAE;gCACjB,aAAa,GAAG,YAAY,CAAC;oCAC3B,aAAa,EAAE,MAAM,CAAC,MAAM;oCAC5B,QAAQ,EAAE,MAAM;oCAChB,SAAS,WAAA;oCACT,OAAO,SAAA;iCACR,CAAC,CAAC;gCAEH,IAAI,aAAa,EAAE;oCACjB,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;wCACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wCAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;wCACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;qCAC3C,CAAC,CAAC;oCACH,OAAO;iCACR;6BACF;4BACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBACvB;wBACD,KAAK,EAAE,UAAA,YAAY;4BACjB,aAAa,GAAG,YAAY,CAAC;gCAC3B,SAAS,WAAA;gCACT,YAAY,cAAA;;gCAEZ,aAAa,EAAE,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM;gCAChE,OAAO,SAAA;6BACR,CAAC,CAAC;4BACH,IAAI,aAAa,EAAE;gCACjB,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;oCACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oCAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oCACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;iCAC3C,CAAC,CAAC;gCACH,OAAO;6BACR;4BACD,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;yBAC9B;wBACD,QAAQ,EAAE;;;4BAGR,IAAI,CAAC,aAAa,EAAE;gCAClB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;6BACpC;yBACF;qBACF,CAAC,CAAC;iBACJ;gBAAC,OAAO,CAAC,EAAE;oBACV,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;oBACtD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACnB;gBAED,OAAO;oBACL,IAAI,GAAG;wBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC3B,IAAI,UAAU;wBAAE,GAAG,CAAC,WAAW,EAAE,CAAC;iBACnC,CAAC;aACH,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AAEF;QAA+B,6BAAU;QAEvC,mBAAY,YAAoC;YAAhD,YACE,iBAAO,SAER;YADC,KAAI,CAAC,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;;SACnC;QAEM,2BAAO,GAAd,UACE,SAAoB,EACpB,OAAiB;YAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC9C;QACH,gBAAC;IAAD,CAbA,CAA+BD,qBAAU;;;;;;;;;;;;;"}
\No newline at end of file