UNPKG

ngx-progressbar

Version:

<p align="center"> <img height="200px" width="200px" style="text-align: center;" src="https://gitcdn.xyz/repo/MurhafSousli/ngx-progressbar/master/projects/ngx-progressbar-demo/src/assets/logo.svg"> <h1 align="center">Angular Progressbar</h1> </p>

1 lines 7.51 kB
{"version":3,"file":"ngx-progressbar-http.mjs","sources":["../../../projects/ngx-progressbar/http/src/ng-progress-http.interface.ts","../../../projects/ngx-progressbar/http/src/ng-progress.interceptor.ts","../../../projects/ngx-progressbar/http/src/ng-progress-http.module.ts","../../../projects/ngx-progressbar/http/src/ngx-progressbar-http.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ProgressHttpConfig {\r\n id: string;\r\n silentApis: string[];\r\n matcher: string | undefined;\r\n}\r\n\r\nexport type NgProgressHttpConfig = Partial<ProgressHttpConfig>;\r\n\r\nexport const NG_PROGRESS_HTTP_CONFIG = new InjectionToken<NgProgressHttpConfig>('ngProgressHttpConfig');\r\n","import { Injectable, Optional, Inject } from '@angular/core';\r\nimport { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { NgProgress, NgProgressRef } from 'ngx-progressbar';\r\nimport { NgProgressHttpConfig, ProgressHttpConfig, NG_PROGRESS_HTTP_CONFIG } from './ng-progress-http.interface';\r\n\r\n@Injectable()\r\nexport class NgProgressInterceptor implements HttpInterceptor {\r\n\r\n private _inProgressCount = 0;\r\n private _progressRef!: NgProgressRef;\r\n private readonly _config: ProgressHttpConfig = {\r\n id: 'root',\r\n silentApis: [],\r\n matcher: undefined\r\n };\r\n\r\n constructor(protected ngProgress: NgProgress, @Optional() @Inject(NG_PROGRESS_HTTP_CONFIG) config?: NgProgressHttpConfig) {\r\n this._config = config ? { ...this._config, ...config } : this._config;\r\n }\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n // Ignore by request headers\r\n if (req.headers.has('ignoreProgressBar')) {\r\n return next.handle(req.clone({ headers: req.headers.delete('ignoreProgressBar') }));\r\n }\r\n\r\n // Ignore silent api requests\r\n if (this.checkUrl(req)) {\r\n return next.handle(req);\r\n }\r\n\r\n this._inProgressCount++;\r\n\r\n this._progressRef = this.ngProgress.ref(this._config.id);\r\n if (!this._progressRef.isStarted) {\r\n this._progressRef.start();\r\n }\r\n\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this._inProgressCount--;\r\n if (this._inProgressCount === 0) {\r\n this._progressRef.complete();\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Check if request is silent.\r\n * @param req request\r\n */\r\n private checkUrl(req: HttpRequest<any>): boolean {\r\n const url: string = req.url.toLowerCase();\r\n\r\n if (this._config.matcher && this._config.silentApis?.length) {\r\n return checkForMatcher(url, this._config.matcher) && checkForSilentApis(url, this._config.silentApis);\r\n }\r\n if (this._config.silentApis?.length) {\r\n return checkForSilentApis(url, this._config.silentApis);\r\n }\r\n if (this._config.matcher) {\r\n return checkForMatcher(url, this._config.matcher);\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nfunction checkForSilentApis(url: string, silentApis: string[]): boolean {\r\n return !!silentApis.find((u: string) => url.includes(u.toLowerCase()));\r\n}\r\n\r\nfunction checkForMatcher(url: string, matcher: string): boolean {\r\n return !!url.match(matcher);\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NgProgressInterceptor } from './ng-progress.interceptor';\r\nimport { NgProgressHttpConfig, NG_PROGRESS_HTTP_CONFIG } from './ng-progress-http.interface';\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: NgProgressInterceptor, multi: true }\r\n ]\r\n})\r\nexport class NgProgressHttpModule {\r\n static withConfig(config: NgProgressHttpConfig): ModuleWithProviders<NgProgressHttpModule> {\r\n return {\r\n ngModule: NgProgressHttpModule,\r\n providers: [\r\n { provide: NG_PROGRESS_HTTP_CONFIG, useValue: config }\r\n ]\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}