angular-http-handler
Advanced tools
| import { catchError, finalize, of, retry, tap } from "rxjs"; | ||
| export function handle(loadingSetter, dataSetter, errorHandler, retryCount = 0, retryDelay) { | ||
| return (source$) => source$.pipe(tap(() => loadingSetter(true)), retry({ | ||
| export function handle(dataSetter, loadingSetter, errorHandler, retryCount = 0, retryDelay) { | ||
| return (source$) => source$.pipe(tap(() => { | ||
| if (loadingSetter) { | ||
| loadingSetter(true); | ||
| } | ||
| }), retry({ | ||
| count: retryCount, | ||
@@ -19,4 +23,8 @@ delay: retryDelay, | ||
| return of(fallback); | ||
| }), finalize(() => loadingSetter(false))); | ||
| }), finalize(() => { | ||
| if (loadingSetter) { | ||
| loadingSetter(false); | ||
| } | ||
| })); | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1odHRwLWhhbmRsZXIvc3JjL2xpYi9odHRwLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEUsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsYUFBeUMsRUFDekMsVUFBaUMsRUFDakMsWUFBaUQsRUFDakQsYUFBcUIsQ0FBQyxFQUN0QixVQUFtQjtJQUVuQixPQUFPLENBQUMsT0FBc0IsRUFBRSxFQUFFLENBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUM5QixLQUFLLENBQUM7UUFDSixLQUFLLEVBQUUsVUFBVTtRQUNqQixLQUFLLEVBQUUsVUFBVTtRQUNqQixjQUFjLEVBQUUsSUFBSTtLQUNyQixDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDbEMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDN0I7OzsrQ0FHdUM7UUFFM0IsK0NBQStDO1FBQy9DLElBQUksWUFBWSxFQUFFO1lBQ2QsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZCO1FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQU0sQ0FBQztRQUV0RSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckIsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN2QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBPYnNlcnZhYmxlLCBvZiwgcmV0cnksIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlPFQ+KFxyXG4gICAgbG9hZGluZ1NldHRlcjogKGxvYWRpbmc6IGJvb2xlYW4pID0+IHZvaWQsXHJcbiAgICBkYXRhU2V0dGVyOiAocmVzcG9uc2U6IFQpID0+IHZvaWQsXHJcbiAgICBlcnJvckhhbmRsZXI/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLFxyXG4gICAgcmV0cnlDb3VudDogbnVtYmVyID0gMCxcclxuICAgIHJldHJ5RGVsYXk/OiBudW1iZXIsXHJcbiAgKTogKHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pID0+IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIChzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KSA9PlxyXG4gICAgICBzb3VyY2UkLnBpcGUoXHJcbiAgICAgICAgdGFwKCgpID0+IGxvYWRpbmdTZXR0ZXIodHJ1ZSkpLFxyXG4gICAgICAgIHJldHJ5KHtcclxuICAgICAgICAgIGNvdW50OiByZXRyeUNvdW50LFxyXG4gICAgICAgICAgZGVsYXk6IHJldHJ5RGVsYXksXHJcbiAgICAgICAgICByZXNldE9uU3VjY2VzczogdHJ1ZVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRhcCgoZGF0YTogVCkgPT4gZGF0YVNldHRlcihkYXRhKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuLyogICAgICAgICAgICAgY29uc3QgZXJyb3JNc2cgPSBlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQgXHJcbiAgICAgICAgICAgID8gYEVycm9yOiAke2Vycm9yLmVycm9yLm1lc3NhZ2V9YCAvLyBDbGllbnQtc2lkZSBlcnJvclxyXG4gICAgICAgICAgICA6IGBFcnJvciBDb2RlOiAke2Vycm9yLnN0YXR1c30sIE1lc3NhZ2U6ICR7ZXJyb3IubWVzc2FnZX1gOyAvLyBTZXJ2ZXItc2lkZSBlcnJvclxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTXNnKTsgKi9cclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2FsbCB0aGUgcHJvdmlkZWQgZXJyb3IgaGFuZGxlciBpZiBpdCBleGlzdHNcclxuICAgICAgICAgICAgaWYgKGVycm9ySGFuZGxlcikge1xyXG4gICAgICAgICAgICAgICAgZXJyb3JIYW5kbGVyKGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZmFsbGJhY2sgPSAoQXJyYXkuaXNBcnJheShbXSBhcyB1bmtub3duIGFzIFQpID8gW10gOiBudWxsKSBhcyBUO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGF0YVNldHRlcihmYWxsYmFjayk7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxsYmFjayk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4gbG9hZGluZ1NldHRlcihmYWxzZSkpXHJcbiAgICApO1xyXG4gIH0iXX0= | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1odHRwLWhhbmRsZXIvc3JjL2xpYi9odHRwLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEUsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsVUFBaUMsRUFDakMsYUFBMEMsRUFDMUMsWUFBaUQsRUFDakQsYUFBcUIsQ0FBQyxFQUN0QixVQUFtQjtJQUVuQixPQUFPLENBQUMsT0FBc0IsRUFBRSxFQUFFLENBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNQLElBQUcsYUFBYSxFQUFDO1lBQ2YsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxDQUFDO1FBQ0osS0FBSyxFQUFFLFVBQVU7UUFDakIsS0FBSyxFQUFFLFVBQVU7UUFDakIsY0FBYyxFQUFFLElBQUk7S0FDckIsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLElBQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ2xDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzdCOzs7K0NBR3VDO1FBRTNCLCtDQUErQztRQUMvQyxJQUFJLFlBQVksRUFBRTtZQUNkLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFNLENBQUM7UUFFdEUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDWixJQUFHLGFBQWEsRUFBQztZQUNmLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIE9ic2VydmFibGUsIG9mLCByZXRyeSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGU8VD4oXHJcbiAgICBkYXRhU2V0dGVyOiAocmVzcG9uc2U6IFQpID0+IHZvaWQsXHJcbiAgICBsb2FkaW5nU2V0dGVyPzogKGxvYWRpbmc6IGJvb2xlYW4pID0+IHZvaWQsXHJcbiAgICBlcnJvckhhbmRsZXI/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLFxyXG4gICAgcmV0cnlDb3VudDogbnVtYmVyID0gMCxcclxuICAgIHJldHJ5RGVsYXk/OiBudW1iZXIsXHJcbiAgKTogKHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pID0+IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIChzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KSA9PlxyXG4gICAgICBzb3VyY2UkLnBpcGUoXHJcbiAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgIGlmKGxvYWRpbmdTZXR0ZXIpe1xyXG4gICAgICAgICAgICBsb2FkaW5nU2V0dGVyKHRydWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHJldHJ5KHtcclxuICAgICAgICAgIGNvdW50OiByZXRyeUNvdW50LFxyXG4gICAgICAgICAgZGVsYXk6IHJldHJ5RGVsYXksXHJcbiAgICAgICAgICByZXNldE9uU3VjY2VzczogdHJ1ZVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRhcCgoZGF0YTogVCkgPT4gZGF0YVNldHRlcihkYXRhKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuLyogICAgICAgICAgICAgY29uc3QgZXJyb3JNc2cgPSBlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQgXHJcbiAgICAgICAgICAgID8gYEVycm9yOiAke2Vycm9yLmVycm9yLm1lc3NhZ2V9YCAvLyBDbGllbnQtc2lkZSBlcnJvclxyXG4gICAgICAgICAgICA6IGBFcnJvciBDb2RlOiAke2Vycm9yLnN0YXR1c30sIE1lc3NhZ2U6ICR7ZXJyb3IubWVzc2FnZX1gOyAvLyBTZXJ2ZXItc2lkZSBlcnJvclxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTXNnKTsgKi9cclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2FsbCB0aGUgcHJvdmlkZWQgZXJyb3IgaGFuZGxlciBpZiBpdCBleGlzdHNcclxuICAgICAgICAgICAgaWYgKGVycm9ySGFuZGxlcikge1xyXG4gICAgICAgICAgICAgICAgZXJyb3JIYW5kbGVyKGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZmFsbGJhY2sgPSAoQXJyYXkuaXNBcnJheShbXSBhcyB1bmtub3duIGFzIFQpID8gW10gOiBudWxsKSBhcyBUO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGF0YVNldHRlcihmYWxsYmFjayk7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxsYmFjayk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgaWYobG9hZGluZ1NldHRlcil7XHJcbiAgICAgICAgICAgIGxvYWRpbmdTZXR0ZXIoZmFsc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH0iXX0= |
| import { tap, retry, catchError, of, finalize } from 'rxjs'; | ||
| function handle(loadingSetter, dataSetter, errorHandler, retryCount = 0, retryDelay) { | ||
| return (source$) => source$.pipe(tap(() => loadingSetter(true)), retry({ | ||
| function handle(dataSetter, loadingSetter, errorHandler, retryCount = 0, retryDelay) { | ||
| return (source$) => source$.pipe(tap(() => { | ||
| if (loadingSetter) { | ||
| loadingSetter(true); | ||
| } | ||
| }), retry({ | ||
| count: retryCount, | ||
@@ -20,3 +24,7 @@ delay: retryDelay, | ||
| return of(fallback); | ||
| }), finalize(() => loadingSetter(false))); | ||
| }), finalize(() => { | ||
| if (loadingSetter) { | ||
| loadingSetter(false); | ||
| } | ||
| })); | ||
| } | ||
@@ -23,0 +31,0 @@ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"angular-http-handler.mjs","sources":["../../../projects/angular-http-handler/src/lib/http-handler.ts","../../../projects/angular-http-handler/src/angular-http-handler.ts"],"sourcesContent":["import { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { catchError, finalize, Observable, of, retry, tap } from \"rxjs\";\r\n\r\nexport function handle<T>(\r\n loadingSetter: (loading: boolean) => void,\r\n dataSetter: (response: T) => void,\r\n errorHandler?: (error: HttpErrorResponse) => void,\r\n retryCount: number = 0,\r\n retryDelay?: number,\r\n ): (source$: Observable<T>) => Observable<T> {\r\n return (source$: Observable<T>) =>\r\n source$.pipe(\r\n tap(() => loadingSetter(true)),\r\n retry({\r\n count: retryCount,\r\n delay: retryDelay,\r\n resetOnSuccess: true\r\n }),\r\n tap((data: T) => dataSetter(data)),\r\n catchError((error) => {\r\n/* const errorMsg = error.error instanceof ErrorEvent \r\n ? `Error: ${error.error.message}` // Client-side error\r\n : `Error Code: ${error.status}, Message: ${error.message}`; // Server-side error\r\n console.error(errorMsg); */\r\n \r\n // Call the provided error handler if it exists\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n\r\n const fallback = (Array.isArray([] as unknown as T) ? [] : null) as T;\r\n \r\n dataSetter(fallback);\r\n return of(fallback);\r\n }),\r\n finalize(() => loadingSetter(false))\r\n );\r\n }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAGgB,SAAA,MAAM,CAClB,aAAyC,EACzC,UAAiC,EACjC,YAAiD,EACjD,UAAA,GAAqB,CAAC,EACtB,UAAmB,EAAA;IAEnB,OAAO,CAAC,OAAsB,KAC5B,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,EAC9B,KAAK,CAAC;AACJ,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,cAAc,EAAE,IAAI;AACrB,KAAA,CAAC,EACF,GAAG,CAAC,CAAC,IAAO,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,EAClC,UAAU,CAAC,CAAC,KAAK,KAAI;AAC7B;;;AAGuC;;AAG3B,QAAA,IAAI,YAAY,EAAE;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;AACvB,SAAA;AAED,QAAA,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAkB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAM,CAAC;QAEtE,UAAU,CAAC,QAAQ,CAAC,CAAC;AACrB,QAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxB,KAAC,CAAC,EACF,QAAQ,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC,CACvC,CAAC;AACJ;;ACrCF;;AAEG;;;;"} | ||
| {"version":3,"file":"angular-http-handler.mjs","sources":["../../../projects/angular-http-handler/src/lib/http-handler.ts","../../../projects/angular-http-handler/src/angular-http-handler.ts"],"sourcesContent":["import { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { catchError, finalize, Observable, of, retry, tap } from \"rxjs\";\r\n\r\nexport function handle<T>(\r\n dataSetter: (response: T) => void,\r\n loadingSetter?: (loading: boolean) => void,\r\n errorHandler?: (error: HttpErrorResponse) => void,\r\n retryCount: number = 0,\r\n retryDelay?: number,\r\n ): (source$: Observable<T>) => Observable<T> {\r\n return (source$: Observable<T>) =>\r\n source$.pipe(\r\n tap(() => {\r\n if(loadingSetter){\r\n loadingSetter(true);\r\n }\r\n }),\r\n retry({\r\n count: retryCount,\r\n delay: retryDelay,\r\n resetOnSuccess: true\r\n }),\r\n tap((data: T) => dataSetter(data)),\r\n catchError((error) => {\r\n/* const errorMsg = error.error instanceof ErrorEvent \r\n ? `Error: ${error.error.message}` // Client-side error\r\n : `Error Code: ${error.status}, Message: ${error.message}`; // Server-side error\r\n console.error(errorMsg); */\r\n \r\n // Call the provided error handler if it exists\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n\r\n const fallback = (Array.isArray([] as unknown as T) ? [] : null) as T;\r\n \r\n dataSetter(fallback);\r\n return of(fallback);\r\n }),\r\n finalize(() => {\r\n if(loadingSetter){\r\n loadingSetter(false);\r\n }\r\n })\r\n );\r\n }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAGgB,SAAA,MAAM,CAClB,UAAiC,EACjC,aAA0C,EAC1C,YAAiD,EACjD,UAAA,GAAqB,CAAC,EACtB,UAAmB,EAAA;AAEnB,IAAA,OAAO,CAAC,OAAsB,KAC5B,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,MAAK;AACP,QAAA,IAAG,aAAa,EAAC;YACf,aAAa,CAAC,IAAI,CAAC,CAAC;AACrB,SAAA;KACF,CAAC,EACF,KAAK,CAAC;AACJ,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,cAAc,EAAE,IAAI;AACrB,KAAA,CAAC,EACF,GAAG,CAAC,CAAC,IAAO,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,EAClC,UAAU,CAAC,CAAC,KAAK,KAAI;AAC7B;;;AAGuC;;AAG3B,QAAA,IAAI,YAAY,EAAE;YACd,YAAY,CAAC,KAAK,CAAC,CAAC;AACvB,SAAA;AAED,QAAA,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAkB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAM,CAAC;QAEtE,UAAU,CAAC,QAAQ,CAAC,CAAC;AACrB,QAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxB,KAAC,CAAC,EACF,QAAQ,CAAC,MAAK;AACZ,QAAA,IAAG,aAAa,EAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;AACtB,SAAA;KACF,CAAC,CACL,CAAC;AACJ;;AC7CF;;AAEG;;;;"} |
| import { HttpErrorResponse } from "@angular/common/http"; | ||
| import { Observable } from "rxjs"; | ||
| export declare function handle<T>(loadingSetter: (loading: boolean) => void, dataSetter: (response: T) => void, errorHandler?: (error: HttpErrorResponse) => void, retryCount?: number, retryDelay?: number): (source$: Observable<T>) => Observable<T>; | ||
| export declare function handle<T>(dataSetter: (response: T) => void, loadingSetter?: (loading: boolean) => void, errorHandler?: (error: HttpErrorResponse) => void, retryCount?: number, retryDelay?: number): (source$: Observable<T>) => Observable<T>; |
+1
-1
| { | ||
| "name": "angular-http-handler", | ||
| "version": "0.0.1", | ||
| "version": "0.0.2", | ||
| "description": "This is the http handler utility for Angular http requests", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+7
-7
@@ -48,6 +48,2 @@ # Angular HTTP Handler | ||
| handle( | ||
| (loading) => { | ||
| this.loading = loading; | ||
| console.log(loading); | ||
| }, | ||
| (response) => { | ||
@@ -57,2 +53,6 @@ this.response = response; | ||
| }, | ||
| (loading) => { // OPTIONAL - loading indicator | ||
| this.loading = loading; | ||
| console.log(loading); | ||
| }, | ||
| (error) => { // OPTIONAL - custom error handler | ||
@@ -85,8 +85,8 @@ console.log(error); | ||
| - loadingSetter: (loading: boolean) => void | ||
| Function to set the loading state (e.g., this.loading = loading). | ||
| - dataSetter: (response: T) => void | ||
| Function to set the data when the request succeeds (e.g., this.data = response). | ||
| - loadingSetter?: (loading: boolean) => void | ||
| Function to set the loading state (e.g., this.loading = loading). | ||
| - errorHandler?: (error: HttpErrorResponse) => void | ||
@@ -93,0 +93,0 @@ Optional function to handle errors (e.g., console.error(error)). |
14171
6.4%75
27.12%