@dontdrinkandroot/ngx-extensions 0.5.0 → 0.7.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/fesm2022/dontdrinkandroot-ngx-extensions.mjs +168 -126
- package/fesm2022/dontdrinkandroot-ngx-extensions.mjs.map +1 -1
- package/package.json +5 -7
- package/src/cookie/cookie.service.d.ts +1 -1
- package/src/http/redirect-to-login-interceptor.service.d.ts +1 -1
- package/src/http/with-credentials-interceptor.service.d.ts +1 -1
- package/src/image/lazy-image.directive.d.ts +4 -4
- package/src/jwt/jwt-interceptor.service.d.ts +1 -1
- package/src/jwt/jwt-refresh-token-interceptor.service.d.ts +1 -1
- package/src/logger/console-logger.service.d.ts +4 -4
- package/src/logger/logger.service.d.ts +4 -4
- package/src/oauth/oauth2-access-token-interceptor.service.d.ts +1 -1
- package/src/oauth/oauth2-refresh-token-interceptor.service.d.ts +1 -1
- package/src/oauth/oauth2.service.d.ts +1 -1
- package/src/oauth/redirect-to-oauth2-login-interceptor.service.d.ts +1 -1
- package/src/scroll/bottom-hit.directive.d.ts +5 -6
- package/src/util/collection-utils.d.ts +2 -2
- package/esm2022/dontdrinkandroot-ngx-extensions.mjs +0 -5
- package/esm2022/public-api.mjs +0 -29
- package/esm2022/src/cookie/cookie.service.mjs +0 -135
- package/esm2022/src/ddr-extensions.module.mjs +0 -67
- package/esm2022/src/http/redirect-to-login-interceptor.service.mjs +0 -35
- package/esm2022/src/http/url-info.mjs +0 -26
- package/esm2022/src/http/with-credentials-interceptor.service.mjs +0 -19
- package/esm2022/src/image/lazy-image.directive.mjs +0 -132
- package/esm2022/src/jwt/jwt-interceptor.service.mjs +0 -26
- package/esm2022/src/jwt/jwt-refresh-token-interceptor.service.mjs +0 -50
- package/esm2022/src/jwt/jwt-token-response.mjs +0 -2
- package/esm2022/src/jwt/jwt.service.mjs +0 -81
- package/esm2022/src/logger/console-logger.service.mjs +0 -43
- package/esm2022/src/logger/logger.service.mjs +0 -9
- package/esm2022/src/methoddecorator/debounce.mjs +0 -13
- package/esm2022/src/methoddecorator/limit.mjs +0 -16
- package/esm2022/src/oauth/json-web-token.mjs +0 -2
- package/esm2022/src/oauth/oauth2-access-token-interceptor.service.mjs +0 -26
- package/esm2022/src/oauth/oauth2-config.mjs +0 -11
- package/esm2022/src/oauth/oauth2-error.mjs +0 -8
- package/esm2022/src/oauth/oauth2-refresh-token-interceptor.service.mjs +0 -24
- package/esm2022/src/oauth/oauth2.module.mjs +0 -44
- package/esm2022/src/oauth/oauth2.service.mjs +0 -125
- package/esm2022/src/oauth/redirect-to-oauth2-login-interceptor.service.mjs +0 -41
- package/esm2022/src/oauth/token-response.mjs +0 -2
- package/esm2022/src/scroll/bottom-hit.directive.mjs +0 -60
- package/esm2022/src/scroll/scroll.service.mjs +0 -38
- package/esm2022/src/storage/local-storage.service.mjs +0 -53
- package/esm2022/src/storage/storage.service.mjs +0 -5
- package/esm2022/src/typeguard/is-non-null.mjs +0 -4
- package/esm2022/src/util/collection-utils.mjs +0 -27
- package/esm2022/src/util/number-utils.mjs +0 -10
- package/esm2022/src/util/object-utils.mjs +0 -9
- package/esm2022/src/util/string-utils.mjs +0 -35
- package/esm2022/src/util/type-utils.mjs +0 -9
- package/esm2022/src/visibility/visibility.service.mjs +0 -19
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { NavigationStart } from '@angular/router';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/router";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
export class ScrollService {
|
|
7
|
-
constructor(router, viewportScroller) {
|
|
8
|
-
this.router = router;
|
|
9
|
-
this.viewportScroller = viewportScroller;
|
|
10
|
-
this.scrollPositionMap = new Map();
|
|
11
|
-
this.router.events
|
|
12
|
-
.subscribe(e => {
|
|
13
|
-
if (e instanceof NavigationStart) {
|
|
14
|
-
this.scrollPositionMap.set(this.router.url, this.viewportScroller.getScrollPosition());
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
restore() {
|
|
19
|
-
const url = this.router.url;
|
|
20
|
-
if (this.scrollPositionMap.has(url)) {
|
|
21
|
-
/* Restore after timeout so rendering was completed */
|
|
22
|
-
setTimeout(() => {
|
|
23
|
-
let scrollPosition = this.scrollPositionMap.get(url);
|
|
24
|
-
if (null != scrollPosition)
|
|
25
|
-
this.viewportScroller.scrollToPosition(scrollPosition);
|
|
26
|
-
}, 1);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ScrollService, deps: [{ token: i1.Router }, { token: i2.ViewportScroller }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ScrollService, decorators: [{
|
|
33
|
-
type: Injectable,
|
|
34
|
-
args: [{
|
|
35
|
-
providedIn: 'root'
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.ViewportScroller }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2Nyb2xsL3Njcm9sbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBS3pDLE1BQU0sT0FBTyxhQUFhO0lBSXRCLFlBQW9CLE1BQWMsRUFBVSxnQkFBa0M7UUFBMUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFGdEUsc0JBQWlCLEdBQWtDLElBQUksR0FBRyxFQUE0QixDQUFDO1FBSTNGLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxZQUFZLGVBQWUsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7WUFDM0YsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLE9BQU87UUFFVixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxzREFBc0Q7WUFDdEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLElBQUksSUFBSSxjQUFjO29CQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN2RixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0wsQ0FBQzs4R0F4QlEsYUFBYTtrSEFBYixhQUFhLGNBRlYsTUFBTTs7MkZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05hdmlnYXRpb25TdGFydCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtWaWV3cG9ydFNjcm9sbGVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxTZXJ2aWNlXG57XG4gICAgcHJpdmF0ZSBzY3JvbGxQb3NpdGlvbk1hcDogTWFwPHN0cmluZywgW251bWJlciwgbnVtYmVyXT4gPSBuZXcgTWFwPHN0cmluZywgW251bWJlciwgbnVtYmVyXT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgdmlld3BvcnRTY3JvbGxlcjogVmlld3BvcnRTY3JvbGxlcilcbiAgICB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFBvc2l0aW9uTWFwLnNldCh0aGlzLnJvdXRlci51cmwsIHRoaXMudmlld3BvcnRTY3JvbGxlci5nZXRTY3JvbGxQb3NpdGlvbigpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzdG9yZSgpOiB2b2lkXG4gICAge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlci51cmw7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbFBvc2l0aW9uTWFwLmhhcyh1cmwpKSB7XG4gICAgICAgICAgICAvKiBSZXN0b3JlIGFmdGVyIHRpbWVvdXQgc28gcmVuZGVyaW5nIHdhcyBjb21wbGV0ZWQgKi9cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBzY3JvbGxQb3NpdGlvbiA9IHRoaXMuc2Nyb2xsUG9zaXRpb25NYXAuZ2V0KHVybCk7XG4gICAgICAgICAgICAgICAgaWYgKG51bGwgIT0gc2Nyb2xsUG9zaXRpb24pIHRoaXMudmlld3BvcnRTY3JvbGxlci5zY3JvbGxUb1Bvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKTtcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { DDR_STORAGE_PREFIX, StorageService } from './storage.service';
|
|
2
|
-
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../logger/logger.service";
|
|
5
|
-
export class LocalStorageService extends StorageService {
|
|
6
|
-
constructor(storagePrefix, logger) {
|
|
7
|
-
super();
|
|
8
|
-
this.storagePrefix = storagePrefix;
|
|
9
|
-
this.logger = logger;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* @override
|
|
13
|
-
*/
|
|
14
|
-
retrieve(key, defaultValue = null) {
|
|
15
|
-
let fullKey = this.getFullKey(key);
|
|
16
|
-
let valueJson = localStorage.getItem(fullKey);
|
|
17
|
-
if (null == valueJson) {
|
|
18
|
-
return defaultValue;
|
|
19
|
-
}
|
|
20
|
-
try {
|
|
21
|
-
return JSON.parse(valueJson);
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
this.logger.warn('Could not parse json value', valueJson, e);
|
|
25
|
-
localStorage.removeItem(fullKey);
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* @override
|
|
31
|
-
*/
|
|
32
|
-
store(key, value) {
|
|
33
|
-
localStorage.setItem(this.getFullKey(key), JSON.stringify(value));
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @override
|
|
37
|
-
*/
|
|
38
|
-
remove(key) {
|
|
39
|
-
localStorage.removeItem(this.getFullKey(key));
|
|
40
|
-
}
|
|
41
|
-
getFullKey(key) {
|
|
42
|
-
return this.storagePrefix + '.' + key;
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: LocalStorageService, deps: [{ token: DDR_STORAGE_PREFIX }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: LocalStorageService }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: LocalStorageService, decorators: [{
|
|
48
|
-
type: Injectable
|
|
49
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
50
|
-
type: Inject,
|
|
51
|
-
args: [DDR_STORAGE_PREFIX]
|
|
52
|
-
}] }, { type: i1.Logger }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBSWpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFjO0lBRW5ELFlBQzBDLGFBQXFCLEVBQ2pELE1BQWM7UUFHeEIsS0FBSyxFQUFFLENBQUM7UUFKOEIsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDakQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUk1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRLENBQUksR0FBVyxFQUFFLGVBQXlCLElBQUk7UUFFekQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLFNBQVMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFJLEdBQVcsRUFBRSxLQUFRO1FBRWpDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQVc7UUFFckIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVTLFVBQVUsQ0FBQyxHQUFXO1FBRTVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQzFDLENBQUM7OEdBakRRLG1CQUFtQixrQkFHaEIsa0JBQWtCO2tIQUhyQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUlGLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtERFJfU1RPUkFHRV9QUkVGSVgsIFN0b3JhZ2VTZXJ2aWNlfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2UgZXh0ZW5kcyBTdG9yYWdlU2VydmljZVxue1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEREUl9TVE9SQUdFX1BSRUZJWCkgcHJvdGVjdGVkIHN0b3JhZ2VQcmVmaXg6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIGxvZ2dlcjogTG9nZ2VyXG4gICAgKVxuICAgIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmV0cmlldmU8VD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCB8IG51bGwgPSBudWxsKTogVCB8IG51bGxcbiAgICB7XG4gICAgICAgIGxldCBmdWxsS2V5ID0gdGhpcy5nZXRGdWxsS2V5KGtleSk7XG4gICAgICAgIGxldCB2YWx1ZUpzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShmdWxsS2V5KTtcbiAgICAgICAgaWYgKG51bGwgPT0gdmFsdWVKc29uKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlSnNvbik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0NvdWxkIG5vdCBwYXJzZSBqc29uIHZhbHVlJywgdmFsdWVKc29uLCBlKTtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGZ1bGxLZXkpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAb3ZlcnJpZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RvcmU8VD4oa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZFxuICAgIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5nZXRGdWxsS2V5KGtleSksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG92ZXJyaWRlXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZShrZXk6IHN0cmluZylcbiAgICB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuZ2V0RnVsbEtleShrZXkpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RnVsbEtleShrZXk6IHN0cmluZyk6IHN0cmluZ1xuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCArICcuJyArIGtleTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from "@angular/core";
|
|
2
|
-
export const DDR_STORAGE_PREFIX = new InjectionToken('storage-prefix');
|
|
3
|
-
export class StorageService {
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVMsZ0JBQWdCLENBQUMsQ0FBQztBQUUvRSxNQUFNLE9BQWdCLGNBQWM7Q0FPbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgRERSX1NUT1JBR0VfUFJFRklYID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ3N0b3JhZ2UtcHJlZml4Jyk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdG9yYWdlU2VydmljZVxue1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzdG9yZTxUPihrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkO1xuXG4gICAgcHVibGljIGFic3RyYWN0IHJldHJpZXZlPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB8IG51bGw7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export function isNonNull(value) {
|
|
2
|
-
return value != null;
|
|
3
|
-
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9uLW51bGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZWd1YXJkL2lzLW5vbi1udWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxTQUFTLENBQUksS0FBUTtJQUVqQyxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc05vbk51bGw8VD4odmFsdWU6IFQpOiB2YWx1ZSBpcyBOb25OdWxsYWJsZTxUPlxue1xuICAgIHJldHVybiB2YWx1ZSAhPSBudWxsO1xufVxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ObjectUtils } from './object-utils';
|
|
2
|
-
export class CollectionUtils {
|
|
3
|
-
/**
|
|
4
|
-
* Maps an array into a Map by a specific property which should be unique.
|
|
5
|
-
*/
|
|
6
|
-
static mapByProperty(entries, property) {
|
|
7
|
-
const map = new Map();
|
|
8
|
-
for (const entry of entries) {
|
|
9
|
-
map.set(ObjectUtils.getProperty(entry, property), entry);
|
|
10
|
-
}
|
|
11
|
-
return map;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Maps an array into a Map by a specified property and aggregates them into an array.
|
|
15
|
-
*/
|
|
16
|
-
static mapArrayByProperty(entries, property) {
|
|
17
|
-
const map = new Map();
|
|
18
|
-
for (const entry of entries) {
|
|
19
|
-
const value = ObjectUtils.getProperty(entry, property);
|
|
20
|
-
const existingEntries = map.get(value) ?? [];
|
|
21
|
-
existingEntries.push(entry);
|
|
22
|
-
map.set(value, existingEntries);
|
|
23
|
-
}
|
|
24
|
-
return map;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlsL2NvbGxlY3Rpb24tdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBRXhCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBc0MsT0FBaUIsRUFBRSxRQUFXO1FBRTNGLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFDOUIsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMxQixHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBc0MsT0FBaUIsRUFBRSxRQUFXO1FBRWhHLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFZLENBQUM7UUFDaEMsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMxQixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2RCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUM1QyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBQ25DLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gJy4vb2JqZWN0LXV0aWxzJztcblxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25VdGlsc1xue1xuICAgIC8qKlxuICAgICAqIE1hcHMgYW4gYXJyYXkgaW50byBhIE1hcCBieSBhIHNwZWNpZmljIHByb3BlcnR5IHdoaWNoIHNob3VsZCBiZSB1bmlxdWUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtYXBCeVByb3BlcnR5PFYgZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBrZXlvZiBWPihlbnRyaWVzOiBBcnJheTxWPiwgcHJvcGVydHk6IEspOiBNYXA8YW55LCBWPlxuICAgIHtcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcDxhbnksIFY+KCk7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgICAgbWFwLnNldChPYmplY3RVdGlscy5nZXRQcm9wZXJ0eShlbnRyeSwgcHJvcGVydHkpLCBlbnRyeSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hcHMgYW4gYXJyYXkgaW50byBhIE1hcCBieSBhIHNwZWNpZmllZCBwcm9wZXJ0eSBhbmQgYWdncmVnYXRlcyB0aGVtIGludG8gYW4gYXJyYXkuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtYXBBcnJheUJ5UHJvcGVydHk8ViBleHRlbmRzIG9iamVjdCwgSyBleHRlbmRzIGtleW9mIFY+KGVudHJpZXM6IEFycmF5PFY+LCBwcm9wZXJ0eTogSyk6IE1hcDxhbnksIFZbXT5cbiAgICB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8YW55LCBWW10+KCk7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBPYmplY3RVdGlscy5nZXRQcm9wZXJ0eShlbnRyeSwgcHJvcGVydHkpO1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdFbnRyaWVzID0gbWFwLmdldCh2YWx1ZSkgPz8gW11cbiAgICAgICAgICAgIGV4aXN0aW5nRW50cmllcy5wdXNoKGVudHJ5KVxuICAgICAgICAgICAgbWFwLnNldCh2YWx1ZSwgZXhpc3RpbmdFbnRyaWVzKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class NumberUtils {
|
|
2
|
-
static getNextPowerOfTwo(value) {
|
|
3
|
-
let target = 2;
|
|
4
|
-
while (target < value) {
|
|
5
|
-
target *= 2;
|
|
6
|
-
}
|
|
7
|
-
return target;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWwvbnVtYmVyLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBRWIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWE7UUFFekMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsT0FBTyxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE51bWJlclV0aWxzXG57XG4gICAgcHVibGljIHN0YXRpYyBnZXROZXh0UG93ZXJPZlR3byh2YWx1ZTogbnVtYmVyKTogbnVtYmVyXG4gICAge1xuICAgICAgICBsZXQgdGFyZ2V0ID0gMjtcbiAgICAgICAgd2hpbGUgKHRhcmdldCA8IHZhbHVlKSB7XG4gICAgICAgICAgICB0YXJnZXQgKj0gMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class ObjectUtils {
|
|
2
|
-
static deepCopy(value) {
|
|
3
|
-
return JSON.parse(JSON.stringify(value));
|
|
4
|
-
}
|
|
5
|
-
static getProperty(o, propertyName) {
|
|
6
|
-
return o[propertyName];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWwvb2JqZWN0LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBRWIsTUFBTSxDQUFDLFFBQVEsQ0FBSSxLQUFRO1FBRTlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQXVCLENBQUksRUFBRSxZQUFlO1FBRWpFLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPYmplY3RVdGlsc1xue1xuICAgIHB1YmxpYyBzdGF0aWMgZGVlcENvcHk8VD4odmFsdWU6IFQpOiBUXG4gICAge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UHJvcGVydHk8VCwgSyBleHRlbmRzIGtleW9mIFQ+KG86IFQsIHByb3BlcnR5TmFtZTogSyk6IFRbS11cbiAgICB7XG4gICAgICAgIHJldHVybiBvW3Byb3BlcnR5TmFtZV07XG4gICAgfVxufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export class StringUtils {
|
|
2
|
-
static capitalizeFirstLetter(text) {
|
|
3
|
-
return text.charAt(0).toUpperCase() + text.slice(1);
|
|
4
|
-
}
|
|
5
|
-
static stripTrailingSlash(text) {
|
|
6
|
-
const lastChar = text.charAt(text.length - 1);
|
|
7
|
-
if ('/' === lastChar) {
|
|
8
|
-
return text.slice(0, text.length - 1);
|
|
9
|
-
}
|
|
10
|
-
return text;
|
|
11
|
-
}
|
|
12
|
-
static updateUrlParameter(uri, key, value) {
|
|
13
|
-
// remove the hash part before operating on the uri
|
|
14
|
-
const i = uri.indexOf('#');
|
|
15
|
-
const hash = i === -1 ? '' : uri.substr(i);
|
|
16
|
-
uri = i === -1 ? uri : uri.substr(0, i);
|
|
17
|
-
const re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i');
|
|
18
|
-
const separator = uri.indexOf('?') !== -1 ? '&' : '?';
|
|
19
|
-
if (uri.match(re)) {
|
|
20
|
-
uri = uri.replace(re, '$1' + key + '=' + value + '$2');
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
uri = uri + separator + key + '=' + value;
|
|
24
|
-
}
|
|
25
|
-
return uri + hash; // finally append the hash as well
|
|
26
|
-
}
|
|
27
|
-
static createRandomString(lengthOfCode, possible) {
|
|
28
|
-
let text = '';
|
|
29
|
-
for (let i = 0; i < lengthOfCode; i++) {
|
|
30
|
-
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
|
31
|
-
}
|
|
32
|
-
return text;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWwvc3RyaW5nLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBRWIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQVk7UUFFNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFZO1FBRXpDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxLQUFhO1FBRXBFLG1EQUFtRDtRQUNuRCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEQsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sQ0FBQztZQUNKLEdBQUcsR0FBRyxHQUFHLEdBQUcsU0FBUyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBRSxrQ0FBa0M7SUFDMUQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFvQixFQUFFLFFBQWdCO1FBRW5FLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxJQUFJLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFN0cmluZ1V0aWxzXG57XG4gICAgcHVibGljIHN0YXRpYyBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodGV4dDogc3RyaW5nKTogc3RyaW5nXG4gICAge1xuICAgICAgICByZXR1cm4gdGV4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRleHQuc2xpY2UoMSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzdHJpcFRyYWlsaW5nU2xhc2godGV4dDogc3RyaW5nKTogc3RyaW5nXG4gICAge1xuICAgICAgICBjb25zdCBsYXN0Q2hhciA9IHRleHQuY2hhckF0KHRleHQubGVuZ3RoIC0gMSk7XG4gICAgICAgIGlmICgnLycgPT09IGxhc3RDaGFyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGV4dC5zbGljZSgwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB1cGRhdGVVcmxQYXJhbWV0ZXIodXJpOiBzdHJpbmcsIGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nXG4gICAge1xuICAgICAgICAvLyByZW1vdmUgdGhlIGhhc2ggcGFydCBiZWZvcmUgb3BlcmF0aW5nIG9uIHRoZSB1cmlcbiAgICAgICAgY29uc3QgaSA9IHVyaS5pbmRleE9mKCcjJyk7XG4gICAgICAgIGNvbnN0IGhhc2ggPSBpID09PSAtMSA/ICcnIDogdXJpLnN1YnN0cihpKTtcbiAgICAgICAgdXJpID0gaSA9PT0gLTEgPyB1cmkgOiB1cmkuc3Vic3RyKDAsIGkpO1xuXG4gICAgICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCgnKFs/Jl0pJyArIGtleSArICc9Lio/KCZ8JCknLCAnaScpO1xuICAgICAgICBjb25zdCBzZXBhcmF0b3IgPSB1cmkuaW5kZXhPZignPycpICE9PSAtMSA/ICcmJyA6ICc/JztcbiAgICAgICAgaWYgKHVyaS5tYXRjaChyZSkpIHtcbiAgICAgICAgICAgIHVyaSA9IHVyaS5yZXBsYWNlKHJlLCAnJDEnICsga2V5ICsgJz0nICsgdmFsdWUgKyAnJDInKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVyaSA9IHVyaSArIHNlcGFyYXRvciArIGtleSArICc9JyArIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmkgKyBoYXNoOyAgLy8gZmluYWxseSBhcHBlbmQgdGhlIGhhc2ggYXMgd2VsbFxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUmFuZG9tU3RyaW5nKGxlbmd0aE9mQ29kZTogbnVtYmVyLCBwb3NzaWJsZTogc3RyaW5nKTogc3RyaW5nXG4gICAge1xuICAgICAgICBsZXQgdGV4dCA9ICcnO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aE9mQ29kZTsgaSsrKSB7XG4gICAgICAgICAgICB0ZXh0ICs9IHBvc3NpYmxlLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBwb3NzaWJsZS5sZW5ndGgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class TypeUtils {
|
|
2
|
-
static notNull(value, message = 'Value must not be null') {
|
|
3
|
-
if (null == value) {
|
|
4
|
-
throw new Error(message);
|
|
5
|
-
}
|
|
6
|
-
return value;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlsL3R5cGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7SUFFWCxNQUFNLENBQUMsT0FBTyxDQUFJLEtBQTJCLEVBQUUsVUFBa0Isd0JBQXdCO1FBRTVGLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUeXBlVXRpbHNcbntcbiAgICBwdWJsaWMgc3RhdGljIG5vdE51bGw8VD4odmFsdWU6IFQgfCBudWxsIHwgdW5kZWZpbmVkLCBtZXNzYWdlOiBzdHJpbmcgPSAnVmFsdWUgbXVzdCBub3QgYmUgbnVsbCcpOiBUXG4gICAge1xuICAgICAgICBpZiAobnVsbCA9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { fromEvent, merge } from 'rxjs';
|
|
3
|
-
import { debounceTime, distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class VisibilityService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.visibility$ = merge(fromEvent(document, 'visibilitychange'), fromEvent(window, 'focus'), fromEvent(window, 'blur')).pipe(debounceTime(50), startWith(true), map(() => document.hasFocus()), distinctUntilChanged(), shareReplay(1));
|
|
8
|
-
}
|
|
9
|
-
getVisibilityObservable() {
|
|
10
|
-
return this.visibility$;
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: VisibilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: VisibilityService, providedIn: 'root' }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: VisibilityService, decorators: [{
|
|
16
|
-
type: Injectable,
|
|
17
|
-
args: [{ providedIn: 'root' }]
|
|
18
|
-
}], ctorParameters: () => [] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Zpc2liaWxpdHkvdmlzaWJpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUcvRixNQUFNLE9BQU8saUJBQWlCO0lBSTFCO1FBRUksSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQ3BCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsRUFDdkMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFDMUIsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FDNUIsQ0FBQyxJQUFJLENBQ0YsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUNoQixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUM5QixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQUM7SUFDTixDQUFDO0lBRU0sdUJBQXVCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzhHQXRCUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07OzJGQUNsQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBWaXNpYmlsaXR5U2VydmljZVxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlzaWJpbGl0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBjb25zdHJ1Y3RvcigpXG4gICAge1xuICAgICAgICB0aGlzLnZpc2liaWxpdHkkID0gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICd2aXNpYmlsaXR5Y2hhbmdlJyksXG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAnZm9jdXMnKSxcbiAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdibHVyJylcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwKSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0cnVlKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudC5oYXNGb2N1cygpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmlzaWJpbGl0eU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPlxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlzaWJpbGl0eSQ7XG4gICAgfVxufVxuIl19
|