@dontdrinkandroot/ngx-extensions 0.0.5 → 0.2.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/{esm2015/dontdrinkandroot-ngx-extensions.js → esm2020/dontdrinkandroot-ngx-extensions.mjs} +1 -1
- package/esm2020/public-api.mjs +24 -0
- package/esm2020/src/cookie/cookie.service.mjs +135 -0
- package/esm2020/src/ddr-extensions.module.mjs +40 -0
- package/esm2020/src/http/redirect-to-login-interceptor.service.mjs +35 -0
- package/esm2020/src/http/url-info.mjs +26 -0
- package/esm2020/src/http/with-credentials-interceptor.service.mjs +19 -0
- package/esm2020/src/image/lazy-image.directive.mjs +132 -0
- package/esm2020/src/jwt/jwt-interceptor.service.mjs +26 -0
- package/esm2020/src/jwt/jwt-refresh-token-interceptor.service.mjs +50 -0
- package/esm2020/src/jwt/jwt-token-response.mjs +2 -0
- package/esm2020/src/jwt/jwt.service.mjs +82 -0
- package/esm2020/src/methoddecorator/debounce.mjs +13 -0
- package/esm2020/src/methoddecorator/limit.mjs +16 -0
- package/esm2020/src/scroll/bottom-hit.directive.mjs +60 -0
- package/esm2020/src/scroll/scroll.service.mjs +38 -0
- package/esm2020/src/util/collection-utils.mjs +27 -0
- package/esm2020/src/util/number-utils.mjs +10 -0
- package/esm2020/src/util/object-utils.mjs +9 -0
- package/esm2020/src/util/string-utils.mjs +35 -0
- package/esm2020/src/util/type-utils.mjs +9 -0
- package/esm2020/src/visibility/visibility.service.mjs +19 -0
- package/fesm2015/dontdrinkandroot-ngx-extensions.mjs +760 -0
- package/fesm2015/dontdrinkandroot-ngx-extensions.mjs.map +1 -0
- package/{fesm2015/dontdrinkandroot-ngx-extensions.js → fesm2020/dontdrinkandroot-ngx-extensions.mjs} +210 -154
- package/fesm2020/dontdrinkandroot-ngx-extensions.mjs.map +1 -0
- package/{dontdrinkandroot-ngx-extensions.d.ts → index.d.ts} +1 -0
- package/package.json +23 -11
- package/public-api.d.ts +1 -0
- package/src/cookie/cookie.service.d.ts +5 -2
- package/src/ddr-extensions.module.d.ts +6 -0
- package/src/http/redirect-to-login-interceptor.service.d.ts +4 -1
- package/src/http/url-info.d.ts +8 -7
- package/src/http/with-credentials-interceptor.service.d.ts +3 -0
- package/src/image/lazy-image.directive.d.ts +4 -1
- package/src/jwt/jwt-interceptor.service.d.ts +3 -0
- package/src/jwt/jwt-refresh-token-interceptor.service.d.ts +3 -0
- package/src/jwt/jwt.service.d.ts +3 -0
- package/src/scroll/bottom-hit.directive.d.ts +3 -0
- package/src/scroll/scroll.service.d.ts +3 -0
- package/src/util/collection-utils.d.ts +2 -4
- package/src/util/object-utils.d.ts +1 -0
- package/src/util/type-utils.d.ts +3 -0
- package/src/visibility/visibility.service.d.ts +3 -0
- package/bundles/dontdrinkandroot-ngx-extensions.umd.js +0 -1088
- package/bundles/dontdrinkandroot-ngx-extensions.umd.js.map +0 -1
- package/bundles/dontdrinkandroot-ngx-extensions.umd.min.js +0 -16
- package/bundles/dontdrinkandroot-ngx-extensions.umd.min.js.map +0 -1
- package/dontdrinkandroot-ngx-extensions.metadata.json +0 -1
- package/esm2015/public-api.js +0 -23
- package/esm2015/src/cookie/cookie.service.js +0 -136
- package/esm2015/src/ddr-extensions.module.js +0 -28
- package/esm2015/src/http/redirect-to-login-interceptor.service.js +0 -33
- package/esm2015/src/http/url-info.js +0 -26
- package/esm2015/src/http/with-credentials-interceptor.service.js +0 -16
- package/esm2015/src/image/lazy-image.directive.js +0 -118
- package/esm2015/src/jwt/jwt-interceptor.service.js +0 -26
- package/esm2015/src/jwt/jwt-refresh-token-interceptor.service.js +0 -50
- package/esm2015/src/jwt/jwt-token-response.js +0 -2
- package/esm2015/src/jwt/jwt.service.js +0 -73
- package/esm2015/src/methoddecorator/debounce.js +0 -12
- package/esm2015/src/methoddecorator/limit.js +0 -16
- package/esm2015/src/scroll/bottom-hit.directive.js +0 -53
- package/esm2015/src/scroll/scroll.service.js +0 -39
- package/esm2015/src/util/collection-utils.js +0 -29
- package/esm2015/src/util/number-utils.js +0 -10
- package/esm2015/src/util/object-utils.js +0 -6
- package/esm2015/src/util/string-utils.js +0 -35
- package/esm2015/src/visibility/visibility.service.js +0 -18
- package/fesm2015/dontdrinkandroot-ngx-extensions.js.map +0 -1
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
// This service is based on the `ng2-cookies` package which sadly is not a service and does
|
|
2
|
-
// not use `DOCUMENT` injection and therefore doesn't work well with AoT production builds.
|
|
3
|
-
// Package: https://github.com/BCJTI/ng2-cookies
|
|
4
|
-
import { Inject, Injectable } from '@angular/core';
|
|
5
|
-
import { DOCUMENT } from '@angular/common';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
export class CookieService {
|
|
9
|
-
constructor(
|
|
10
|
-
// The type `Document` may not be used here. Although a fix is on its way,
|
|
11
|
-
// we will go with `any` for now to support Angular 2.4.x projects.
|
|
12
|
-
// Issue: https://github.com/angular/angular/issues/12631
|
|
13
|
-
// Fix: https://github.com/angular/angular/pull/14894
|
|
14
|
-
document) {
|
|
15
|
-
this.document = document;
|
|
16
|
-
// To avoid issues with server side prerendering, check if `document` is defined.
|
|
17
|
-
this.documentIsAccessible = document !== undefined;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @param name Cookie name
|
|
21
|
-
*/
|
|
22
|
-
check(name) {
|
|
23
|
-
if (!this.documentIsAccessible) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
name = encodeURIComponent(name);
|
|
27
|
-
const regExp = this.getCookieRegExp(name);
|
|
28
|
-
return regExp.test(this.document.cookie);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @param name Cookie name
|
|
32
|
-
*/
|
|
33
|
-
get(name) {
|
|
34
|
-
if (this.documentIsAccessible && this.check(name)) {
|
|
35
|
-
name = encodeURIComponent(name);
|
|
36
|
-
const regExp = this.getCookieRegExp(name);
|
|
37
|
-
const result = regExp.exec(this.document.cookie);
|
|
38
|
-
return decodeURIComponent(result[1]);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return '';
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
getAll() {
|
|
45
|
-
if (!this.documentIsAccessible) {
|
|
46
|
-
return {};
|
|
47
|
-
}
|
|
48
|
-
const cookies = {};
|
|
49
|
-
const document = this.document;
|
|
50
|
-
if (document.cookie && document.cookie !== '') {
|
|
51
|
-
const split = document.cookie.split(';');
|
|
52
|
-
for (let i = 0; i < split.length; i += 1) {
|
|
53
|
-
const currentCookie = split[i].split('=');
|
|
54
|
-
currentCookie[0] = currentCookie[0].replace(/^ /, '');
|
|
55
|
-
cookies[decodeURIComponent(currentCookie[0])] = decodeURIComponent(currentCookie[1]);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return cookies;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* @param name Cookie name
|
|
62
|
-
* @param value Cookie value
|
|
63
|
-
* @param expires Number of days until the cookies expires or an actual `Date`
|
|
64
|
-
* @param path Cookie path
|
|
65
|
-
* @param domain Cookie domain
|
|
66
|
-
* @param secure Secure flag
|
|
67
|
-
*/
|
|
68
|
-
set(name, value, expires, path, domain, secure) {
|
|
69
|
-
if (!this.documentIsAccessible) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
let cookieString = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';
|
|
73
|
-
if (expires) {
|
|
74
|
-
if (typeof expires === 'number') {
|
|
75
|
-
const dateExpires = new Date(new Date().getTime() + expires * 1000 * 60 * 60 * 24);
|
|
76
|
-
cookieString += 'expires=' + dateExpires.toUTCString() + ';';
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
cookieString += 'expires=' + expires.toUTCString() + ';';
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (path) {
|
|
83
|
-
cookieString += 'path=' + path + ';';
|
|
84
|
-
}
|
|
85
|
-
if (domain) {
|
|
86
|
-
cookieString += 'domain=' + domain + ';';
|
|
87
|
-
}
|
|
88
|
-
if (secure) {
|
|
89
|
-
cookieString += 'secure;';
|
|
90
|
-
}
|
|
91
|
-
this.document.cookie = cookieString;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @param name Cookie name
|
|
95
|
-
* @param path Cookie path
|
|
96
|
-
* @param domain Cookie domain
|
|
97
|
-
*/
|
|
98
|
-
delete(name, path, domain) {
|
|
99
|
-
if (!this.documentIsAccessible) {
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
this.set(name, '', -1, path, domain);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* @param path Cookie path
|
|
106
|
-
* @param domain Cookie domain
|
|
107
|
-
*/
|
|
108
|
-
deleteAll(path, domain) {
|
|
109
|
-
if (!this.documentIsAccessible) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const cookies = this.getAll();
|
|
113
|
-
for (const cookieName in cookies) {
|
|
114
|
-
if (cookies.hasOwnProperty(cookieName)) {
|
|
115
|
-
this.delete(cookieName, path, domain);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* @param name Cookie name
|
|
121
|
-
*/
|
|
122
|
-
getCookieRegExp(name) {
|
|
123
|
-
const escapedName = name.replace(/([\[\]\{\}\(\)\|\=\;\+\?\,\.\*\^\$])/ig, '\\$1');
|
|
124
|
-
return new RegExp('(?:^' + escapedName + '|;\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
CookieService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.ɵɵinject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
|
|
128
|
-
CookieService.decorators = [
|
|
129
|
-
{ type: Injectable, args: [{
|
|
130
|
-
providedIn: 'root'
|
|
131
|
-
},] }
|
|
132
|
-
];
|
|
133
|
-
CookieService.ctorParameters = () => [
|
|
134
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
135
|
-
];
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vIiwic291cmNlcyI6WyJzcmMvY29va2llL2Nvb2tpZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJGQUEyRjtBQUMzRiwyRkFBMkY7QUFDM0YsZ0RBQWdEO0FBRWhELE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBS3pDLE1BQU0sT0FBTyxhQUFhO0lBSXRCO0lBQ0ksMEVBQTBFO0lBQzFFLG1FQUFtRTtJQUNuRSx5REFBeUQ7SUFDekQscURBQXFEO0lBQzNCLFFBQWE7UUFBYixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBR3ZDLGlGQUFpRjtRQUNqRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxLQUFLLFNBQVMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBWTtRQUVkLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDNUIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsTUFBTSxNQUFNLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsSUFBWTtRQUVaLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0MsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWhDLE1BQU0sTUFBTSxHQUFXLElBQUksQ0FBQyxlQUFlLENBQUMs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QUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFhLEVBQUUsTUFBZTtRQUVwQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVCLE9BQU87U0FDVjtRQUVELE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVuQyxLQUFLLE1BQU0sVUFBVSxJQUFJLE9BQU8sRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN6QztTQUNKO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLElBQVk7UUFFaEMsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzRixPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxXQUFXLEdBQUcsUUFBUSxHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RixDQUFDOzs7O1lBbktKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7OzRDQVVRLE1BQU0sU0FBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBzZXJ2aWNlIGlzIGJhc2VkIG9uIHRoZSBgbmcyLWNvb2tpZXNgIHBhY2thZ2Ugd2hpY2ggc2FkbHkgaXMgbm90IGEgc2VydmljZSBhbmQgZG9lc1xuLy8gbm90IHVzZSBgRE9DVU1FTlRgIGluamVjdGlvbiBhbmQgdGhlcmVmb3JlIGRvZXNuJ3Qgd29yayB3ZWxsIHdpdGggQW9UIHByb2R1Y3Rpb24gYnVpbGRzLlxuLy8gUGFja2FnZTogaHR0cHM6Ly9naXRodWIuY29tL0JDSlRJL25nMi1jb29raWVzXG5cbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZVxue1xuICAgIHByaXZhdGUgZG9jdW1lbnRJc0FjY2Vzc2libGU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLy8gVGhlIHR5cGUgYERvY3VtZW50YCBtYXkgbm90IGJlIHVzZWQgaGVyZS4gQWx0aG91Z2ggYSBmaXggaXMgb24gaXRzIHdheSxcbiAgICAgICAgLy8gd2Ugd2lsbCBnbyB3aXRoIGBhbnlgIGZvciBub3cgdG8gc3VwcG9ydCBBbmd1bGFyIDIuNC54IHByb2plY3RzLlxuICAgICAgICAvLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTI2MzFcbiAgICAgICAgLy8gRml4OiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL3B1bGwvMTQ4OTRcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55XG4gICAgKVxuICAgIHtcbiAgICAgICAgLy8gVG8gYXZvaWQgaXNzdWVzIHdpdGggc2VydmVyIHNpZGUgcHJlcmVuZGVyaW5nLCBjaGVjayBpZiBgZG9jdW1lbnRgIGlzIGRlZmluZWQuXG4gICAgICAgIHRoaXMuZG9jdW1lbnRJc0FjY2Vzc2libGUgPSBkb2N1bWVudCAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBuYW1lIENvb2tpZSBuYW1lXG4gICAgICovXG4gICAgY2hlY2sobmFtZTogc3RyaW5nKTogYm9vbGVhblxuICAgIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50SXNBY2Nlc3NpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xuXG4gICAgICAgIGNvbnN0IHJlZ0V4cDogUmVnRXhwID0gdGhpcy5nZXRDb29raWVSZWdFeHAobmFtZSk7XG4gICAgICAgIHJldHVybiByZWdFeHAudGVzdCh0aGlzLmRvY3VtZW50LmNvb2tpZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG5hbWUgQ29va2llIG5hbWVcbiAgICAgKi9cbiAgICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nXG4gICAge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSAmJiB0aGlzLmNoZWNrKG5hbWUpKSB7XG4gICAgICAgICAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xuXG4gICAgICAgICAgICBjb25zdCByZWdFeHA6IFJlZ0V4cCA9IHRoaXMuZ2V0Q29va2llUmVnRXhwKG5hbWUpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWdFeHBFeGVjQXJyYXkgPSByZWdFeHAuZXhlYyh0aGlzLmRvY3VtZW50LmNvb2tpZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0WzFdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFsbCgpOiB7fVxuICAgIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50SXNBY2Nlc3NpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb29raWVzOiB7fSA9IHt9O1xuICAgICAgICBjb25zdCBkb2N1bWVudDogYW55ID0gdGhpcy5kb2N1bWVudDtcblxuICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llICYmIGRvY3VtZW50LmNvb2tpZSAhPT0gJycpIHtcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0OiBBcnJheTxzdHJpbmc+ID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7Jyk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3BsaXQubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50Q29va2llOiBBcnJheTxzdHJpbmc+ID0gc3BsaXRbaV0uc3BsaXQoJz0nKTtcblxuICAgICAgICAgICAgICAgIGN1cnJlbnRDb29raWVbMF0gPSBjdXJyZW50Q29va2llWzBdLnJlcGxhY2UoL14gLywgJycpO1xuICAgICAgICAgICAgICAgIGNvb2tpZXNbZGVjb2RlVVJJQ29tcG9uZW50KGN1cnJlbnRDb29raWVbMF0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChjdXJyZW50Q29va2llWzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb29raWVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBuYW1lICAgIENvb2tpZSBuYW1lXG4gICAgICogQHBhcmFtIHZhbHVlICAgQ29va2llIHZhbHVlXG4gICAgICogQHBhcmFtIGV4cGlyZXMgTnVtYmVyIG9mIGRheXMgdW50aWwgdGhlIGNvb2tpZXMgZXhwaXJlcyBvciBhbiBhY3R1YWwgYERhdGVgXG4gICAgICogQHBhcmFtIHBhdGggICAgQ29va2llIHBhdGhcbiAgICAgKiBAcGFyYW0gZG9tYWluICBDb29raWUgZG9tYWluXG4gICAgICogQHBhcmFtIHNlY3VyZSAgU2VjdXJlIGZsYWdcbiAgICAgKi9cbiAgICBzZXQoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgICAgZXhwaXJlcz86IG51bWJlciB8IERhdGUsXG4gICAgICAgIHBhdGg/OiBzdHJpbmcsXG4gICAgICAgIGRvbWFpbj86IHN0cmluZyxcbiAgICAgICAgc2VjdXJlPzogYm9vbGVhblxuICAgICk6IHZvaWRcbiAgICB7XG4gICAgICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNvb2tpZVN0cmluZzogc3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSArICc7JztcblxuICAgICAgICBpZiAoZXhwaXJlcykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHBpcmVzID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVFeHBpcmVzOiBEYXRlID0gbmV3IERhdGUobmV3IERhdGUoKS5nZXRUaW1lKCkgKyBleHBpcmVzICogMTAwMCAqIDYwICogNjAgKiAyNCk7XG5cbiAgICAgICAgICAgICAgICBjb29raWVTdHJpbmcgKz0gJ2V4cGlyZXM9JyArIGRhdGVFeHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgIGNvb2tpZVN0cmluZyArPSAncGF0aD0nICsgcGF0aCArICc7JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkb21haW4pIHtcbiAgICAgICAgICAgIGNvb2tpZVN0cmluZyArPSAnZG9tYWluPScgKyBkb21haW4gKyAnOyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VjdXJlKSB7XG4gICAgICAgICAgICBjb29raWVTdHJpbmcgKz0gJ3NlY3VyZTsnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWVTdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG5hbWUgICBDb29raWUgbmFtZVxuICAgICAqIEBwYXJhbSBwYXRoICAgQ29va2llIHBhdGhcbiAgICAgKiBAcGFyYW0gZG9tYWluIENvb2tpZSBkb21haW5cbiAgICAgKi9cbiAgICBkZWxldGUobmFtZTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkXG4gICAge1xuICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRJc0FjY2Vzc2libGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0KG5hbWUsICcnLCAtMSwgcGF0aCwgZG9tYWluKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gcGF0aCAgIENvb2tpZSBwYXRoXG4gICAgICogQHBhcmFtIGRvbWFpbiBDb29raWUgZG9tYWluXG4gICAgICovXG4gICAgZGVsZXRlQWxsKHBhdGg/OiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWRcbiAgICB7XG4gICAgICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29va2llczogYW55ID0gdGhpcy5nZXRBbGwoKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGNvb2tpZU5hbWUgaW4gY29va2llcykge1xuICAgICAgICAgICAgaWYgKGNvb2tpZXMuaGFzT3duUHJvcGVydHkoY29va2llTmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZShjb29raWVOYW1lLCBwYXRoLCBkb21haW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG5hbWUgQ29va2llIG5hbWVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldENvb2tpZVJlZ0V4cChuYW1lOiBzdHJpbmcpOiBSZWdFeHBcbiAgICB7XG4gICAgICAgIGNvbnN0IGVzY2FwZWROYW1lOiBzdHJpbmcgPSBuYW1lLnJlcGxhY2UoLyhbXFxbXFxdXFx7XFx9XFwoXFwpXFx8XFw9XFw7XFwrXFw/XFwsXFwuXFwqXFxeXFwkXSkvaWcsICdcXFxcJDEnKTtcblxuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgnKD86XicgKyBlc2NhcGVkTmFtZSArICd8O1xcXFxzKicgKyBlc2NhcGVkTmFtZSArICcpPSguKj8pKD86O3wkKScsICdnJyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,28 +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
|
-
export const DDR_STORAGE_PREFIX = new InjectionToken('DDR_STORAGE_PREFIX');
|
|
5
|
-
export const DDR_JWT_REFRESH_TOKEN_URL = new InjectionToken('DDR_JWT_REFRESH_TOKEN_URL');
|
|
6
|
-
export const DDR_LOGIN_PATH = new InjectionToken('DDR_LOGIN_PATH');
|
|
7
|
-
export class DdrExtensionsModule {
|
|
8
|
-
}
|
|
9
|
-
DdrExtensionsModule.decorators = [
|
|
10
|
-
{ type: NgModule, args: [{
|
|
11
|
-
declarations: [
|
|
12
|
-
LazyImageDirective,
|
|
13
|
-
BottomHitDirective
|
|
14
|
-
],
|
|
15
|
-
imports: [],
|
|
16
|
-
providers: [
|
|
17
|
-
{
|
|
18
|
-
provide: DDR_LOGIN_PATH,
|
|
19
|
-
useValue: '/login'
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
exports: [
|
|
23
|
-
LazyImageDirective,
|
|
24
|
-
BottomHitDirective
|
|
25
|
-
]
|
|
26
|
-
},] }
|
|
27
|
-
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGRyLWV4dGVuc2lvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLyIsInNvdXJjZXMiOlsic3JjL2Rkci1leHRlbnNpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxvQkFBb0IsQ0FBQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFTLDJCQUEyQixDQUFDLENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFTLGdCQUFnQixDQUFDLENBQUM7QUFtQjNFLE1BQU0sT0FBTyxtQkFBbUI7OztZQWpCL0IsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxjQUFjO3dCQUN2QixRQUFRLEVBQUUsUUFBUTtxQkFDckI7aUJBQ0o7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGtCQUFrQjtvQkFDbEIsa0JBQWtCO2lCQUNyQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYXp5SW1hZ2VEaXJlY3RpdmV9IGZyb20gJy4vaW1hZ2UvbGF6eS1pbWFnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCb3R0b21IaXREaXJlY3RpdmV9IGZyb20gJy4vc2Nyb2xsL2JvdHRvbS1oaXQuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IEREUl9TVE9SQUdFX1BSRUZJWCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdERFJfU1RPUkFHRV9QUkVGSVgnKTtcblxuZXhwb3J0IGNvbnN0IEREUl9KV1RfUkVGUkVTSF9UT0tFTl9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignRERSX0pXVF9SRUZSRVNIX1RPS0VOX1VSTCcpO1xuXG5leHBvcnQgY29uc3QgRERSX0xPR0lOX1BBVEggPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignRERSX0xPR0lOX1BBVEgnKTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTGF6eUltYWdlRGlyZWN0aXZlLFxuICAgICAgICBCb3R0b21IaXREaXJlY3RpdmVcbiAgICBdLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBERFJfTE9HSU5fUEFUSCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiAnL2xvZ2luJ1xuICAgICAgICB9XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIExhenlJbWFnZURpcmVjdGl2ZSxcbiAgICAgICAgQm90dG9tSGl0RGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZHJFeHRlbnNpb25zTW9kdWxlXG57XG59XG4iXX0=
|
|
@@ -1,33 +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 { Router } from '@angular/router';
|
|
6
|
-
import { DDR_LOGIN_PATH } from '../ddr-extensions.module';
|
|
7
|
-
export class RedirectToLoginInterceptor {
|
|
8
|
-
constructor(router, loginPath) {
|
|
9
|
-
this.router = router;
|
|
10
|
-
this.loginPath = loginPath;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* @override
|
|
14
|
-
*/
|
|
15
|
-
intercept(req, next) {
|
|
16
|
-
return next.handle(req).pipe(catchError((err) => {
|
|
17
|
-
if (err instanceof HttpErrorResponse) {
|
|
18
|
-
if (err.status === 401) {
|
|
19
|
-
this.router.navigate([this.loginPath]);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return throwError(err);
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
RedirectToLoginInterceptor.decorators = [
|
|
27
|
-
{ type: Injectable }
|
|
28
|
-
];
|
|
29
|
-
RedirectToLoginInterceptor.ctorParameters = () => [
|
|
30
|
-
{ type: Router },
|
|
31
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DDR_LOGIN_PATH,] }] }
|
|
32
|
-
];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QtdG8tbG9naW4taW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8iLCJzb3VyY2VzIjpbInNyYy9odHRwL3JlZGlyZWN0LXRvLWxvZ2luLWludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUF1RCxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHeEQsTUFBTSxPQUFPLDBCQUEwQjtJQUVuQyxZQUFvQixNQUFjLEVBQWtDLFNBQVM7UUFBekQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFrQyxjQUFTLEdBQVQsU0FBUyxDQUFBO0lBRTdFLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBRXJELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFFNUMsSUFBSSxHQUFHLFlBQVksaUJBQWlCLEVBQUU7Z0JBQ2xDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7aUJBQzFDO2FBQ0o7WUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7O1lBdEJKLFVBQVU7OztZQUhILE1BQU07NENBTTJCLE1BQU0sU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0REUl9MT0dJTl9QQVRIfSBmcm9tICcuLi9kZHItZXh0ZW5zaW9ucy5tb2R1bGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkaXJlY3RUb0xvZ2luSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3JcbntcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KEREUl9MT0dJTl9QQVRIKSBwcml2YXRlIGxvZ2luUGF0aClcbiAgICB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj5cbiAgICB7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG5cbiAgICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMubG9naW5QYXRoXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export class UrlInfo {
|
|
2
|
-
static parse(urlString) {
|
|
3
|
-
const parser = document.createElement('a');
|
|
4
|
-
parser.href = urlString;
|
|
5
|
-
const urlInfo = new UrlInfo();
|
|
6
|
-
urlInfo.protocol = parser.protocol;
|
|
7
|
-
urlInfo.host = parser.host;
|
|
8
|
-
urlInfo.hostname = parser.hostname;
|
|
9
|
-
urlInfo.port = parser.port;
|
|
10
|
-
urlInfo.pathname = parser.pathname;
|
|
11
|
-
urlInfo.hash = parser.hash;
|
|
12
|
-
urlInfo.search = parser.search;
|
|
13
|
-
return urlInfo;
|
|
14
|
-
}
|
|
15
|
-
getRoot() {
|
|
16
|
-
let root = this.protocol + '//' + this.hostname;
|
|
17
|
-
if (this.port != null && this.port !== '' && this.port !== '80') {
|
|
18
|
-
root += ':' + this.port;
|
|
19
|
-
}
|
|
20
|
-
return root;
|
|
21
|
-
}
|
|
22
|
-
getUrl() {
|
|
23
|
-
return this.getRoot() + this.pathname;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLWluZm8uanMiLCJzb3VyY2VSb290IjoiLi4vLi4vIiwic291cmNlcyI6WyJzcmMvaHR0cC91cmwtaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sT0FBTztJQVVULE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBaUI7UUFFakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxNQUFNLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUV4QixNQUFNLE9BQU8sR0FBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDM0IsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUMzQixPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDbkMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUUvQixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU0sT0FBTztRQUVWLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUM3RCxJQUFJLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDM0I7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTTtRQUVULE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDMUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVybEluZm9cbntcbiAgICBwcm90b2NvbDogc3RyaW5nO1xuICAgIGhvc3Q6IHN0cmluZztcbiAgICBob3N0bmFtZTogc3RyaW5nO1xuICAgIHBvcnQ6IHN0cmluZztcbiAgICBwYXRobmFtZTogc3RyaW5nO1xuICAgIGhhc2g6IHN0cmluZztcbiAgICBzZWFyY2g6IHN0cmluZztcblxuICAgIHB1YmxpYyBzdGF0aWMgcGFyc2UodXJsU3RyaW5nOiBzdHJpbmcpOiBVcmxJbmZvXG4gICAge1xuICAgICAgICBjb25zdCBwYXJzZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIHBhcnNlci5ocmVmID0gdXJsU3RyaW5nO1xuXG4gICAgICAgIGNvbnN0IHVybEluZm86IFVybEluZm8gPSBuZXcgVXJsSW5mbygpO1xuICAgICAgICB1cmxJbmZvLnByb3RvY29sID0gcGFyc2VyLnByb3RvY29sO1xuICAgICAgICB1cmxJbmZvLmhvc3QgPSBwYXJzZXIuaG9zdDtcbiAgICAgICAgdXJsSW5mby5ob3N0bmFtZSA9IHBhcnNlci5ob3N0bmFtZTtcbiAgICAgICAgdXJsSW5mby5wb3J0ID0gcGFyc2VyLnBvcnQ7XG4gICAgICAgIHVybEluZm8ucGF0aG5hbWUgPSBwYXJzZXIucGF0aG5hbWU7XG4gICAgICAgIHVybEluZm8uaGFzaCA9IHBhcnNlci5oYXNoO1xuICAgICAgICB1cmxJbmZvLnNlYXJjaCA9IHBhcnNlci5zZWFyY2g7XG5cbiAgICAgICAgcmV0dXJuIHVybEluZm87XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJvb3QoKTogc3RyaW5nXG4gICAge1xuICAgICAgICBsZXQgcm9vdCA9IHRoaXMucHJvdG9jb2wgKyAnLy8nICsgdGhpcy5ob3N0bmFtZTtcbiAgICAgICAgaWYgKHRoaXMucG9ydCAhPSBudWxsICYmIHRoaXMucG9ydCAhPT0gJycgJiYgdGhpcy5wb3J0ICE9PSAnODAnKSB7XG4gICAgICAgICAgICByb290ICs9ICc6JyArIHRoaXMucG9ydDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByb290O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVcmwoKTogc3RyaW5nXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb290KCkgKyB0aGlzLnBhdGhuYW1lO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
export class WithCredentialsInterceptor {
|
|
3
|
-
/**
|
|
4
|
-
* @override
|
|
5
|
-
*/
|
|
6
|
-
intercept(req, next) {
|
|
7
|
-
const cloned = req.clone({
|
|
8
|
-
withCredentials: true
|
|
9
|
-
});
|
|
10
|
-
return next.handle(cloned);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
WithCredentialsInterceptor.decorators = [
|
|
14
|
-
{ type: Injectable }
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVkZW50aWFscy1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLyIsInNvdXJjZXMiOlsic3JjL2h0dHAvd2l0aC1jcmVkZW50aWFscy1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLekMsTUFBTSxPQUFPLDBCQUEwQjtJQUVuQzs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBRXJELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDckIsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7OztZQWJKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgV2l0aENyZWRlbnRpYWxzSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3JcbntcbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PlxuICAgIHtcbiAgICAgICAgY29uc3QgY2xvbmVkID0gcmVxLmNsb25lKHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoY2xvbmVkKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Directive, ElementRef, 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
|
-
export class LazyImageDirective {
|
|
8
|
-
constructor(element, changeDetectorRef) {
|
|
9
|
-
this.element = element;
|
|
10
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
11
|
-
this.objectFit = 'contain';
|
|
12
|
-
this.offset = 1000;
|
|
13
|
-
this.hostSrc = 'assets/placeholder.gif';
|
|
14
|
-
this.hostStyleObjectFit = 'contain';
|
|
15
|
-
this.displayed = false;
|
|
16
|
-
this.maxLoadedDimension = null;
|
|
17
|
-
}
|
|
18
|
-
windowResized($event) {
|
|
19
|
-
this.displayed = false;
|
|
20
|
-
this.check();
|
|
21
|
-
}
|
|
22
|
-
windowScroll($event) {
|
|
23
|
-
this.check();
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* @override
|
|
27
|
-
*/
|
|
28
|
-
ngOnChanges(changes) {
|
|
29
|
-
this.displayed = false;
|
|
30
|
-
this.maxLoadedDimension = null;
|
|
31
|
-
this.check();
|
|
32
|
-
}
|
|
33
|
-
check() {
|
|
34
|
-
if (this.element.nativeElement.parentElement.offsetWidth > 0) {
|
|
35
|
-
this.doCheck();
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
setTimeout(() => this.doCheck(), 1);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
doCheck() {
|
|
42
|
-
if (this.displayed || this.isHidden(this.element.nativeElement)) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
if (this.isInsideViewport(this.element.nativeElement, this.offset)) {
|
|
46
|
-
this.displayed = true;
|
|
47
|
-
const dimension = this.getDimension();
|
|
48
|
-
this.hostStyleWidthPx = dimension.width;
|
|
49
|
-
this.hostStyleHeightPx = dimension.height;
|
|
50
|
-
if (this.maxLoadedDimension != null
|
|
51
|
-
&& this.maxLoadedDimension.width >= dimension.width
|
|
52
|
-
&& this.maxLoadedDimension.height >= dimension.height) {
|
|
53
|
-
// console.log('has smaller dimension');
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
this.maxLoadedDimension = dimension;
|
|
57
|
-
let wantedSize;
|
|
58
|
-
if (this.objectFit === 'cover') {
|
|
59
|
-
wantedSize = NumberUtils.getNextPowerOfTwo(Math.max(dimension.width, dimension.height));
|
|
60
|
-
this.hostStyleObjectFit = 'cover';
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
wantedSize = NumberUtils.getNextPowerOfTwo(Math.min(dimension.width, dimension.height));
|
|
64
|
-
this.hostStyleObjectFit = 'contain';
|
|
65
|
-
}
|
|
66
|
-
this.hostSrc = StringUtils.updateUrlParameter(this.src, 'size', String(wantedSize));
|
|
67
|
-
this.changeDetectorRef.markForCheck();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
isInsideViewport(element, threshold) {
|
|
71
|
-
const ownerDocument = element.ownerDocument;
|
|
72
|
-
const documentTop = window.pageYOffset || ownerDocument.body.scrollTop;
|
|
73
|
-
const documentLeft = window.pageXOffset || ownerDocument.body.scrollLeft;
|
|
74
|
-
const documentWidth = window.innerWidth || (ownerDocument.documentElement.clientWidth || document.body.clientWidth);
|
|
75
|
-
const documentHeight = window.innerHeight || (ownerDocument.documentElement.clientHeight || document.body.clientHeight);
|
|
76
|
-
const topOffset = element.getBoundingClientRect().top + documentTop - ownerDocument.documentElement.clientTop;
|
|
77
|
-
const leftOffset = element.getBoundingClientRect().left + documentLeft - ownerDocument.documentElement.clientLeft;
|
|
78
|
-
const isBelowViewport = documentHeight + documentTop <= topOffset - threshold;
|
|
79
|
-
const isAtRightOfViewport = documentWidth + window.pageXOffset <= leftOffset - threshold;
|
|
80
|
-
const isAboveViewport = documentTop >= topOffset + threshold + element.offsetHeight;
|
|
81
|
-
const isAtLeftOfViewport = documentLeft >= leftOffset + threshold + element.offsetWidth;
|
|
82
|
-
return !isBelowViewport && !isAboveViewport && !isAtRightOfViewport && !isAtLeftOfViewport;
|
|
83
|
-
}
|
|
84
|
-
getDimension() {
|
|
85
|
-
return {
|
|
86
|
-
width: this.element.nativeElement.parentElement.offsetWidth,
|
|
87
|
-
height: this.element.nativeElement.parentElement.offsetHeight,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
isHidden(element) {
|
|
91
|
-
return window.getComputedStyle(element).display === 'none';
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
LazyImageDirective.decorators = [
|
|
95
|
-
{ type: Directive, args: [{ selector: '[ddrLazyImage]' },] }
|
|
96
|
-
];
|
|
97
|
-
LazyImageDirective.ctorParameters = () => [
|
|
98
|
-
{ type: ElementRef },
|
|
99
|
-
{ type: ChangeDetectorRef }
|
|
100
|
-
];
|
|
101
|
-
LazyImageDirective.propDecorators = {
|
|
102
|
-
src: [{ type: Input, args: ['ddrLazyImage',] }],
|
|
103
|
-
objectFit: [{ type: Input }],
|
|
104
|
-
offset: [{ type: Input }],
|
|
105
|
-
hostSrc: [{ type: HostBinding, args: ['src',] }],
|
|
106
|
-
hostStyleWidthPx: [{ type: HostBinding, args: ['style.width.px',] }],
|
|
107
|
-
hostStyleHeightPx: [{ type: HostBinding, args: ['style.height.px',] }],
|
|
108
|
-
hostStyleObjectFit: [{ type: HostBinding, args: ['style.object-fit',] }],
|
|
109
|
-
windowResized: [{ type: HostListener, args: ['window:resize', ['$event'],] }],
|
|
110
|
-
windowScroll: [{ type: HostListener, args: ['window:scroll', ['$event'],] }]
|
|
111
|
-
};
|
|
112
|
-
__decorate([
|
|
113
|
-
Debounce()
|
|
114
|
-
], LazyImageDirective.prototype, "windowResized", null);
|
|
115
|
-
__decorate([
|
|
116
|
-
Limit()
|
|
117
|
-
], LazyImageDirective.prototype, "windowScroll", null);
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vIiwic291cmNlcyI6WyJzcmMvaW1hZ2UvbGF6eS1pbWFnZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFHUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFJL0MsTUFBTSxPQUFPLGtCQUFrQjtJQTJCM0IsWUFBb0IsT0FBbUIsRUFBVSxpQkFBb0M7UUFBakUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFyQjlFLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFHdEIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUdkLFlBQU8sR0FBRyx3QkFBd0IsQ0FBQztRQVNuQyx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFFOUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7SUFJbEMsQ0FBQztJQUlNLGFBQWEsQ0FBQyxNQUFhO1FBRTlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBSU0sWUFBWSxDQUFDLE1BQWE7UUFFN0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVcsQ0FBQyxPQUFzQjtRQUVyQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sS0FBSztRQUVULElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2xCO2FBQU07WUFDSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVPLE9BQU87UUFFWCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzdELE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFFMUMsSUFDSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSTttQkFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsS0FBSzttQkFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxFQUN2RDtnQkFDRSx3Q0FBd0M7Z0JBQ3hDLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7WUFFcEMsSUFBSSxVQUFVLENBQUM7WUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssT0FBTyxFQUFFO2dCQUM1QixVQUFVLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDeEYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQzthQUNyQztpQkFBTTtnQkFDSCxVQUFVLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDeEYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQzthQUN2QztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsU0FBaUI7UUFFL0MsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFekUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEgsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEgsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxHQUFHLFdBQVcsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUM5RyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1FBRWxILE1BQU0sZUFBZSxHQUFHLGNBQWMsR0FBRyxXQUFXLElBQUksU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM5RSxNQUFNLG1CQUFtQixHQUFHLGFBQWEsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDekYsTUFBTSxlQUFlLEdBQUcsV0FBVyxJQUFJLFNBQVMsR0FBRyxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNwRixNQUFNLGtCQUFrQixHQUFHLFlBQVksSUFBSSxVQUFVLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFFeEYsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDL0YsQ0FBQztJQUVPLFlBQVk7UUFFaEIsT0FBTztZQUNILEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVztZQUMzRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVk7U0FDaEUsQ0FBQztJQUNOLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBTztRQUVwQixPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDO0lBQy9ELENBQUM7OztZQXBJSixTQUFTLFNBQUMsRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUM7OztZQWJuQyxVQUFVO1lBRlYsaUJBQWlCOzs7a0JBa0JoQixLQUFLLFNBQUMsY0FBYzt3QkFHcEIsS0FBSztxQkFHTCxLQUFLO3NCQUdMLFdBQVcsU0FBQyxLQUFLOytCQUdqQixXQUFXLFNBQUMsZ0JBQWdCO2dDQUc1QixXQUFXLFNBQUMsaUJBQWlCO2lDQUc3QixXQUFXLFNBQUMsa0JBQWtCOzRCQVc5QixZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOzJCQVF4QyxZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztBQU56QztJQURDLFFBQVEsRUFBRTt1REFLVjtBQUlEO0lBREMsS0FBSyxFQUFFO3NEQUlQIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge051bWJlclV0aWxzfSBmcm9tICcuLi91dGlsL251bWJlci11dGlscyc7XG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tICcuLi91dGlsL3N0cmluZy11dGlscyc7XG5pbXBvcnQge0RlYm91bmNlfSBmcm9tICcuLi9tZXRob2RkZWNvcmF0b3IvZGVib3VuY2UnO1xuaW1wb3J0IHtMaW1pdH0gZnJvbSAnLi4vbWV0aG9kZGVjb3JhdG9yL2xpbWl0JztcblxuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tkZHJMYXp5SW1hZ2VdJ30pXG5leHBvcnQgY2xhc3MgTGF6eUltYWdlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG4gICAgQElucHV0KCdkZHJMYXp5SW1hZ2UnKVxuICAgIHB1YmxpYyBzcmM6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9iamVjdEZpdCA9ICdjb250YWluJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9mZnNldCA9IDEwMDA7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3NyYycpXG4gICAgcHVibGljIGhvc3RTcmMgPSAnYXNzZXRzL3BsYWNlaG9sZGVyLmdpZic7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLnB4JylcbiAgICBwdWJsaWMgaG9zdFN0eWxlV2lkdGhQeDogbnVtYmVyO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIHB1YmxpYyBob3N0U3R5bGVIZWlnaHRQeDogbnVtYmVyO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vYmplY3QtZml0JylcbiAgICBwdWJsaWMgaG9zdFN0eWxlT2JqZWN0Rml0ID0gJ2NvbnRhaW4nO1xuXG4gICAgcHJpdmF0ZSBkaXNwbGF5ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbWF4TG9hZGVkRGltZW5zaW9uID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAge1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIEBEZWJvdW5jZSgpXG4gICAgcHVibGljIHdpbmRvd1Jlc2l6ZWQoJGV2ZW50OiBFdmVudCk6IHZvaWRcbiAgICB7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgICBATGltaXQoKVxuICAgIHB1YmxpYyB3aW5kb3dTY3JvbGwoJGV2ZW50OiBFdmVudCk6IHZvaWRcbiAgICB7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWRcbiAgICB7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWF4TG9hZGVkRGltZW5zaW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5jaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2soKTogdm9pZFxuICAgIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmRvQ2hlY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5kb0NoZWNrKCksIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkb0NoZWNrKCk6IHZvaWRcbiAgICB7XG4gICAgICAgIGlmICh0aGlzLmRpc3BsYXllZCB8fCB0aGlzLmlzSGlkZGVuKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNJbnNpZGVWaWV3cG9ydCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5vZmZzZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZCA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBkaW1lbnNpb24gPSB0aGlzLmdldERpbWVuc2lvbigpO1xuICAgICAgICAgICAgdGhpcy5ob3N0U3R5bGVXaWR0aFB4ID0gZGltZW5zaW9uLndpZHRoO1xuICAgICAgICAgICAgdGhpcy5ob3N0U3R5bGVIZWlnaHRQeCA9IGRpbWVuc2lvbi5oZWlnaHQ7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLm1heExvYWRlZERpbWVuc2lvbiAhPSBudWxsXG4gICAgICAgICAgICAgICAgJiYgdGhpcy5tYXhMb2FkZWREaW1lbnNpb24ud2lkdGggPj0gZGltZW5zaW9uLndpZHRoXG4gICAgICAgICAgICAgICAgJiYgdGhpcy5tYXhMb2FkZWREaW1lbnNpb24uaGVpZ2h0ID49IGRpbWVuc2lvbi5oZWlnaHRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdoYXMgc21hbGxlciBkaW1lbnNpb24nKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubWF4TG9hZGVkRGltZW5zaW9uID0gZGltZW5zaW9uO1xuXG4gICAgICAgICAgICBsZXQgd2FudGVkU2l6ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9iamVjdEZpdCA9PT0gJ2NvdmVyJykge1xuICAgICAgICAgICAgICAgIHdhbnRlZFNpemUgPSBOdW1iZXJVdGlscy5nZXROZXh0UG93ZXJPZlR3byhNYXRoLm1heChkaW1lbnNpb24ud2lkdGgsIGRpbWVuc2lvbi5oZWlnaHQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RTdHlsZU9iamVjdEZpdCA9ICdjb3Zlcic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdhbnRlZFNpemUgPSBOdW1iZXJVdGlscy5nZXROZXh0UG93ZXJPZlR3byhNYXRoLm1pbihkaW1lbnNpb24ud2lkdGgsIGRpbWVuc2lvbi5oZWlnaHQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RTdHlsZU9iamVjdEZpdCA9ICdjb250YWluJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaG9zdFNyYyA9IFN0cmluZ1V0aWxzLnVwZGF0ZVVybFBhcmFtZXRlcih0aGlzLnNyYywgJ3NpemUnLCBTdHJpbmcod2FudGVkU2l6ZSkpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNJbnNpZGVWaWV3cG9ydChlbGVtZW50LCB0aHJlc2hvbGQ6IG51bWJlcik6IGJvb2xlYW5cbiAgICB7XG4gICAgICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50VG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IG93bmVyRG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50TGVmdCA9IHdpbmRvdy5wYWdlWE9mZnNldCB8fCBvd25lckRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDtcblxuICAgICAgICBjb25zdCBkb2N1bWVudFdpZHRoID0gd2luZG93LmlubmVyV2lkdGggfHwgKG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIHx8IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpO1xuICAgICAgICBjb25zdCBkb2N1bWVudEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCB8fCAob3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KTtcbiAgICAgICAgY29uc3QgdG9wT2Zmc2V0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyBkb2N1bWVudFRvcCAtIG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFRvcDtcbiAgICAgICAgY29uc3QgbGVmdE9mZnNldCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCArIGRvY3VtZW50TGVmdCAtIG93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudExlZnQ7XG5cbiAgICAgICAgY29uc3QgaXNCZWxvd1ZpZXdwb3J0ID0gZG9jdW1lbnRIZWlnaHQgKyBkb2N1bWVudFRvcCA8PSB0b3BPZmZzZXQgLSB0aHJlc2hvbGQ7XG4gICAgICAgIGNvbnN0IGlzQXRSaWdodE9mVmlld3BvcnQgPSBkb2N1bWVudFdpZHRoICsgd2luZG93LnBhZ2VYT2Zmc2V0IDw9IGxlZnRPZmZzZXQgLSB0aHJlc2hvbGQ7XG4gICAgICAgIGNvbnN0IGlzQWJvdmVWaWV3cG9ydCA9IGRvY3VtZW50VG9wID49IHRvcE9mZnNldCArIHRocmVzaG9sZCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBjb25zdCBpc0F0TGVmdE9mVmlld3BvcnQgPSBkb2N1bWVudExlZnQgPj0gbGVmdE9mZnNldCArIHRocmVzaG9sZCArIGVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgcmV0dXJuICFpc0JlbG93Vmlld3BvcnQgJiYgIWlzQWJvdmVWaWV3cG9ydCAmJiAhaXNBdFJpZ2h0T2ZWaWV3cG9ydCAmJiAhaXNBdExlZnRPZlZpZXdwb3J0O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGltZW5zaW9uKCk6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSGlkZGVuKGVsZW1lbnQpOiBib29sZWFuXG4gICAge1xuICAgICAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZGlzcGxheSA9PT0gJ25vbmUnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { JwtService } from './jwt.service';
|
|
3
|
-
export class JwtInterceptor {
|
|
4
|
-
constructor(jwtService) {
|
|
5
|
-
this.jwtService = jwtService;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* @override
|
|
9
|
-
*/
|
|
10
|
-
intercept(req, next) {
|
|
11
|
-
const token = this.jwtService.getToken();
|
|
12
|
-
if (null !== token && !this.jwtService.isExpired()) {
|
|
13
|
-
req = req.clone({
|
|
14
|
-
headers: req.headers.set('Authorization', 'Bearer ' + token)
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return next.handle(req);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
JwtInterceptor.decorators = [
|
|
21
|
-
{ type: Injectable }
|
|
22
|
-
];
|
|
23
|
-
JwtInterceptor.ctorParameters = () => [
|
|
24
|
-
{ type: JwtService }
|
|
25
|
-
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LWludGVyY2VwdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vIiwic291cmNlcyI6WyJzcmMvand0L2p3dC1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRTFDLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBRXJELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekMsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNoRCxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDWixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDL0QsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7O1lBckJKLFVBQVU7OztZQUZILFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3R9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtKd3RTZXJ2aWNlfSBmcm9tICcuL2p3dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEp3dEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yXG57XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlKVxuICAgIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PlxuICAgIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmp3dFNlcnZpY2UuZ2V0VG9rZW4oKTtcblxuICAgICAgICBpZiAobnVsbCAhPT0gdG9rZW4gJiYgIXRoaXMuand0U2VydmljZS5pc0V4cGlyZWQoKSkge1xuICAgICAgICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcgKyB0b2tlbilcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { Inject, Injectable } from '@angular/core';
|
|
4
|
-
import { catchError, map, shareReplay, switchMap } from 'rxjs/operators';
|
|
5
|
-
import { JwtService } from './jwt.service';
|
|
6
|
-
import { DDR_JWT_REFRESH_TOKEN_URL } from '../ddr-extensions.module';
|
|
7
|
-
export class JwtRefreshTokenInterceptor {
|
|
8
|
-
constructor(jwtService, httpClient, jwtRefreshTokenUrl) {
|
|
9
|
-
this.jwtService = jwtService;
|
|
10
|
-
this.httpClient = httpClient;
|
|
11
|
-
this.jwtRefreshTokenUrl = jwtRefreshTokenUrl;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @override
|
|
15
|
-
*/
|
|
16
|
-
intercept(req, next) {
|
|
17
|
-
if (this.jwtService.isAboutToExpire() && !(req.url === this.jwtRefreshTokenUrl)) {
|
|
18
|
-
const refreshToken = this.jwtService.getRefreshToken();
|
|
19
|
-
if (null != refreshToken) {
|
|
20
|
-
return this.getRefreshTokenRequest(refreshToken).pipe(switchMap(() => next.handle(req)));
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return next.handle(req);
|
|
24
|
-
}
|
|
25
|
-
getRefreshTokenRequest(refreshToken) {
|
|
26
|
-
if (null == this.refreshTokenRequest$) {
|
|
27
|
-
const refreshTokenRequest = this.httpClient.post(this.jwtRefreshTokenUrl, { refresh_token: refreshToken }).pipe(map(response => {
|
|
28
|
-
this.jwtService.setTokens(response.token, response.refresh_token);
|
|
29
|
-
this.refreshTokenRequest$ = null;
|
|
30
|
-
return response;
|
|
31
|
-
}), catchError(error => {
|
|
32
|
-
this.jwtService.clear();
|
|
33
|
-
this.refreshTokenRequest$ = null;
|
|
34
|
-
return of(null);
|
|
35
|
-
}), shareReplay(1));
|
|
36
|
-
this.refreshTokenRequest$ = refreshTokenRequest;
|
|
37
|
-
return refreshTokenRequest;
|
|
38
|
-
}
|
|
39
|
-
return this.refreshTokenRequest$;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
JwtRefreshTokenInterceptor.decorators = [
|
|
43
|
-
{ type: Injectable }
|
|
44
|
-
];
|
|
45
|
-
JwtRefreshTokenInterceptor.ctorParameters = () => [
|
|
46
|
-
{ type: JwtService },
|
|
47
|
-
{ type: HttpClient },
|
|
48
|
-
{ type: String, decorators: [{ type: Inject, args: [DDR_JWT_REFRESH_TOKEN_URL,] }] }
|
|
49
|
-
];
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LXJlZnJlc2gtdG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8iLCJzb3VyY2VzIjpbInNyYy9qd3Qvand0LXJlZnJlc2gtdG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUF1RCxNQUFNLHNCQUFzQixDQUFDO0FBQ3RHLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHbkUsTUFBTSxPQUFPLDBCQUEwQjtJQUluQyxZQUNZLFVBQXNCLEVBQ3RCLFVBQXNCLEVBQ2Esa0JBQTBCO1FBRjdELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNhLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtJQUd6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUVyRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDN0UsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2RCxJQUFJLElBQUksSUFBSSxZQUFZLEVBQUU7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDakQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDcEMsQ0FBQzthQUNMO1NBQ0o7UUFHRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFlBQW9CO1FBRS9DLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUVuQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFtQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztnQkFDakMsT0FBTyxRQUFRLENBQUM7WUFDcEIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztZQUNGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztZQUNoRCxPQUFPLG1CQUFtQixDQUFDO1NBQzlCO1FBRUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQzs7O1lBckRKLFVBQVU7OztZQUhILFVBQVU7WUFMVixVQUFVO3lDQWdCVCxNQUFNLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0p3dFRva2VuUmVzcG9uc2V9IGZyb20gJy4vand0LXRva2VuLXJlc3BvbnNlJztcbmltcG9ydCB7Snd0U2VydmljZX0gZnJvbSAnLi9qd3Quc2VydmljZSc7XG5pbXBvcnQge0REUl9KV1RfUkVGUkVTSF9UT0tFTl9VUkx9IGZyb20gJy4uL2Rkci1leHRlbnNpb25zLm1vZHVsZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKd3RSZWZyZXNoVG9rZW5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvclxue1xuICAgIHByaXZhdGUgcmVmcmVzaFRva2VuUmVxdWVzdCQ6IE9ic2VydmFibGU8Snd0VG9rZW5SZXNwb25zZT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgIEBJbmplY3QoRERSX0pXVF9SRUZSRVNIX1RPS0VOX1VSTCkgcHJpdmF0ZSBqd3RSZWZyZXNoVG9rZW5Vcmw6IHN0cmluZ1xuICAgIClcbiAgICB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj5cbiAgICB7XG4gICAgICAgIGlmICh0aGlzLmp3dFNlcnZpY2UuaXNBYm91dFRvRXhwaXJlKCkgJiYgIShyZXEudXJsID09PSB0aGlzLmp3dFJlZnJlc2hUb2tlblVybCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMuand0U2VydmljZS5nZXRSZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgICAgIGlmIChudWxsICE9IHJlZnJlc2hUb2tlbikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJlZnJlc2hUb2tlblJlcXVlc3QocmVmcmVzaFRva2VuKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbmV4dC5oYW5kbGUocmVxKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlZnJlc2hUb2tlblJlcXVlc3QocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEp3dFRva2VuUmVzcG9uc2U+XG4gICAge1xuICAgICAgICBpZiAobnVsbCA9PSB0aGlzLnJlZnJlc2hUb2tlblJlcXVlc3QkKSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlblJlcXVlc3QgPSB0aGlzLmh0dHBDbGllbnQucG9zdDxKd3RUb2tlblJlc3BvbnNlPih0aGlzLmp3dFJlZnJlc2hUb2tlblVybCwge3JlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlbn0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5qd3RTZXJ2aWNlLnNldFRva2VucyhyZXNwb25zZS50b2tlbiwgcmVzcG9uc2UucmVmcmVzaF90b2tlbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuUmVxdWVzdCQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuand0U2VydmljZS5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlblJlcXVlc3QkID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5SZXF1ZXN0JCA9IHJlZnJlc2hUb2tlblJlcXVlc3Q7XG4gICAgICAgICAgICByZXR1cm4gcmVmcmVzaFRva2VuUmVxdWVzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlblJlcXVlc3QkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LXRva2VuLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLyIsInNvdXJjZXMiOlsic3JjL2p3dC9qd3QtdG9rZW4tcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSnd0VG9rZW5SZXNwb25zZVxue1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgcmVmcmVzaF90b2tlbjogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { DDR_STORAGE_PREFIX } from '../ddr-extensions.module';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../ddr-extensions.module";
|
|
5
|
-
export class JwtService {
|
|
6
|
-
constructor(storagePrefix) {
|
|
7
|
-
this.storagePrefix = storagePrefix;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Sets the current token and a refresh token.
|
|
11
|
-
*/
|
|
12
|
-
setTokens(token, refreshToken) {
|
|
13
|
-
this.setToken(token);
|
|
14
|
-
localStorage.setItem(this.getRefreshTokenStorageKey(), refreshToken);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Sets the current token.
|
|
18
|
-
*/
|
|
19
|
-
setToken(token) {
|
|
20
|
-
this.token = token;
|
|
21
|
-
const decodedToken = JSON.parse(atob(token.split('.')[1]));
|
|
22
|
-
this.tokenExpiry = decodedToken.exp * 1000;
|
|
23
|
-
console.log('New refresh token, expiry', new Date(this.tokenExpiry));
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Gets the current token.
|
|
27
|
-
*/
|
|
28
|
-
getToken() {
|
|
29
|
-
return this.token;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Gets the refresh token.
|
|
33
|
-
*/
|
|
34
|
-
getRefreshToken() {
|
|
35
|
-
return localStorage.getItem(this.getRefreshTokenStorageKey());
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Checks if the current token expired.
|
|
39
|
-
*/
|
|
40
|
-
isExpired() {
|
|
41
|
-
const now = new Date().getTime();
|
|
42
|
-
return null == this.tokenExpiry || this.tokenExpiry < now;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Checks if the current token is about to expire.
|
|
46
|
-
* @param expiryMs
|
|
47
|
-
*/
|
|
48
|
-
isAboutToExpire(expiryMs = 60000) {
|
|
49
|
-
const now = new Date().getTime();
|
|
50
|
-
return null == this.tokenExpiry || this.tokenExpiry - expiryMs < now;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Clears all token information.
|
|
54
|
-
*/
|
|
55
|
-
clear() {
|
|
56
|
-
this.token = null;
|
|
57
|
-
this.tokenExpiry = null;
|
|
58
|
-
localStorage.removeItem(this.getRefreshTokenStorageKey());
|
|
59
|
-
}
|
|
60
|
-
getRefreshTokenStorageKey() {
|
|
61
|
-
return this.storagePrefix + '.jwt.refresh_token';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
JwtService.ɵprov = i0.ɵɵdefineInjectable({ factory: function JwtService_Factory() { return new JwtService(i0.ɵɵinject(i1.DDR_STORAGE_PREFIX)); }, token: JwtService, providedIn: "root" });
|
|
65
|
-
JwtService.decorators = [
|
|
66
|
-
{ type: Injectable, args: [{
|
|
67
|
-
providedIn: 'root'
|
|
68
|
-
},] }
|
|
69
|
-
];
|
|
70
|
-
JwtService.ctorParameters = () => [
|
|
71
|
-
{ type: String, decorators: [{ type: Inject, args: [DDR_STORAGE_PREFIX,] }] }
|
|
72
|
-
];
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vIiwic291cmNlcyI6WyJzcmMvand0L2p3dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7QUFLNUQsTUFBTSxPQUFPLFVBQVU7SUFZbkIsWUFBZ0QsYUFBcUI7UUFBckIsa0JBQWEsR0FBYixhQUFhLENBQVE7SUFFckUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUyxDQUFDLEtBQWEsRUFBRSxZQUFvQjtRQUVoRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLEtBQWE7UUFFekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFFWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUVsQixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBRVosTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQzlELENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsV0FBbUIsS0FBSztRQUUzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFFUixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLHlCQUF5QjtRQUU3QixPQUFPLElBQUksQ0FBQyxhQUFhLEdBQUcsb0JBQW9CLENBQUM7SUFDckQsQ0FBQzs7OztZQXZGSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7Ozt5Q0FhZ0IsTUFBTSxTQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RERSX1NUT1JBR0VfUFJFRklYfSBmcm9tICcuLi9kZHItZXh0ZW5zaW9ucy5tb2R1bGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEp3dFNlcnZpY2VcbntcbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCB0b2tlbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHRva2VuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGV4cGlyeSBvZiB0aGUgY3VycmVudCB0b2tlbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHRva2VuRXhwaXJ5O1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChERFJfU1RPUkFHRV9QUkVGSVgpIHByaXZhdGUgc3RvcmFnZVByZWZpeDogc3RyaW5nKVxuICAgIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjdXJyZW50IHRva2VuIGFuZCBhIHJlZnJlc2ggdG9rZW4uXG4gICAgICovXG4gICAgcHVibGljIHNldFRva2Vucyh0b2tlbjogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZyk6IHZvaWRcbiAgICB7XG4gICAgICAgIHRoaXMuc2V0VG9rZW4odG9rZW4pO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmdldFJlZnJlc2hUb2tlblN0b3JhZ2VLZXkoKSwgcmVmcmVzaFRva2VuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjdXJyZW50IHRva2VuLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZFxuICAgIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSBKU09OLnBhcnNlKGF0b2IodG9rZW4uc3BsaXQoJy4nKVsxXSkpO1xuICAgICAgICB0aGlzLnRva2VuRXhwaXJ5ID0gZGVjb2RlZFRva2VuLmV4cCAqIDEwMDA7XG4gICAgICAgIGNvbnNvbGUubG9nKCdOZXcgcmVmcmVzaCB0b2tlbiwgZXhwaXJ5JywgbmV3IERhdGUodGhpcy50b2tlbkV4cGlyeSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgdG9rZW4uXG4gICAgICovXG4gICAgcHVibGljIGdldFRva2VuKCk6IHN0cmluZyB8IG51bGxcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2VuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHJlZnJlc2ggdG9rZW4uXG4gICAgICovXG4gICAgcHVibGljIGdldFJlZnJlc2hUb2tlbigpOiBzdHJpbmcgfCBudWxsXG4gICAge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5nZXRSZWZyZXNoVG9rZW5TdG9yYWdlS2V5KCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgY3VycmVudCB0b2tlbiBleHBpcmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0V4cGlyZWQoKTogYm9vbGVhblxuICAgIHtcbiAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiBudWxsID09IHRoaXMudG9rZW5FeHBpcnkgfHwgdGhpcy50b2tlbkV4cGlyeSA8IG5vdztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgdG9rZW4gaXMgYWJvdXQgdG8gZXhwaXJlLlxuICAgICAqIEBwYXJhbSBleHBpcnlNc1xuICAgICAqL1xuICAgIHB1YmxpYyBpc0Fib3V0VG9FeHBpcmUoZXhwaXJ5TXM6IG51bWJlciA9IDYwMDAwKTogYm9vbGVhblxuICAgIHtcbiAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiBudWxsID09IHRoaXMudG9rZW5FeHBpcnkgfHwgdGhpcy50b2tlbkV4cGlyeSAtIGV4cGlyeU1zIDwgbm93O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyBhbGwgdG9rZW4gaW5mb3JtYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyKCk6IHZvaWRcbiAgICB7XG4gICAgICAgIHRoaXMudG9rZW4gPSBudWxsO1xuICAgICAgICB0aGlzLnRva2VuRXhwaXJ5ID0gbnVsbDtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5nZXRSZWZyZXNoVG9rZW5TdG9yYWdlS2V5KCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVmcmVzaFRva2VuU3RvcmFnZUtleSgpOiBzdHJpbmdcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2VQcmVmaXggKyAnLmp3dC5yZWZyZXNoX3Rva2VuJztcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export function Debounce(delay = 250) {
|
|
2
|
-
return (target, propertyKey, descriptor) => {
|
|
3
|
-
const original = descriptor.value;
|
|
4
|
-
const key = `__timeout__${propertyKey}`;
|
|
5
|
-
descriptor.value = function (...args) {
|
|
6
|
-
clearTimeout(this[key]);
|
|
7
|
-
this[key] = setTimeout(() => original.apply(this, args), delay);
|
|
8
|
-
};
|
|
9
|
-
return descriptor;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vIiwic291cmNlcyI6WyJzcmMvbWV0aG9kZGVjb3JhdG9yL2RlYm91bmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsUUFBZ0IsR0FBRztJQUV4QyxPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsVUFBOEIsRUFBRSxFQUFFO1FBRXhFLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDbEMsTUFBTSxHQUFHLEdBQUcsY0FBYyxXQUFXLEVBQUUsQ0FBQztRQUV4QyxVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFJO1lBQ2hDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQztRQUVGLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gRGVib3VuY2UoZGVsYXk6IG51bWJlciA9IDI1MCk6IE1ldGhvZERlY29yYXRvclxue1xuICAgIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikgPT4ge1xuXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICAgICAgY29uc3Qga2V5ID0gYF9fdGltZW91dF9fJHtwcm9wZXJ0eUtleX1gO1xuXG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXNba2V5XSk7XG4gICAgICAgICAgICB0aGlzW2tleV0gPSBzZXRUaW1lb3V0KCgpID0+IG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpLCBkZWxheSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function Limit(rate = 250) {
|
|
2
|
-
return (target, propertyKey, descriptor) => {
|
|
3
|
-
const original = descriptor.value;
|
|
4
|
-
const key = `__timeout__${propertyKey}`;
|
|
5
|
-
descriptor.value = function (...args) {
|
|
6
|
-
if (null == this[key]) {
|
|
7
|
-
this[key] = setTimeout(() => {
|
|
8
|
-
original.apply(this, args);
|
|
9
|
-
delete this[key];
|
|
10
|
-
}, rate);
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
return descriptor;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGltaXQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vIiwic291cmNlcyI6WyJzcmMvbWV0aG9kZGVjb3JhdG9yL2xpbWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBZSxHQUFHO0lBRXBDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsV0FBbUIsRUFBRSxVQUE4QixFQUFFLEVBQUU7UUFDeEUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNsQyxNQUFNLEdBQUcsR0FBRyxjQUFjLFdBQVcsRUFBRSxDQUFDO1FBRXhDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLElBQUk7WUFDaEMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDeEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDWjtRQUNMLENBQUMsQ0FBQztRQUVGLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gTGltaXQocmF0ZTogbnVtYmVyID0gMjUwKTogTWV0aG9kRGVjb3JhdG9yXG57XG4gICAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZywgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICAgICAgY29uc3Qga2V5ID0gYF9fdGltZW91dF9fJHtwcm9wZXJ0eUtleX1gO1xuXG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgaWYgKG51bGwgPT0gdGhpc1trZXldKSB7XG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpc1trZXldO1xuICAgICAgICAgICAgICAgIH0sIHJhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH07XG59XG4iXX0=
|