@dontdrinkandroot/ngx-extensions 0.3.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/cookie/cookie.service.mjs +135 -0
- package/esm2022/src/ddr-extensions.module.mjs +67 -0
- package/esm2022/src/http/redirect-to-login-interceptor.service.mjs +35 -0
- package/{esm2020 → esm2022}/src/http/with-credentials-interceptor.service.mjs +4 -4
- package/esm2022/src/image/lazy-image.directive.mjs +132 -0
- package/esm2022/src/jwt/jwt-interceptor.service.mjs +26 -0
- package/esm2022/src/jwt/jwt-refresh-token-interceptor.service.mjs +50 -0
- package/{esm2020 → esm2022}/src/jwt/jwt.service.mjs +5 -5
- package/esm2022/src/logger/console-logger.service.mjs +43 -0
- package/esm2022/src/methoddecorator/limit.mjs +16 -0
- package/esm2022/src/oauth/oauth2-access-token-interceptor.service.mjs +26 -0
- package/esm2022/src/oauth/oauth2-error.mjs +8 -0
- package/esm2022/src/oauth/oauth2-refresh-token-interceptor.service.mjs +24 -0
- package/{esm2020 → esm2022}/src/oauth/oauth2.module.mjs +5 -5
- package/esm2022/src/oauth/oauth2.service.mjs +125 -0
- package/esm2022/src/oauth/redirect-to-oauth2-login-interceptor.service.mjs +41 -0
- package/esm2022/src/scroll/bottom-hit.directive.mjs +60 -0
- package/esm2022/src/scroll/scroll.service.mjs +38 -0
- package/esm2022/src/storage/local-storage.service.mjs +53 -0
- package/esm2022/src/util/collection-utils.mjs +27 -0
- package/{esm2020 → esm2022}/src/util/number-utils.mjs +1 -1
- package/esm2022/src/util/string-utils.mjs +35 -0
- package/esm2022/src/util/type-utils.mjs +9 -0
- package/{esm2020 → esm2022}/src/visibility/visibility.service.mjs +5 -5
- package/{fesm2020 → fesm2022}/dontdrinkandroot-ngx-extensions.mjs +102 -100
- package/{fesm2020 → fesm2022}/dontdrinkandroot-ngx-extensions.mjs.map +1 -1
- package/package.json +9 -15
- package/src/image/lazy-image.directive.d.ts +1 -1
- package/esm2020/src/cookie/cookie.service.mjs +0 -135
- package/esm2020/src/ddr-extensions.module.mjs +0 -67
- package/esm2020/src/http/redirect-to-login-interceptor.service.mjs +0 -35
- package/esm2020/src/image/lazy-image.directive.mjs +0 -132
- package/esm2020/src/jwt/jwt-interceptor.service.mjs +0 -26
- package/esm2020/src/jwt/jwt-refresh-token-interceptor.service.mjs +0 -50
- package/esm2020/src/logger/console-logger.service.mjs +0 -43
- package/esm2020/src/methoddecorator/limit.mjs +0 -16
- package/esm2020/src/oauth/oauth2-access-token-interceptor.service.mjs +0 -26
- package/esm2020/src/oauth/oauth2-error.mjs +0 -8
- package/esm2020/src/oauth/oauth2-refresh-token-interceptor.service.mjs +0 -24
- package/esm2020/src/oauth/oauth2.service.mjs +0 -125
- package/esm2020/src/oauth/redirect-to-oauth2-login-interceptor.service.mjs +0 -41
- package/esm2020/src/scroll/bottom-hit.directive.mjs +0 -60
- package/esm2020/src/scroll/scroll.service.mjs +0 -38
- package/esm2020/src/storage/local-storage.service.mjs +0 -53
- package/esm2020/src/util/collection-utils.mjs +0 -27
- package/esm2020/src/util/string-utils.mjs +0 -35
- package/esm2020/src/util/type-utils.mjs +0 -9
- package/fesm2015/dontdrinkandroot-ngx-extensions.mjs +0 -1132
- package/fesm2015/dontdrinkandroot-ngx-extensions.mjs.map +0 -1
- /package/{esm2020 → esm2022}/dontdrinkandroot-ngx-extensions.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/src/http/url-info.mjs +0 -0
- /package/{esm2020 → esm2022}/src/jwt/jwt-token-response.mjs +0 -0
- /package/{esm2020 → esm2022}/src/logger/logger.service.mjs +0 -0
- /package/{esm2020 → esm2022}/src/methoddecorator/debounce.mjs +0 -0
- /package/{esm2020 → esm2022}/src/oauth/json-web-token.mjs +0 -0
- /package/{esm2020 → esm2022}/src/oauth/oauth2-config.mjs +0 -0
- /package/{esm2020 → esm2022}/src/oauth/token-response.mjs +0 -0
- /package/{esm2020 → esm2022}/src/storage/storage.service.mjs +0 -0
- /package/{esm2020 → esm2022}/src/typeguard/is-non-null.mjs +0 -0
- /package/{esm2020 → esm2022}/src/util/object-utils.mjs +0 -0
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, NgModule } from '@angular/core';
|
|
2
|
-
import { LazyImageDirective } from './image/lazy-image.directive';
|
|
3
|
-
import { BottomHitDirective } from './scroll/bottom-hit.directive';
|
|
4
|
-
import { Logger } from './logger/logger.service';
|
|
5
|
-
import { ConsoleLogger } from './logger/console-logger.service';
|
|
6
|
-
import { DDR_STORAGE_PREFIX, StorageService } from './storage/storage.service';
|
|
7
|
-
import { LocalStorageService } from './storage/local-storage.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export const DDR_JWT_REFRESH_TOKEN_URL = new InjectionToken('DDR_JWT_REFRESH_TOKEN_URL');
|
|
10
|
-
export const DDR_LOGIN_PATH = new InjectionToken('DDR_LOGIN_PATH');
|
|
11
|
-
export class DdrExtensionsModule {
|
|
12
|
-
}
|
|
13
|
-
DdrExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DdrExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
-
DdrExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: DdrExtensionsModule, declarations: [LazyImageDirective,
|
|
15
|
-
BottomHitDirective], exports: [LazyImageDirective,
|
|
16
|
-
BottomHitDirective] });
|
|
17
|
-
DdrExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DdrExtensionsModule, providers: [
|
|
18
|
-
{
|
|
19
|
-
provide: DDR_LOGIN_PATH,
|
|
20
|
-
useValue: '/login'
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
provide: Logger,
|
|
24
|
-
useClass: ConsoleLogger
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
provide: DDR_STORAGE_PREFIX,
|
|
28
|
-
useValue: 'ddr'
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
provide: StorageService,
|
|
32
|
-
useClass: LocalStorageService
|
|
33
|
-
},
|
|
34
|
-
] });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DdrExtensionsModule, decorators: [{
|
|
36
|
-
type: NgModule,
|
|
37
|
-
args: [{
|
|
38
|
-
declarations: [
|
|
39
|
-
LazyImageDirective,
|
|
40
|
-
BottomHitDirective
|
|
41
|
-
],
|
|
42
|
-
imports: [],
|
|
43
|
-
providers: [
|
|
44
|
-
{
|
|
45
|
-
provide: DDR_LOGIN_PATH,
|
|
46
|
-
useValue: '/login'
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
provide: Logger,
|
|
50
|
-
useClass: ConsoleLogger
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
provide: DDR_STORAGE_PREFIX,
|
|
54
|
-
useValue: 'ddr'
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
provide: StorageService,
|
|
58
|
-
useClass: LocalStorageService
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
exports: [
|
|
62
|
-
LazyImageDirective,
|
|
63
|
-
BottomHitDirective
|
|
64
|
-
]
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGRyLWV4dGVuc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rkci1leHRlbnNpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFcEUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQVMsMkJBQTJCLENBQUMsQ0FBQztBQUVqRyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQVMsZ0JBQWdCLENBQUMsQ0FBQztBQStCM0UsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQTNCeEIsa0JBQWtCO1FBQ2xCLGtCQUFrQixhQXNCbEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtpSEFHYixtQkFBbUIsYUF2QmpCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUsUUFBUTtTQUNyQjtRQUNEO1lBQ0ksT0FBTyxFQUFFLE1BQU07WUFDZixRQUFRLEVBQUUsYUFBYTtTQUMxQjtRQUNEO1lBQ0ksT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixRQUFRLEVBQUUsS0FBSztTQUNsQjtRQUNEO1lBQ0ksT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLG1CQUFtQjtTQUNoQztLQUNKOzJGQU1RLG1CQUFtQjtrQkE3Qi9CLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFFBQVEsRUFBRSxRQUFRO3lCQUNyQjt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsTUFBTTs0QkFDZixRQUFRLEVBQUUsYUFBYTt5QkFDMUI7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLEtBQUs7eUJBQ2xCO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixRQUFRLEVBQUUsbUJBQW1CO3lCQUNoQztxQkFDSjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsa0JBQWtCO3dCQUNsQixrQkFBa0I7cUJBQ3JCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYXp5SW1hZ2VEaXJlY3RpdmV9IGZyb20gJy4vaW1hZ2UvbGF6eS1pbWFnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCb3R0b21IaXREaXJlY3RpdmV9IGZyb20gJy4vc2Nyb2xsL2JvdHRvbS1oaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbnNvbGVMb2dnZXJ9IGZyb20gJy4vbG9nZ2VyL2NvbnNvbGUtbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtERFJfU1RPUkFHRV9QUkVGSVgsIFN0b3JhZ2VTZXJ2aWNlfSBmcm9tICcuL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7TG9jYWxTdG9yYWdlU2VydmljZX0gZnJvbSAnLi9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBERFJfSldUX1JFRlJFU0hfVE9LRU5fVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0REUl9KV1RfUkVGUkVTSF9UT0tFTl9VUkwnKTtcblxuZXhwb3J0IGNvbnN0IEREUl9MT0dJTl9QQVRIID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0REUl9MT0dJTl9QQVRIJyk7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIExhenlJbWFnZURpcmVjdGl2ZSxcbiAgICAgICAgQm90dG9tSGl0RGlyZWN0aXZlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRERSX0xPR0lOX1BBVEgsXG4gICAgICAgICAgICB1c2VWYWx1ZTogJy9sb2dpbidcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTG9nZ2VyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IENvbnNvbGVMb2dnZXJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRERSX1NUT1JBR0VfUFJFRklYLFxuICAgICAgICAgICAgdXNlVmFsdWU6ICdkZHInXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IExvY2FsU3RvcmFnZVNlcnZpY2VcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTGF6eUltYWdlRGlyZWN0aXZlLFxuICAgICAgICBCb3R0b21IaXREaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERkckV4dGVuc2lvbnNNb2R1bGVcbntcbn1cbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
-
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { throwError } from 'rxjs';
|
|
4
|
-
import { catchError } from 'rxjs/operators';
|
|
5
|
-
import { DDR_LOGIN_PATH } from '../ddr-extensions.module';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
|
-
export class RedirectToLoginInterceptor {
|
|
9
|
-
constructor(router, loginPath) {
|
|
10
|
-
this.router = router;
|
|
11
|
-
this.loginPath = loginPath;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @override
|
|
15
|
-
*/
|
|
16
|
-
intercept(req, next) {
|
|
17
|
-
return next.handle(req).pipe(catchError((err) => {
|
|
18
|
-
if (err instanceof HttpErrorResponse) {
|
|
19
|
-
if (err.status === 401) {
|
|
20
|
-
this.router.navigate([this.loginPath]);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return throwError(err);
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
RedirectToLoginInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RedirectToLoginInterceptor, deps: [{ token: i1.Router }, { token: DDR_LOGIN_PATH }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
-
RedirectToLoginInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RedirectToLoginInterceptor });
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RedirectToLoginInterceptor, decorators: [{
|
|
30
|
-
type: Injectable
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: undefined, decorators: [{
|
|
32
|
-
type: Inject,
|
|
33
|
-
args: [DDR_LOGIN_PATH]
|
|
34
|
-
}] }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QtdG8tbG9naW4taW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9odHRwL3JlZGlyZWN0LXRvLWxvZ2luLWludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUF1RCxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTywwQkFBMEI7SUFFbkMsWUFBb0IsTUFBYyxFQUFrQyxTQUFpQjtRQUFqRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQWtDLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFckYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFFckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUU1QyxJQUFJLEdBQUcsWUFBWSxpQkFBaUIsRUFBRTtnQkFDbEMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDMUM7YUFDSjtZQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzt1SEFyQlEsMEJBQTBCLHdDQUVTLGNBQWM7MkhBRmpELDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOzswQkFHOEIsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0REUl9MT0dJTl9QQVRIfSBmcm9tICcuLi9kZHItZXh0ZW5zaW9ucy5tb2R1bGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkaXJlY3RUb0xvZ2luSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3JcbntcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KEREUl9MT0dJTl9QQVRIKSBwcml2YXRlIGxvZ2luUGF0aDogc3RyaW5nKVxuICAgIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PlxuICAgIHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHtcblxuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5sb2dpblBhdGhdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, HostBinding, HostListener, Input } from '@angular/core';
|
|
3
|
-
import { NumberUtils } from '../util/number-utils';
|
|
4
|
-
import { StringUtils } from '../util/string-utils';
|
|
5
|
-
import { Debounce } from '../methoddecorator/debounce';
|
|
6
|
-
import { Limit } from '../methoddecorator/limit';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class LazyImageDirective {
|
|
9
|
-
constructor(element, changeDetectorRef) {
|
|
10
|
-
this.element = element;
|
|
11
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
12
|
-
this.objectFit = 'contain';
|
|
13
|
-
this.offset = 1000;
|
|
14
|
-
this.hostSrc = 'assets/placeholder.gif';
|
|
15
|
-
this.hostStyleObjectFit = 'contain';
|
|
16
|
-
this.displayed = false;
|
|
17
|
-
this.maxLoadedDimension = null;
|
|
18
|
-
}
|
|
19
|
-
windowResized($event) {
|
|
20
|
-
this.displayed = false;
|
|
21
|
-
this.check();
|
|
22
|
-
}
|
|
23
|
-
windowScroll($event) {
|
|
24
|
-
this.check();
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* @override
|
|
28
|
-
*/
|
|
29
|
-
ngOnChanges(changes) {
|
|
30
|
-
this.displayed = false;
|
|
31
|
-
this.maxLoadedDimension = null;
|
|
32
|
-
this.check();
|
|
33
|
-
}
|
|
34
|
-
check() {
|
|
35
|
-
if (this.element.nativeElement.parentElement.offsetWidth > 0) {
|
|
36
|
-
this.doCheck();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
setTimeout(() => this.doCheck(), 1);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
doCheck() {
|
|
43
|
-
if (this.displayed || this.isHidden(this.element.nativeElement)) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (this.isInsideViewport(this.element.nativeElement, this.offset)) {
|
|
47
|
-
this.displayed = true;
|
|
48
|
-
const dimension = this.getDimension();
|
|
49
|
-
this.hostStyleWidthPx = dimension.width;
|
|
50
|
-
this.hostStyleHeightPx = dimension.height;
|
|
51
|
-
if (this.maxLoadedDimension != null
|
|
52
|
-
&& this.maxLoadedDimension.width >= dimension.width
|
|
53
|
-
&& this.maxLoadedDimension.height >= dimension.height) {
|
|
54
|
-
// console.log('has smaller dimension');
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
this.maxLoadedDimension = dimension;
|
|
58
|
-
let wantedSize;
|
|
59
|
-
if (this.objectFit === 'cover') {
|
|
60
|
-
wantedSize = NumberUtils.getNextPowerOfTwo(Math.max(dimension.width, dimension.height));
|
|
61
|
-
this.hostStyleObjectFit = 'cover';
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
wantedSize = NumberUtils.getNextPowerOfTwo(Math.min(dimension.width, dimension.height));
|
|
65
|
-
this.hostStyleObjectFit = 'contain';
|
|
66
|
-
}
|
|
67
|
-
this.hostSrc = StringUtils.updateUrlParameter(this.src, 'size', String(wantedSize));
|
|
68
|
-
this.changeDetectorRef.markForCheck();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
isInsideViewport(element, threshold) {
|
|
72
|
-
const ownerDocument = element.ownerDocument;
|
|
73
|
-
const documentTop = window.pageYOffset || ownerDocument.body.scrollTop;
|
|
74
|
-
const documentLeft = window.pageXOffset || ownerDocument.body.scrollLeft;
|
|
75
|
-
const documentWidth = window.innerWidth || (ownerDocument.documentElement.clientWidth || document.body.clientWidth);
|
|
76
|
-
const documentHeight = window.innerHeight || (ownerDocument.documentElement.clientHeight || document.body.clientHeight);
|
|
77
|
-
const topOffset = element.getBoundingClientRect().top + documentTop - ownerDocument.documentElement.clientTop;
|
|
78
|
-
const leftOffset = element.getBoundingClientRect().left + documentLeft - ownerDocument.documentElement.clientLeft;
|
|
79
|
-
const isBelowViewport = documentHeight + documentTop <= topOffset - threshold;
|
|
80
|
-
const isAtRightOfViewport = documentWidth + window.pageXOffset <= leftOffset - threshold;
|
|
81
|
-
const isAboveViewport = documentTop >= topOffset + threshold + element.offsetHeight;
|
|
82
|
-
const isAtLeftOfViewport = documentLeft >= leftOffset + threshold + element.offsetWidth;
|
|
83
|
-
return !isBelowViewport && !isAboveViewport && !isAtRightOfViewport && !isAtLeftOfViewport;
|
|
84
|
-
}
|
|
85
|
-
getDimension() {
|
|
86
|
-
return {
|
|
87
|
-
width: this.element.nativeElement.parentElement.offsetWidth,
|
|
88
|
-
height: this.element.nativeElement.parentElement.offsetHeight,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
isHidden(element) {
|
|
92
|
-
return window.getComputedStyle(element).display === 'none';
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
LazyImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: LazyImageDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
96
|
-
LazyImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: LazyImageDirective, selector: "[ddrLazyImage]", inputs: { src: ["ddrLazyImage", "src"], objectFit: "objectFit", offset: "offset" }, host: { listeners: { "window:resize": "windowResized($event)", "window:scroll": "windowScroll($event)" }, properties: { "src": "this.hostSrc", "style.width.px": "this.hostStyleWidthPx", "style.height.px": "this.hostStyleHeightPx", "style.object-fit": "this.hostStyleObjectFit" } }, usesOnChanges: true, ngImport: i0 });
|
|
97
|
-
__decorate([
|
|
98
|
-
Debounce()
|
|
99
|
-
], LazyImageDirective.prototype, "windowResized", null);
|
|
100
|
-
__decorate([
|
|
101
|
-
Limit()
|
|
102
|
-
], LazyImageDirective.prototype, "windowScroll", null);
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: LazyImageDirective, decorators: [{
|
|
104
|
-
type: Directive,
|
|
105
|
-
args: [{ selector: '[ddrLazyImage]' }]
|
|
106
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { src: [{
|
|
107
|
-
type: Input,
|
|
108
|
-
args: ['ddrLazyImage']
|
|
109
|
-
}], objectFit: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], offset: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], hostSrc: [{
|
|
114
|
-
type: HostBinding,
|
|
115
|
-
args: ['src']
|
|
116
|
-
}], hostStyleWidthPx: [{
|
|
117
|
-
type: HostBinding,
|
|
118
|
-
args: ['style.width.px']
|
|
119
|
-
}], hostStyleHeightPx: [{
|
|
120
|
-
type: HostBinding,
|
|
121
|
-
args: ['style.height.px']
|
|
122
|
-
}], hostStyleObjectFit: [{
|
|
123
|
-
type: HostBinding,
|
|
124
|
-
args: ['style.object-fit']
|
|
125
|
-
}], windowResized: [{
|
|
126
|
-
type: HostListener,
|
|
127
|
-
args: ['window:resize', ['$event']]
|
|
128
|
-
}], windowScroll: [{
|
|
129
|
-
type: HostListener,
|
|
130
|
-
args: ['window:scroll', ['$event']]
|
|
131
|
-
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1hZ2UvbGF6eS1pbWFnZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUkvQyxNQUFNLE9BQU8sa0JBQWtCO0lBMkIzQixZQUFvQixPQUFtQixFQUFVLGlCQUFvQztRQUFqRSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXJCOUUsY0FBUyxHQUF3QixTQUFTLENBQUM7UUFHM0MsV0FBTSxHQUFHLElBQUksQ0FBQztRQUdkLFlBQU8sR0FBRyx3QkFBd0IsQ0FBQztRQVNuQyx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFFOUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQix1QkFBa0IsR0FBNkMsSUFBSSxDQUFDO0lBSTVFLENBQUM7SUFJTSxhQUFhLENBQUMsTUFBYTtRQUU5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUlNLFlBQVksQ0FBQyxNQUFhO1FBRTdCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsT0FBc0I7UUFFckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENB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a0I7bUdBQWxCLGtCQUFrQjtBQWlDM0I7SUFEQyxRQUFRLEVBQUU7dURBS1Y7QUFJRDtJQURDLEtBQUssRUFBRTtzREFJUDsyRkE1Q1Esa0JBQWtCO2tCQUQ5QixTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDO2lJQUk1QixHQUFHO3NCQURULEtBQUs7dUJBQUMsY0FBYztnQkFJZCxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLE9BQU87c0JBRGIsV0FBVzt1QkFBQyxLQUFLO2dCQUlYLGdCQUFnQjtzQkFEdEIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBSXRCLGlCQUFpQjtzQkFEdkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSXZCLGtCQUFrQjtzQkFEeEIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBYXhCLGFBQWE7c0JBRm5CLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVsQyxZQUFZO3NCQUZsQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOdW1iZXJVdGlsc30gZnJvbSAnLi4vdXRpbC9udW1iZXItdXRpbHMnO1xuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSAnLi4vdXRpbC9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHtEZWJvdW5jZX0gZnJvbSAnLi4vbWV0aG9kZGVjb3JhdG9yL2RlYm91bmNlJztcbmltcG9ydCB7TGltaXR9IGZyb20gJy4uL21ldGhvZGRlY29yYXRvci9saW1pdCc7XG5cblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbZGRyTGF6eUltYWdlXSd9KVxuZXhwb3J0IGNsYXNzIExhenlJbWFnZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xue1xuICAgIEBJbnB1dCgnZGRyTGF6eUltYWdlJylcbiAgICBwdWJsaWMgc3JjITogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb2JqZWN0Rml0OiAnY292ZXInIHwgJ2NvbnRhaW4nID0gJ2NvbnRhaW4nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb2Zmc2V0ID0gMTAwMDtcblxuICAgIEBIb3N0QmluZGluZygnc3JjJylcbiAgICBwdWJsaWMgaG9zdFNyYyA9ICdhc3NldHMvcGxhY2Vob2xkZXIuZ2lmJztcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucHgnKVxuICAgIHB1YmxpYyBob3N0U3R5bGVXaWR0aFB4ITogbnVtYmVyO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIHB1YmxpYyBob3N0U3R5bGVIZWlnaHRQeCE6IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUub2JqZWN0LWZpdCcpXG4gICAgcHVibGljIGhvc3RTdHlsZU9iamVjdEZpdCA9ICdjb250YWluJztcblxuICAgIHByaXZhdGUgZGlzcGxheWVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIG1heExvYWRlZERpbWVuc2lvbjogeyB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKVxuICAgIHtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBARGVib3VuY2UoKVxuICAgIHB1YmxpYyB3aW5kb3dSZXNpemVkKCRldmVudDogRXZlbnQpOiB2b2lkXG4gICAge1xuICAgICAgICB0aGlzLmRpc3BsYXllZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNoZWNrKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgQExpbWl0KClcbiAgICBwdWJsaWMgd2luZG93U2Nyb2xsKCRldmVudDogRXZlbnQpOiB2b2lkXG4gICAge1xuICAgICAgICB0aGlzLmNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkXG4gICAge1xuICAgICAgICB0aGlzLmRpc3BsYXllZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1heExvYWRlZERpbWVuc2lvbiA9IG51bGw7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrKCk6IHZvaWRcbiAgICB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5kb0NoZWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZG9DaGVjaygpLCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZG9DaGVjaygpOiB2b2lkXG4gICAge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5ZWQgfHwgdGhpcy5pc0hpZGRlbih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzSW5zaWRlVmlld3BvcnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMub2Zmc2V0KSkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWQgPSB0cnVlO1xuICAgICAgICAgICAgY29uc3QgZGltZW5zaW9uID0gdGhpcy5nZXREaW1lbnNpb24oKTtcbiAgICAgICAgICAgIHRoaXMuaG9zdFN0eWxlV2lkdGhQeCA9IGRpbWVuc2lvbi53aWR0aDtcbiAgICAgICAgICAgIHRoaXMuaG9zdFN0eWxlSGVpZ2h0UHggPSBkaW1lbnNpb24uaGVpZ2h0O1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5tYXhMb2FkZWREaW1lbnNpb24gIT0gbnVsbFxuICAgICAgICAgICAgICAgICYmIHRoaXMubWF4TG9hZGVkRGltZW5zaW9uIS53aWR0aCA+PSBkaW1lbnNpb24ud2lkdGhcbiAgICAgICAgICAgICAgICAmJiB0aGlzLm1heExvYWRlZERpbWVuc2lvbiEuaGVpZ2h0ID49IGRpbWVuc2lvbi5oZWlnaHRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdoYXMgc21hbGxlciBkaW1lbnNpb24nKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubWF4TG9hZGVkRGltZW5zaW9uID0gZGltZW5zaW9uO1xuXG4gICAgICAgICAgICBsZXQgd2FudGVkU2l6ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9iamVjdEZpdCA9PT0gJ2NvdmVyJykge1xuICAgICAgICAgICAgICAgIHdhbnRlZFNpemUgPSBOdW1iZXJVdGlscy5nZXROZXh0UG93ZXJPZlR3byhNYXRoLm1heChkaW1lbnNpb24ud2lkdGgsIGRpbWVuc2lvbi5oZWlnaHQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RTdHlsZU9iamVjdEZpdCA9ICdjb3Zlcic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdhbnRlZFNpemUgPSBOdW1iZXJVdGlscy5nZXROZXh0UG93ZXJPZlR3byhNYXRoLm1pbihkaW1lbnNpb24ud2lkdGgsIGRpbWVuc2lvbi5oZWlnaHQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RTdHlsZU9iamVjdEZpdCA9ICdjb250YWluJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaG9zdFNyYyA9IFN0cmluZ1V0aWxzLnVwZGF0ZVVybFBhcmFtZXRlcih0aGlzLnNyYywgJ3NpemUnLCBTdHJpbmcod2FudGVkU2l6ZSkpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNJbnNpZGVWaWV3cG9ydChlbGVtZW50OiBIVE1MRWxlbWVudCwgdGhyZXNob2xkOiBudW1iZXIpOiBib29sZWFuXG4gICAge1xuICAgICAgICBjb25zdCBvd25lckRvY3VtZW50ID0gZWxlbWVudC5vd25lckRvY3VtZW50O1xuICAgICAgICBjb25zdCBkb2N1bWVudFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBvd25lckRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO1xuICAgICAgICBjb25zdCBkb2N1bWVudExlZnQgPSB3aW5kb3cucGFnZVhPZmZzZXQgfHwgb3duZXJEb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7XG5cbiAgICAgICAgY29uc3QgZG9jdW1lbnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIHx8IChvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKTtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgKG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCk7XG4gICAgICAgIGNvbnN0IHRvcE9mZnNldCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgZG9jdW1lbnRUb3AgLSBvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRUb3A7XG4gICAgICAgIGNvbnN0IGxlZnRPZmZzZXQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgKyBkb2N1bWVudExlZnQgLSBvd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRMZWZ0O1xuXG4gICAgICAgIGNvbnN0IGlzQmVsb3dWaWV3cG9ydCA9IGRvY3VtZW50SGVpZ2h0ICsgZG9jdW1lbnRUb3AgPD0gdG9wT2Zmc2V0IC0gdGhyZXNob2xkO1xuICAgICAgICBjb25zdCBpc0F0UmlnaHRPZlZpZXdwb3J0ID0gZG9jdW1lbnRXaWR0aCArIHdpbmRvdy5wYWdlWE9mZnNldCA8PSBsZWZ0T2Zmc2V0IC0gdGhyZXNob2xkO1xuICAgICAgICBjb25zdCBpc0Fib3ZlVmlld3BvcnQgPSBkb2N1bWVudFRvcCA+PSB0b3BPZmZzZXQgKyB0aHJlc2hvbGQgKyBlbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgaXNBdExlZnRPZlZpZXdwb3J0ID0gZG9jdW1lbnRMZWZ0ID49IGxlZnRPZmZzZXQgKyB0aHJlc2hvbGQgKyBlbGVtZW50Lm9mZnNldFdpZHRoO1xuXG4gICAgICAgIHJldHVybiAhaXNCZWxvd1ZpZXdwb3J0ICYmICFpc0Fib3ZlVmlld3BvcnQgJiYgIWlzQXRSaWdodE9mVmlld3BvcnQgJiYgIWlzQXRMZWZ0T2ZWaWV3cG9ydDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERpbWVuc2lvbigpOiB7IHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyIH1cbiAgICB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aWR0aDogdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0hpZGRlbihlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW5cbiAgICB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5kaXNwbGF5ID09PSAnbm9uZSc7XG4gICAgfVxufVxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./jwt.service";
|
|
4
|
-
export class JwtInterceptor {
|
|
5
|
-
constructor(jwtService) {
|
|
6
|
-
this.jwtService = jwtService;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* @override
|
|
10
|
-
*/
|
|
11
|
-
intercept(req, next) {
|
|
12
|
-
const token = this.jwtService.getToken();
|
|
13
|
-
if (null !== token && !this.jwtService.isExpired()) {
|
|
14
|
-
req = req.clone({
|
|
15
|
-
headers: req.headers.set('Authorization', 'Bearer ' + token)
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
return next.handle(req);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtInterceptor, deps: [{ token: i1.JwtService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
-
JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtInterceptor });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtInterceptor, decorators: [{
|
|
24
|
-
type: Injectable
|
|
25
|
-
}], ctorParameters: function () { return [{ type: i1.JwtService }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LWludGVyY2VwdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvand0L2p3dC1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQUt6QyxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRTFDLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBRXJELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekMsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNoRCxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDWixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDL0QsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7MkdBcEJRLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Snd0U2VydmljZX0gZnJvbSAnLi9qd3Quc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKd3RJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvclxue1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSlcbiAgICB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj5cbiAgICB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5qd3RTZXJ2aWNlLmdldFRva2VuKCk7XG5cbiAgICAgICAgaWYgKG51bGwgIT09IHRva2VuICYmICF0aGlzLmp3dFNlcnZpY2UuaXNFeHBpcmVkKCkpIHtcbiAgICAgICAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgJ0JlYXJlciAnICsgdG9rZW4pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { throwError } from 'rxjs';
|
|
2
|
-
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { catchError, map, shareReplay, switchMap } from 'rxjs/operators';
|
|
4
|
-
import { DDR_JWT_REFRESH_TOKEN_URL } from '../ddr-extensions.module';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./jwt.service";
|
|
7
|
-
import * as i2 from "@angular/common/http";
|
|
8
|
-
export class JwtRefreshTokenInterceptor {
|
|
9
|
-
constructor(jwtService, httpClient, jwtRefreshTokenUrl) {
|
|
10
|
-
this.jwtService = jwtService;
|
|
11
|
-
this.httpClient = httpClient;
|
|
12
|
-
this.jwtRefreshTokenUrl = jwtRefreshTokenUrl;
|
|
13
|
-
this.refreshTokenRequest$ = null;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @override
|
|
17
|
-
*/
|
|
18
|
-
intercept(req, next) {
|
|
19
|
-
if (this.jwtService.isAboutToExpire() && !(req.url === this.jwtRefreshTokenUrl)) {
|
|
20
|
-
const refreshToken = this.jwtService.getRefreshToken();
|
|
21
|
-
if (null != refreshToken) {
|
|
22
|
-
return this.getRefreshTokenRequest(refreshToken).pipe(switchMap(() => next.handle(req)));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return next.handle(req);
|
|
26
|
-
}
|
|
27
|
-
getRefreshTokenRequest(refreshToken) {
|
|
28
|
-
if (null == this.refreshTokenRequest$) {
|
|
29
|
-
this.refreshTokenRequest$ = this.httpClient.post(this.jwtRefreshTokenUrl, { refresh_token: refreshToken }).pipe(map(response => {
|
|
30
|
-
this.jwtService.setTokens(response.token, response.refresh_token);
|
|
31
|
-
this.refreshTokenRequest$ = null;
|
|
32
|
-
return response;
|
|
33
|
-
}), catchError(error => {
|
|
34
|
-
this.jwtService.clear();
|
|
35
|
-
this.refreshTokenRequest$ = null;
|
|
36
|
-
return throwError(error);
|
|
37
|
-
}), shareReplay(1));
|
|
38
|
-
}
|
|
39
|
-
return this.refreshTokenRequest$;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
JwtRefreshTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtRefreshTokenInterceptor, deps: [{ token: i1.JwtService }, { token: i2.HttpClient }, { token: DDR_JWT_REFRESH_TOKEN_URL }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
-
JwtRefreshTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtRefreshTokenInterceptor });
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtRefreshTokenInterceptor, decorators: [{
|
|
45
|
-
type: Injectable
|
|
46
|
-
}], ctorParameters: function () { return [{ type: i1.JwtService }, { type: i2.HttpClient }, { type: undefined, decorators: [{
|
|
47
|
-
type: Inject,
|
|
48
|
-
args: [DDR_JWT_REFRESH_TOKEN_URL]
|
|
49
|
-
}] }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LXJlZnJlc2gtdG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9qd3Qvand0LXJlZnJlc2gtdG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWEsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUduRSxNQUFNLE9BQU8sMEJBQTBCO0lBSW5DLFlBQ1ksVUFBc0IsRUFDdEIsVUFBc0IsRUFDYSxrQkFBMEI7UUFGN0QsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2EsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFRO1FBTGpFLHlCQUFvQixHQUF3QyxJQUFJLENBQUM7SUFRekUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFFckQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQzdFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkQsSUFBSSxJQUFJLElBQUksWUFBWSxFQUFFO2dCQUN0QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ2pELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3BDLENBQUM7YUFDTDtTQUNKO1FBR0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxZQUFvQjtRQUUvQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFtQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztnQkFDakMsT0FBTyxRQUFRLENBQUM7WUFDcEIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzVCLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQzs7dUhBakRRLDBCQUEwQixzRUFPdkIseUJBQXlCOzJIQVA1QiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVTs7MEJBUUYsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3R9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtKd3RUb2tlblJlc3BvbnNlfSBmcm9tICcuL2p3dC10b2tlbi1yZXNwb25zZSc7XG5pbXBvcnQge0p3dFNlcnZpY2V9IGZyb20gJy4vand0LnNlcnZpY2UnO1xuaW1wb3J0IHtERFJfSldUX1JFRlJFU0hfVE9LRU5fVVJMfSBmcm9tICcuLi9kZHItZXh0ZW5zaW9ucy5tb2R1bGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSnd0UmVmcmVzaFRva2VuSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3JcbntcbiAgICBwcml2YXRlIHJlZnJlc2hUb2tlblJlcXVlc3QkOiBPYnNlcnZhYmxlPEp3dFRva2VuUmVzcG9uc2U+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgIEBJbmplY3QoRERSX0pXVF9SRUZSRVNIX1RPS0VOX1VSTCkgcHJpdmF0ZSBqd3RSZWZyZXNoVG9rZW5Vcmw6IHN0cmluZ1xuICAgIClcbiAgICB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj5cbiAgICB7XG4gICAgICAgIGlmICh0aGlzLmp3dFNlcnZpY2UuaXNBYm91dFRvRXhwaXJlKCkgJiYgIShyZXEudXJsID09PSB0aGlzLmp3dFJlZnJlc2hUb2tlblVybCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMuand0U2VydmljZS5nZXRSZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgICAgIGlmIChudWxsICE9IHJlZnJlc2hUb2tlbikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJlZnJlc2hUb2tlblJlcXVlc3QocmVmcmVzaFRva2VuKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbmV4dC5oYW5kbGUocmVxKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlZnJlc2hUb2tlblJlcXVlc3QocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEp3dFRva2VuUmVzcG9uc2U+XG4gICAge1xuICAgICAgICBpZiAobnVsbCA9PSB0aGlzLnJlZnJlc2hUb2tlblJlcXVlc3QkKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlblJlcXVlc3QkID0gdGhpcy5odHRwQ2xpZW50LnBvc3Q8Snd0VG9rZW5SZXNwb25zZT4odGhpcy5qd3RSZWZyZXNoVG9rZW5VcmwsIHtyZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW59KS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuand0U2VydmljZS5zZXRUb2tlbnMocmVzcG9uc2UudG9rZW4sIHJlc3BvbnNlLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlblJlcXVlc3QkID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmp3dFNlcnZpY2UuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5SZXF1ZXN0JCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuUmVxdWVzdCQ7XG4gICAgfVxufVxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Logger } from './logger.service';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ConsoleLogger extends Logger {
|
|
5
|
-
/**
|
|
6
|
-
* @override
|
|
7
|
-
*/
|
|
8
|
-
debug(...data) {
|
|
9
|
-
if (this.debugEnabled) {
|
|
10
|
-
console.debug(...data);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @override
|
|
15
|
-
*/
|
|
16
|
-
info(...data) {
|
|
17
|
-
if (this.infoEnabled) {
|
|
18
|
-
console.info(...data);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @override
|
|
23
|
-
*/
|
|
24
|
-
warn(...data) {
|
|
25
|
-
if (this.warnEnabled) {
|
|
26
|
-
console.warn(...data);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* @override
|
|
31
|
-
*/
|
|
32
|
-
error(...data) {
|
|
33
|
-
if (this.errorEnabled) {
|
|
34
|
-
console.error(...data);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ConsoleLogger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ConsoleLogger, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
-
ConsoleLogger.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ConsoleLogger });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ConsoleLogger, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2dnZXIvY29uc29sZS1sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLGFBQWMsU0FBUSxNQUFNO0lBRXJDOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEdBQUcsSUFBVztRQUV2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSSxDQUFDLEdBQUcsSUFBVztRQUV0QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSSxDQUFDLEdBQUcsSUFBVztRQUV0QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEdBQUcsSUFBVztRQUV2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQzs7MEdBeENRLGFBQWE7OEdBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbnNvbGVMb2dnZXIgZXh0ZW5kcyBMb2dnZXJcbntcbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVidWcoLi4uZGF0YTogYW55W10pOiB2b2lkXG4gICAge1xuICAgICAgICBpZiAodGhpcy5kZWJ1Z0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoLi4uZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5mbyguLi5kYXRhOiBhbnlbXSk6IHZvaWRcbiAgICB7XG4gICAgICAgIGlmICh0aGlzLmluZm9FbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmluZm8oLi4uZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgd2FybiguLi5kYXRhOiBhbnlbXSk6IHZvaWRcbiAgICB7XG4gICAgICAgIGlmICh0aGlzLndhcm5FbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oLi4uZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IoLi4uZGF0YTogYW55W10pOiB2b2lkXG4gICAge1xuICAgICAgICBpZiAodGhpcy5lcnJvckVuYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoLi4uZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function Limit(rate = 250) {
|
|
2
|
-
let timeoutReference = null;
|
|
3
|
-
return (target, propertyKey, descriptor) => {
|
|
4
|
-
const original = descriptor.value;
|
|
5
|
-
descriptor.value = function (...args) {
|
|
6
|
-
if (null == timeoutReference) {
|
|
7
|
-
timeoutReference = setTimeout(() => {
|
|
8
|
-
original.apply(this, args);
|
|
9
|
-
timeoutReference = undefined;
|
|
10
|
-
}, rate);
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
return descriptor;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGltaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWV0aG9kZGVjb3JhdG9yL2xpbWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBZSxHQUFHO0lBRXBDLElBQUksZ0JBQWdCLEdBQVEsSUFBSSxDQUFDO0lBRWpDLE9BQU8sQ0FBQyxNQUFjLEVBQUUsV0FBNEIsRUFBRSxVQUF3QyxFQUFFLEVBQUU7UUFDOUYsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNsQyxVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFTO1lBQ3JDLElBQUksSUFBSSxJQUFJLGdCQUFnQixFQUFFO2dCQUMxQixnQkFBZ0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUMvQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDM0IsZ0JBQWdCLEdBQUcsU0FBUyxDQUFBO2dCQUNoQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDWjtRQUNMLENBQUMsQ0FBQztRQUVGLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gTGltaXQocmF0ZTogbnVtYmVyID0gMjUwKTogTWV0aG9kRGVjb3JhdG9yXG57XG4gICAgbGV0IHRpbWVvdXRSZWZlcmVuY2U6IGFueSA9IG51bGw7XG5cbiAgICByZXR1cm4gKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSA9PiB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnkpIHtcbiAgICAgICAgICAgIGlmIChudWxsID09IHRpbWVvdXRSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICB0aW1lb3V0UmVmZXJlbmNlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICB0aW1lb3V0UmVmZXJlbmNlID0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfSwgcmF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./oauth2.service";
|
|
4
|
-
export class OAuth2AccessTokenInterceptor {
|
|
5
|
-
constructor(oAuth2Service) {
|
|
6
|
-
this.oAuth2Service = oAuth2Service;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* @override
|
|
10
|
-
*/
|
|
11
|
-
intercept(req, next) {
|
|
12
|
-
const accessTokenString = this.oAuth2Service.getAccessTokenString();
|
|
13
|
-
if (null !== accessTokenString && !this.oAuth2Service.isAccessTokenExpired()) {
|
|
14
|
-
req = req.clone({
|
|
15
|
-
headers: req.headers.set('Authorization', 'Bearer ' + accessTokenString)
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
return next.handle(req);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
OAuth2AccessTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OAuth2AccessTokenInterceptor, deps: [{ token: i1.OAuth2Service }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
-
OAuth2AccessTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OAuth2AccessTokenInterceptor });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OAuth2AccessTokenInterceptor, decorators: [{
|
|
24
|
-
type: Injectable
|
|
25
|
-
}], ctorParameters: function () { return [{ type: i1.OAuth2Service }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgyLWFjY2Vzcy10b2tlbi1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL29hdXRoL29hdXRoMi1hY2Nlc3MtdG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFLekMsTUFBTSxPQUFPLDRCQUE0QjtJQUVyQyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUVoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUVyRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUVwRSxJQUFJLElBQUksS0FBSyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtZQUMxRSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDWixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQzthQUMzRSxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzt5SEFwQlEsNEJBQTRCOzZIQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge09BdXRoMlNlcnZpY2V9IGZyb20gJy4vb2F1dGgyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT0F1dGgyQWNjZXNzVG9rZW5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvclxue1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgb0F1dGgyU2VydmljZTogT0F1dGgyU2VydmljZSlcbiAgICB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj5cbiAgICB7XG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuU3RyaW5nID0gdGhpcy5vQXV0aDJTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuU3RyaW5nKCk7XG5cbiAgICAgICAgaWYgKG51bGwgIT09IGFjY2Vzc1Rva2VuU3RyaW5nICYmICF0aGlzLm9BdXRoMlNlcnZpY2UuaXNBY2Nlc3NUb2tlbkV4cGlyZWQoKSkge1xuICAgICAgICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcgKyBhY2Nlc3NUb2tlblN0cmluZylcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export class OAuth2Error extends Error {
|
|
2
|
-
constructor(error) {
|
|
3
|
-
super(error);
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
OAuth2Error.CODE_NOT_FOUND = 'code_not_found';
|
|
7
|
-
OAuth2Error.ACCESS_DENIED = 'access_denied';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgyLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL29hdXRoL29hdXRoMi1lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFNbEMsWUFBWSxLQUFhO1FBRXJCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQixDQUFDOztBQVBzQiwwQkFBYyxHQUFHLGdCQUFnQixDQUFDO0FBRWxDLHlCQUFhLEdBQUcsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9BdXRoMkVycm9yIGV4dGVuZHMgRXJyb3JcbntcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPREVfTk9UX0ZPVU5EID0gJ2NvZGVfbm90X2ZvdW5kJztcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUNDRVNTX0RFTklFRCA9ICdhY2Nlc3NfZGVuaWVkJztcblxuICAgIGNvbnN0cnVjdG9yKGVycm9yOiBzdHJpbmcpXG4gICAge1xuICAgICAgICBzdXBlcihlcnJvcik7XG4gICAgfVxufVxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { switchMap } from 'rxjs/operators';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./oauth2.service";
|
|
5
|
-
export class OAuth2RefreshTokenInterceptor {
|
|
6
|
-
constructor(oAuth2Service) {
|
|
7
|
-
this.oAuth2Service = oAuth2Service;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* @override
|
|
11
|
-
*/
|
|
12
|
-
intercept(req, next) {
|
|
13
|
-
if (this.oAuth2Service.isRefreshPossibleAndRequired(req)) {
|
|
14
|
-
return this.oAuth2Service.performRefresh().pipe(switchMap(() => next.handle(req)));
|
|
15
|
-
}
|
|
16
|
-
return next.handle(req);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
OAuth2RefreshTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OAuth2RefreshTokenInterceptor, deps: [{ token: i1.OAuth2Service }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
-
OAuth2RefreshTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OAuth2RefreshTokenInterceptor });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: OAuth2RefreshTokenInterceptor, decorators: [{
|
|
22
|
-
type: Injectable
|
|
23
|
-
}], ctorParameters: function () { return [{ type: i1.OAuth2Service }]; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgyLXJlZnJlc2gtdG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9vYXV0aC9vYXV0aDItcmVmcmVzaC10b2tlbi1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFJekMsTUFBTSxPQUFPLDZCQUE2QjtJQUV0QyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUVoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUVyRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDcEMsQ0FBQztTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzBIQWxCUSw2QkFBNkI7OEhBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09BdXRoMlNlcnZpY2V9IGZyb20gJy4vb2F1dGgyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT0F1dGgyUmVmcmVzaFRva2VuSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3JcbntcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9BdXRoMlNlcnZpY2U6IE9BdXRoMlNlcnZpY2UpXG4gICAge1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBvdmVycmlkZVxuICAgICAqL1xuICAgIHB1YmxpYyBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+XG4gICAge1xuICAgICAgICBpZiAodGhpcy5vQXV0aDJTZXJ2aWNlLmlzUmVmcmVzaFBvc3NpYmxlQW5kUmVxdWlyZWQocmVxKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5wZXJmb3JtUmVmcmVzaCgpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IG5leHQuaGFuZGxlKHJlcSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxufVxuIl19
|