@stemy/ngx-utils 10.2.44 → 10.3.3
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/README.md +27 -27
- package/bundles/stemy-ngx-utils.umd.js +5654 -5640
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/bundles/stemy-ngx-utils.umd.min.js +1 -1
- package/bundles/stemy-ngx-utils.umd.min.js.map +1 -1
- package/esm2015/ngx-utils/common-types.js +111 -111
- package/esm2015/ngx-utils/components/dynamic-table/dynamic-table.component.js +139 -139
- package/esm2015/ngx-utils/components/pagination-menu/pagination-menu.component.js +96 -96
- package/esm2015/ngx-utils/components/unordered-list/unordered-list.component.js +51 -51
- package/esm2015/ngx-utils/directives/async-method.directive.js +58 -58
- package/esm2015/ngx-utils/directives/background.directive.js +51 -51
- package/esm2015/ngx-utils/directives/dynamic-table-template.directive.js +19 -19
- package/esm2015/ngx-utils/directives/global-template.directive.js +27 -27
- package/esm2015/ngx-utils/directives/icon.directive.js +59 -59
- package/esm2015/ngx-utils/directives/ngx-template-outlet.directive.js +88 -88
- package/esm2015/ngx-utils/directives/pagination-item.directive.js +33 -33
- package/esm2015/ngx-utils/directives/pagination.directive.js +76 -71
- package/esm2015/ngx-utils/directives/resource-if.directive.js +51 -51
- package/esm2015/ngx-utils/directives/sticky-class.directive.js +35 -35
- package/esm2015/ngx-utils/directives/sticky.directive.js +48 -48
- package/esm2015/ngx-utils/directives/unordered-list-item.directive.js +70 -70
- package/esm2015/ngx-utils/directives/unordered-list-template.directive.js +26 -26
- package/esm2015/ngx-utils/ngx-utils.module.js +232 -232
- package/esm2015/ngx-utils/pipes/chunk.pipe.js +21 -21
- package/esm2015/ngx-utils/pipes/entries.pipe.js +24 -24
- package/esm2015/ngx-utils/pipes/extra-item-properties.pipe.js +27 -27
- package/esm2015/ngx-utils/pipes/filter.pipe.js +38 -38
- package/esm2015/ngx-utils/pipes/find.pipe.js +25 -25
- package/esm2015/ngx-utils/pipes/format-number.pipe.js +19 -19
- package/esm2015/ngx-utils/pipes/get-offset.pipe.js +13 -13
- package/esm2015/ngx-utils/pipes/get-type.pipe.js +12 -12
- package/esm2015/ngx-utils/pipes/global-template.pipe.js +35 -35
- package/esm2015/ngx-utils/pipes/group-by.pipe.js +23 -23
- package/esm2015/ngx-utils/pipes/is-type.pipe.js +12 -12
- package/esm2015/ngx-utils/pipes/join.pipe.js +15 -15
- package/esm2015/ngx-utils/pipes/keys.pipe.js +18 -18
- package/esm2015/ngx-utils/pipes/map.pipe.js +25 -25
- package/esm2015/ngx-utils/pipes/max.pipe.js +22 -22
- package/esm2015/ngx-utils/pipes/min.pipe.js +22 -22
- package/esm2015/ngx-utils/pipes/reduce.pipe.js +26 -26
- package/esm2015/ngx-utils/pipes/remap.pipe.js +28 -28
- package/esm2015/ngx-utils/pipes/replace.pipe.js +12 -12
- package/esm2015/ngx-utils/pipes/reverse.pipe.js +20 -20
- package/esm2015/ngx-utils/pipes/round.pipe.js +19 -19
- package/esm2015/ngx-utils/pipes/safe-html.pipe.js +32 -32
- package/esm2015/ngx-utils/pipes/translate.pipe.js +81 -81
- package/esm2015/ngx-utils/pipes/values.pipe.js +18 -18
- package/esm2015/ngx-utils/plugins/resize-event.plugin.js +59 -59
- package/esm2015/ngx-utils/plugins/scroll-event.plugin.js +52 -52
- package/esm2015/ngx-utils/services/acl.service.js +78 -78
- package/esm2015/ngx-utils/services/api.service.js +35 -35
- package/esm2015/ngx-utils/services/auth.service.js +14 -14
- package/esm2015/ngx-utils/services/base-http.client.js +46 -46
- package/esm2015/ngx-utils/services/base-http.service.js +274 -274
- package/esm2015/ngx-utils/services/config.service.js +95 -95
- package/esm2015/ngx-utils/services/error-handler.service.js +49 -49
- package/esm2015/ngx-utils/services/events.service.js +24 -24
- package/esm2015/ngx-utils/services/formatter.service.js +44 -44
- package/esm2015/ngx-utils/services/global-template.service.js +35 -35
- package/esm2015/ngx-utils/services/icon.service.js +24 -24
- package/esm2015/ngx-utils/services/language.service.js +117 -117
- package/esm2015/ngx-utils/services/open-api.service.js +41 -41
- package/esm2015/ngx-utils/services/promise.service.js +49 -49
- package/esm2015/ngx-utils/services/state.service.js +143 -143
- package/esm2015/ngx-utils/services/static-language.service.js +144 -144
- package/esm2015/ngx-utils/services/storage.service.js +48 -48
- package/esm2015/ngx-utils/services/toaster.service.js +29 -29
- package/esm2015/ngx-utils/services/translated-url.serializer.js +70 -70
- package/esm2015/ngx-utils/services/universal.service.js +73 -73
- package/esm2015/ngx-utils/utils/ajax-request-handler.js +40 -40
- package/esm2015/ngx-utils/utils/array.utils.js +100 -90
- package/esm2015/ngx-utils/utils/auth.guard.js +153 -153
- package/esm2015/ngx-utils/utils/canvas.utils.js +388 -388
- package/esm2015/ngx-utils/utils/date.utils.js +28 -28
- package/esm2015/ngx-utils/utils/file.utils.js +90 -90
- package/esm2015/ngx-utils/utils/generic-value.js +20 -20
- package/esm2015/ngx-utils/utils/geometry.js +132 -132
- package/esm2015/ngx-utils/utils/initializer.js +17 -17
- package/esm2015/ngx-utils/utils/loader.utils.js +55 -55
- package/esm2015/ngx-utils/utils/math.utils.js +15 -15
- package/esm2015/ngx-utils/utils/object.utils.js +248 -248
- package/esm2015/ngx-utils/utils/observable.utils.js +63 -63
- package/esm2015/ngx-utils/utils/reflect.utils.js +33 -33
- package/esm2015/ngx-utils/utils/set.utils.js +20 -20
- package/esm2015/ngx-utils/utils/string.utils.js +28 -28
- package/esm2015/ngx-utils/utils/timer.utils.js +52 -52
- package/esm2015/ngx-utils/utils/unique.utils.js +24 -24
- package/esm2015/ngx-utils/utils/vector.js +77 -77
- package/esm2015/public_api.js +83 -83
- package/esm2015/stemy-ngx-utils.js +7 -7
- package/fesm2015/stemy-ngx-utils.js +4552 -4537
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/ngx-utils/common-types.d.ts +284 -284
- package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +43 -43
- package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +28 -28
- package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +22 -22
- package/ngx-utils/directives/async-method.directive.d.ts +16 -16
- package/ngx-utils/directives/background.directive.d.ts +14 -14
- package/ngx-utils/directives/dynamic-table-template.directive.d.ts +8 -8
- package/ngx-utils/directives/global-template.directive.d.ts +10 -10
- package/ngx-utils/directives/icon.directive.d.ts +20 -20
- package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +14 -14
- package/ngx-utils/directives/pagination-item.directive.d.ts +12 -12
- package/ngx-utils/directives/pagination.directive.d.ts +22 -21
- package/ngx-utils/directives/resource-if.directive.d.ts +16 -16
- package/ngx-utils/directives/sticky-class.directive.d.ts +12 -12
- package/ngx-utils/directives/sticky.directive.d.ts +16 -16
- package/ngx-utils/directives/unordered-list-item.directive.d.ts +25 -25
- package/ngx-utils/directives/unordered-list-template.directive.d.ts +10 -10
- package/ngx-utils/ngx-utils.module.d.ts +76 -76
- package/ngx-utils/pipes/chunk.pipe.d.ts +4 -4
- package/ngx-utils/pipes/entries.pipe.d.ts +9 -9
- package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +5 -5
- package/ngx-utils/pipes/filter.pipe.d.ts +5 -5
- package/ngx-utils/pipes/find.pipe.d.ts +5 -5
- package/ngx-utils/pipes/format-number.pipe.d.ts +7 -7
- package/ngx-utils/pipes/get-offset.pipe.d.ts +4 -4
- package/ngx-utils/pipes/get-type.pipe.d.ts +4 -4
- package/ngx-utils/pipes/global-template.pipe.d.ts +13 -13
- package/ngx-utils/pipes/group-by.pipe.d.ts +5 -5
- package/ngx-utils/pipes/is-type.pipe.d.ts +4 -4
- package/ngx-utils/pipes/join.pipe.d.ts +4 -4
- package/ngx-utils/pipes/keys.pipe.d.ts +4 -4
- package/ngx-utils/pipes/map.pipe.d.ts +5 -5
- package/ngx-utils/pipes/max.pipe.d.ts +4 -4
- package/ngx-utils/pipes/min.pipe.d.ts +4 -4
- package/ngx-utils/pipes/reduce.pipe.d.ts +5 -5
- package/ngx-utils/pipes/remap.pipe.d.ts +4 -4
- package/ngx-utils/pipes/replace.pipe.d.ts +4 -4
- package/ngx-utils/pipes/reverse.pipe.d.ts +4 -4
- package/ngx-utils/pipes/round.pipe.d.ts +7 -7
- package/ngx-utils/pipes/safe-html.pipe.d.ts +7 -7
- package/ngx-utils/pipes/translate.pipe.d.ts +15 -15
- package/ngx-utils/pipes/values.pipe.d.ts +4 -4
- package/ngx-utils/plugins/resize-event.plugin.d.ts +10 -10
- package/ngx-utils/plugins/scroll-event.plugin.d.ts +11 -11
- package/ngx-utils/services/acl.service.d.ts +12 -12
- package/ngx-utils/services/api.service.d.ts +14 -14
- package/ngx-utils/services/auth.service.d.ts +8 -8
- package/ngx-utils/services/base-http.client.d.ts +12 -12
- package/ngx-utils/services/base-http.service.d.ts +42 -42
- package/ngx-utils/services/config.service.d.ts +21 -21
- package/ngx-utils/services/error-handler.service.d.ts +10 -10
- package/ngx-utils/services/events.service.d.ts +11 -11
- package/ngx-utils/services/formatter.service.d.ts +12 -12
- package/ngx-utils/services/global-template.service.d.ts +16 -16
- package/ngx-utils/services/icon.service.d.ts +10 -10
- package/ngx-utils/services/language.service.d.ts +18 -18
- package/ngx-utils/services/open-api.service.d.ts +8 -8
- package/ngx-utils/services/promise.service.d.ts +15 -15
- package/ngx-utils/services/state.service.d.ts +41 -41
- package/ngx-utils/services/static-language.service.d.ts +41 -41
- package/ngx-utils/services/storage.service.d.ts +12 -12
- package/ngx-utils/services/toaster.service.d.ts +10 -10
- package/ngx-utils/services/translated-url.serializer.d.ts +16 -16
- package/ngx-utils/services/universal.service.d.ts +24 -24
- package/ngx-utils/utils/ajax-request-handler.d.ts +11 -11
- package/ngx-utils/utils/array.utils.d.ts +10 -9
- package/ngx-utils/utils/auth.guard.d.ts +26 -26
- package/ngx-utils/utils/canvas.utils.d.ts +13 -13
- package/ngx-utils/utils/date.utils.d.ts +8 -8
- package/ngx-utils/utils/file.utils.d.ts +14 -14
- package/ngx-utils/utils/generic-value.d.ts +8 -8
- package/ngx-utils/utils/geometry.d.ts +50 -50
- package/ngx-utils/utils/initializer.d.ts +11 -11
- package/ngx-utils/utils/loader.utils.d.ts +7 -7
- package/ngx-utils/utils/math.utils.d.ts +5 -5
- package/ngx-utils/utils/object.utils.d.ts +31 -31
- package/ngx-utils/utils/observable.utils.d.ts +12 -12
- package/ngx-utils/utils/reflect.utils.d.ts +9 -9
- package/ngx-utils/utils/set.utils.d.ts +4 -4
- package/ngx-utils/utils/string.utils.d.ts +7 -7
- package/ngx-utils/utils/timer.utils.d.ts +6 -6
- package/ngx-utils/utils/unique.utils.d.ts +5 -5
- package/ngx-utils/utils/vector.d.ts +23 -23
- package/package.json +1 -1
- package/public_api.d.ts +82 -82
- package/stemy-ngx-utils.d.ts +6 -6
- package/stemy-ngx-utils.metadata.json +1 -1
- package/tools/circular.js +116 -116
- package/tools/config.js +78 -78
- package/tools/icons.js +13 -13
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { from, Observable, Subject, Subscription } from "rxjs";
|
|
2
|
-
import { mergeMap } from "rxjs/operators";
|
|
3
|
-
import { canReportError } from "rxjs/internal/util/canReportError";
|
|
4
|
-
export class ObservableUtils {
|
|
5
|
-
static toSearch(search) {
|
|
6
|
-
return mergeMap(
|
|
7
|
-
// @dynamic
|
|
8
|
-
(token) => search.getSearchResults(token))(Observable.create(
|
|
9
|
-
// @dynamic
|
|
10
|
-
(observer) => {
|
|
11
|
-
observer.next(search.search);
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
static multiSubscription(...subscriptions) {
|
|
15
|
-
// @dynamic
|
|
16
|
-
const lambda = () => {
|
|
17
|
-
subscriptions.forEach(s => {
|
|
18
|
-
s.unsubscribe();
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
return new Subscription(lambda);
|
|
22
|
-
}
|
|
23
|
-
static subscribe(...subscribers) {
|
|
24
|
-
const subscriptions = [];
|
|
25
|
-
subscribers.forEach(info => {
|
|
26
|
-
let alreadyCalled = false;
|
|
27
|
-
info.subjects.forEach(subject => {
|
|
28
|
-
const ss = subject.subscribe(function () {
|
|
29
|
-
const args = Array.from(arguments);
|
|
30
|
-
args.unshift(subject);
|
|
31
|
-
alreadyCalled = true;
|
|
32
|
-
info.cb.apply(null, args);
|
|
33
|
-
});
|
|
34
|
-
subscriptions.push(ss);
|
|
35
|
-
});
|
|
36
|
-
if (alreadyCalled)
|
|
37
|
-
return;
|
|
38
|
-
info.cb();
|
|
39
|
-
});
|
|
40
|
-
return ObservableUtils.multiSubscription(...subscriptions);
|
|
41
|
-
}
|
|
42
|
-
static fromFunction(callbackFunc) {
|
|
43
|
-
let subject;
|
|
44
|
-
return new Observable((subscriber) => {
|
|
45
|
-
if (!subject) {
|
|
46
|
-
subject = new Subject();
|
|
47
|
-
try {
|
|
48
|
-
subject = from(callbackFunc());
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
if (canReportError(subject)) {
|
|
52
|
-
subject.error(err);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
console.warn(err);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return subject.subscribe(subscriber);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { from, Observable, Subject, Subscription } from "rxjs";
|
|
2
|
+
import { mergeMap } from "rxjs/operators";
|
|
3
|
+
import { canReportError } from "rxjs/internal/util/canReportError";
|
|
4
|
+
export class ObservableUtils {
|
|
5
|
+
static toSearch(search) {
|
|
6
|
+
return mergeMap(
|
|
7
|
+
// @dynamic
|
|
8
|
+
(token) => search.getSearchResults(token))(Observable.create(
|
|
9
|
+
// @dynamic
|
|
10
|
+
(observer) => {
|
|
11
|
+
observer.next(search.search);
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
static multiSubscription(...subscriptions) {
|
|
15
|
+
// @dynamic
|
|
16
|
+
const lambda = () => {
|
|
17
|
+
subscriptions.forEach(s => {
|
|
18
|
+
s.unsubscribe();
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
return new Subscription(lambda);
|
|
22
|
+
}
|
|
23
|
+
static subscribe(...subscribers) {
|
|
24
|
+
const subscriptions = [];
|
|
25
|
+
subscribers.forEach(info => {
|
|
26
|
+
let alreadyCalled = false;
|
|
27
|
+
info.subjects.forEach(subject => {
|
|
28
|
+
const ss = subject.subscribe(function () {
|
|
29
|
+
const args = Array.from(arguments);
|
|
30
|
+
args.unshift(subject);
|
|
31
|
+
alreadyCalled = true;
|
|
32
|
+
info.cb.apply(null, args);
|
|
33
|
+
});
|
|
34
|
+
subscriptions.push(ss);
|
|
35
|
+
});
|
|
36
|
+
if (alreadyCalled)
|
|
37
|
+
return;
|
|
38
|
+
info.cb();
|
|
39
|
+
});
|
|
40
|
+
return ObservableUtils.multiSubscription(...subscriptions);
|
|
41
|
+
}
|
|
42
|
+
static fromFunction(callbackFunc) {
|
|
43
|
+
let subject;
|
|
44
|
+
return new Observable((subscriber) => {
|
|
45
|
+
if (!subject) {
|
|
46
|
+
subject = new Subject();
|
|
47
|
+
try {
|
|
48
|
+
subject = from(callbackFunc());
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
if (canReportError(subject)) {
|
|
52
|
+
subject.error(err);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.warn(err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return subject.subscribe(subscriber);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3JrL25neC11dGlscy9zcmMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvdXRpbHMvb2JzZXJ2YWJsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFTakUsTUFBTSxPQUFPLGVBQWU7SUFFeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUF5QjtRQUNyQyxPQUFPLFFBQVE7UUFDWCxXQUFXO1FBQ1gsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FDcEQsQ0FDRyxVQUFVLENBQUMsTUFBTTtRQUNiLFdBQVc7UUFDWCxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ2QsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUNKLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxhQUE2QjtRQUNyRCxXQUFXO1FBQ1gsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2hCLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUNGLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUE4QjtRQUM5QyxNQUFNLGFBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ3pDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM1QixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO29CQUN6QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUN0QixhQUFhLEdBQUcsSUFBSSxDQUFDO29CQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxDQUFDO2dCQUNILGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLGFBQWE7Z0JBQUUsT0FBTztZQUMxQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBdUI7UUFDdkMsSUFBSSxPQUFZLENBQUM7UUFDakIsT0FBTyxJQUFJLFVBQVUsQ0FBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1YsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLElBQUk7b0JBQ0EsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2lCQUNsQztnQkFBQyxPQUFPLEdBQUcsRUFBRTtvQkFDVixJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDdEI7eUJBQU07d0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDckI7aUJBQ0o7YUFDSjtZQUNELE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge21lcmdlTWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHtjYW5SZXBvcnRFcnJvcn0gZnJvbSBcInJ4anMvaW50ZXJuYWwvdXRpbC9jYW5SZXBvcnRFcnJvclwiO1xyXG5cclxuaW1wb3J0IHtJU2VhcmNoT2JzZXJ2YWJsZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU3Vic2NyaWJlckluZm8ge1xyXG4gICAgc3ViamVjdHM6IE9ic2VydmFibGU8YW55PltdLFxyXG4gICAgY2I6IChldj86IE9ic2VydmFibGU8YW55PiwgLi4uYXJnczogYW55W10pID0+IGFueSxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9ic2VydmFibGVVdGlscyB7XHJcblxyXG4gICAgc3RhdGljIHRvU2VhcmNoKHNlYXJjaDogSVNlYXJjaE9ic2VydmFibGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBtZXJnZU1hcChcclxuICAgICAgICAgICAgLy8gQGR5bmFtaWNcclxuICAgICAgICAgICAgKHRva2VuOiBzdHJpbmcpID0+IHNlYXJjaC5nZXRTZWFyY2hSZXN1bHRzKHRva2VuKVxyXG4gICAgICAgICkoXHJcbiAgICAgICAgICAgIE9ic2VydmFibGUuY3JlYXRlKFxyXG4gICAgICAgICAgICAgICAgLy8gQGR5bmFtaWNcclxuICAgICAgICAgICAgICAgIChvYnNlcnZlcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChzZWFyY2guc2VhcmNoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIG11bHRpU3Vic2NyaXB0aW9uKC4uLnN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdKTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICAvLyBAZHluYW1pY1xyXG4gICAgICAgIGNvbnN0IGxhbWJkYSA9ICgpID0+IHtcclxuICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgICAgICAgcy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uKGxhbWJkYSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHN1YnNjcmliZSguLi5zdWJzY3JpYmVyczogSVN1YnNjcmliZXJJbmZvW10pOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICAgICAgc3Vic2NyaWJlcnMuZm9yRWFjaChpbmZvID0+IHtcclxuICAgICAgICAgICAgbGV0IGFscmVhZHlDYWxsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgaW5mby5zdWJqZWN0cy5mb3JFYWNoKHN1YmplY3QgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3MgPSBzdWJqZWN0LnN1YnNjcmliZShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJncyA9IEFycmF5LmZyb20oYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICBhcmdzLnVuc2hpZnQoc3ViamVjdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUNhbGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5mby5jYi5hcHBseShudWxsLCBhcmdzKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHNzKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmIChhbHJlYWR5Q2FsbGVkKSByZXR1cm47XHJcbiAgICAgICAgICAgIGluZm8uY2IoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZVV0aWxzLm11bHRpU3Vic2NyaXB0aW9uKC4uLnN1YnNjcmlwdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBmcm9tRnVuY3Rpb24oY2FsbGJhY2tGdW5jOiAoKSA9PiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGxldCBzdWJqZWN0OiBhbnk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4oKHN1YnNjcmliZXIpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFzdWJqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICBzdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdCA9IGZyb20oY2FsbGJhY2tGdW5jKCkpO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhblJlcG9ydEVycm9yKHN1YmplY3QpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHN1YmplY3Quc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import "reflect-metadata";
|
|
2
|
-
import { ObjectUtils } from "./object.utils";
|
|
3
|
-
export class ReflectUtils {
|
|
4
|
-
static defineMetadata(key, data, target, name) {
|
|
5
|
-
Reflect.defineMetadata(key, data, target, name);
|
|
6
|
-
}
|
|
7
|
-
static getMetadata(key, target, name) {
|
|
8
|
-
return Reflect.getMetadata(key, target, name);
|
|
9
|
-
}
|
|
10
|
-
static getOwnMetadata(key, target, name) {
|
|
11
|
-
return Reflect.getOwnMetadata(key, target, name);
|
|
12
|
-
}
|
|
13
|
-
static resolve(obj, injector) {
|
|
14
|
-
if (!ObjectUtils.checkInterface(obj, { func: "function" }))
|
|
15
|
-
return obj;
|
|
16
|
-
const factory = obj;
|
|
17
|
-
let depends = [];
|
|
18
|
-
if (factory.type) {
|
|
19
|
-
const method = ObjectUtils.getProperties(factory.type).find(function (key) {
|
|
20
|
-
return factory.type[key] === factory.func;
|
|
21
|
-
});
|
|
22
|
-
depends = ReflectUtils.getMetadata("factoryDependencies", factory.type, method) || [];
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
depends = ReflectUtils.getMetadata("factoryDependencies", factory.func) || [];
|
|
26
|
-
}
|
|
27
|
-
const parameters = depends.map(function (dep) {
|
|
28
|
-
return injector.get(dep);
|
|
29
|
-
}).concat(factory.params);
|
|
30
|
-
return factory.func.apply(null, parameters);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { ObjectUtils } from "./object.utils";
|
|
3
|
+
export class ReflectUtils {
|
|
4
|
+
static defineMetadata(key, data, target, name) {
|
|
5
|
+
Reflect.defineMetadata(key, data, target, name);
|
|
6
|
+
}
|
|
7
|
+
static getMetadata(key, target, name) {
|
|
8
|
+
return Reflect.getMetadata(key, target, name);
|
|
9
|
+
}
|
|
10
|
+
static getOwnMetadata(key, target, name) {
|
|
11
|
+
return Reflect.getOwnMetadata(key, target, name);
|
|
12
|
+
}
|
|
13
|
+
static resolve(obj, injector) {
|
|
14
|
+
if (!ObjectUtils.checkInterface(obj, { func: "function" }))
|
|
15
|
+
return obj;
|
|
16
|
+
const factory = obj;
|
|
17
|
+
let depends = [];
|
|
18
|
+
if (factory.type) {
|
|
19
|
+
const method = ObjectUtils.getProperties(factory.type).find(function (key) {
|
|
20
|
+
return factory.type[key] === factory.func;
|
|
21
|
+
});
|
|
22
|
+
depends = ReflectUtils.getMetadata("factoryDependencies", factory.type, method) || [];
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
depends = ReflectUtils.getMetadata("factoryDependencies", factory.func) || [];
|
|
26
|
+
}
|
|
27
|
+
const parameters = depends.map(function (dep) {
|
|
28
|
+
return injector.get(dep);
|
|
29
|
+
}).concat(factory.params);
|
|
30
|
+
return factory.func.apply(null, parameters);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3JrL25neC11dGlscy9zcmMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvdXRpbHMvcmVmbGVjdC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGtCQUFrQixDQUFDO0FBRzFCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sWUFBWTtJQUVyQixNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBVyxFQUFFLElBQWE7UUFDcEUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXLEVBQUUsTUFBVyxFQUFFLElBQWE7UUFDdEQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVyxFQUFFLE1BQVcsRUFBRSxJQUFhO1FBQ3pELE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFJLEdBQXdCLEVBQUUsUUFBa0I7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxDQUFDO1lBQUUsT0FBVSxHQUFHLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQW9CLEdBQUcsQ0FBQztRQUNyQyxJQUFJLE9BQU8sR0FBbUIsRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNkLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUc7Z0JBQ3JFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDekY7YUFBTTtZQUNILE9BQU8sR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakY7UUFDRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRztZQUN4QyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XHJcbmltcG9ydCB7SW5qZWN0b3IsIFR5cGVQcm92aWRlcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJUmVzb2x2ZUZhY3Rvcnl9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVmbGVjdFV0aWxzIHtcclxuXHJcbiAgICBzdGF0aWMgZGVmaW5lTWV0YWRhdGEoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSwgdGFyZ2V0OiBhbnksIG5hbWU/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKGtleSwgZGF0YSwgdGFyZ2V0LCBuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0TWV0YWRhdGEoa2V5OiBzdHJpbmcsIHRhcmdldDogYW55LCBuYW1lPzogc3RyaW5nKTogYW55IHtcclxuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShrZXksIHRhcmdldCwgbmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldE93bk1ldGFkYXRhKGtleTogc3RyaW5nLCB0YXJnZXQ6IGFueSwgbmFtZT86IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0T3duTWV0YWRhdGEoa2V5LCB0YXJnZXQsIG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyByZXNvbHZlPFQ+KG9iajogSVJlc29sdmVGYWN0b3J5IHwgVCwgaW5qZWN0b3I6IEluamVjdG9yKTogVCB7XHJcbiAgICAgICAgaWYgKCFPYmplY3RVdGlscy5jaGVja0ludGVyZmFjZShvYmosIHtmdW5jOiBcImZ1bmN0aW9uXCJ9KSkgcmV0dXJuIDxUPm9iajtcclxuICAgICAgICBjb25zdCBmYWN0b3J5ID0gPElSZXNvbHZlRmFjdG9yeT5vYmo7XHJcbiAgICAgICAgbGV0IGRlcGVuZHM6IFR5cGVQcm92aWRlcltdID0gW107XHJcbiAgICAgICAgaWYgKGZhY3RvcnkudHlwZSkge1xyXG4gICAgICAgICAgICBjb25zdCBtZXRob2QgPSBPYmplY3RVdGlscy5nZXRQcm9wZXJ0aWVzKGZhY3RvcnkudHlwZSkuZmluZChmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFjdG9yeS50eXBlW2tleV0gPT09IGZhY3RvcnkuZnVuYztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGRlcGVuZHMgPSBSZWZsZWN0VXRpbHMuZ2V0TWV0YWRhdGEoXCJmYWN0b3J5RGVwZW5kZW5jaWVzXCIsIGZhY3RvcnkudHlwZSwgbWV0aG9kKSB8fCBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkZXBlbmRzID0gUmVmbGVjdFV0aWxzLmdldE1ldGFkYXRhKFwiZmFjdG9yeURlcGVuZGVuY2llc1wiLCBmYWN0b3J5LmZ1bmMpIHx8IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gZGVwZW5kcy5tYXAoZnVuY3Rpb24gKGRlcCkge1xyXG4gICAgICAgICAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KGRlcCk7XHJcbiAgICAgICAgfSkuY29uY2F0KGZhY3RvcnkucGFyYW1zKTtcclxuICAgICAgICByZXR1cm4gZmFjdG9yeS5mdW5jLmFwcGx5KG51bGwsIHBhcmFtZXRlcnMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ObjectUtils } from "./object.utils";
|
|
2
|
-
export class SetUtils {
|
|
3
|
-
static equals(set, obj) {
|
|
4
|
-
if (!ObjectUtils.isSet(set) || !ObjectUtils.isSet(obj))
|
|
5
|
-
return false;
|
|
6
|
-
if (set.size != obj.size)
|
|
7
|
-
return false;
|
|
8
|
-
for (const item in set) {
|
|
9
|
-
if (!obj.has(item))
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
static addArray(set, items) {
|
|
15
|
-
if (!ObjectUtils.isSet(set) || !ObjectUtils.isArray(items))
|
|
16
|
-
return;
|
|
17
|
-
items.forEach(i => set.add(i));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ObjectUtils } from "./object.utils";
|
|
2
|
+
export class SetUtils {
|
|
3
|
+
static equals(set, obj) {
|
|
4
|
+
if (!ObjectUtils.isSet(set) || !ObjectUtils.isSet(obj))
|
|
5
|
+
return false;
|
|
6
|
+
if (set.size != obj.size)
|
|
7
|
+
return false;
|
|
8
|
+
for (const item in set) {
|
|
9
|
+
if (!obj.has(item))
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
static addArray(set, items) {
|
|
15
|
+
if (!ObjectUtils.isSet(set) || !ObjectUtils.isArray(items))
|
|
16
|
+
return;
|
|
17
|
+
items.forEach(i => set.add(i));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmsvbmd4LXV0aWxzL3NyYy8iLCJzb3VyY2VzIjpbIm5neC11dGlscy91dGlscy9zZXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxRQUFRO0lBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBYSxFQUFFLEdBQVE7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNsRCxPQUFPLEtBQUssQ0FBQztRQUNqQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUk7WUFDcEIsT0FBTyxLQUFLLENBQUM7UUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBYSxFQUFFLEtBQVk7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTZXRVdGlscyB7XHJcbiAgICBzdGF0aWMgZXF1YWxzKHNldDogU2V0PGFueT4sIG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFPYmplY3RVdGlscy5pc1NldChzZXQpIHx8ICFPYmplY3RVdGlscy5pc1NldChvYmopKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKHNldC5zaXplICE9IG9iai5zaXplKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIGluIHNldCkge1xyXG4gICAgICAgICAgICBpZiAoIW9iai5oYXMoaXRlbSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGFkZEFycmF5KHNldDogU2V0PGFueT4sIGl0ZW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuaXNTZXQoc2V0KSB8fCAhT2JqZWN0VXRpbHMuaXNBcnJheShpdGVtcykpIHJldHVybjtcclxuICAgICAgICBpdGVtcy5mb3JFYWNoKGkgPT4gc2V0LmFkZChpKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
export class StringUtils {
|
|
2
|
-
static concat(separator, ...strings) {
|
|
3
|
-
return strings.filter(
|
|
4
|
-
// @dynamic
|
|
5
|
-
str => !!str).join(separator);
|
|
6
|
-
}
|
|
7
|
-
static startsWith(str, ...starts) {
|
|
8
|
-
for (let i = 0; i < starts.length; i++) {
|
|
9
|
-
if (str.startsWith(starts[i]))
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
static has(str, ...parts) {
|
|
15
|
-
for (let i = 0; i < parts.length; i++) {
|
|
16
|
-
if (str.indexOf(parts[i]) >= 0)
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
static lcFirst(str) {
|
|
22
|
-
return str ? str.charAt(0).toLowerCase() + str.substring(1) : "";
|
|
23
|
-
}
|
|
24
|
-
static ucFirst(str) {
|
|
25
|
-
return str ? str.charAt(0).toUpperCase() + str.substring(1) : "";
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class StringUtils {
|
|
2
|
+
static concat(separator, ...strings) {
|
|
3
|
+
return strings.filter(
|
|
4
|
+
// @dynamic
|
|
5
|
+
str => !!str).join(separator);
|
|
6
|
+
}
|
|
7
|
+
static startsWith(str, ...starts) {
|
|
8
|
+
for (let i = 0; i < starts.length; i++) {
|
|
9
|
+
if (str.startsWith(starts[i]))
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
static has(str, ...parts) {
|
|
15
|
+
for (let i = 0; i < parts.length; i++) {
|
|
16
|
+
if (str.indexOf(parts[i]) >= 0)
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
static lcFirst(str) {
|
|
22
|
+
return str ? str.charAt(0).toLowerCase() + str.substring(1) : "";
|
|
23
|
+
}
|
|
24
|
+
static ucFirst(str) {
|
|
25
|
+
return str ? str.charAt(0).toUpperCase() + str.substring(1) : "";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmsvbmd4LXV0aWxzL3NyYy8iLCJzb3VyY2VzIjpbIm5neC11dGlscy91dGlscy9zdHJpbmcudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFFcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFpQixFQUFFLEdBQUcsT0FBaUI7UUFDakQsT0FBTyxPQUFPLENBQUMsTUFBTTtRQUNqQixXQUFXO1FBQ1gsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUNmLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVcsRUFBRSxHQUFHLE1BQWdCO1FBQzlDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7U0FDOUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBRyxLQUFlO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN0QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVztRQUN0QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFN0cmluZ1V0aWxzIHtcclxuXHJcbiAgICBzdGF0aWMgY29uY2F0KHNlcGFyYXRvcjogc3RyaW5nLCAuLi5zdHJpbmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0cmluZ3MuZmlsdGVyKFxyXG4gICAgICAgICAgICAvLyBAZHluYW1pY1xyXG4gICAgICAgICAgICBzdHIgPT4gISFzdHJcclxuICAgICAgICApLmpvaW4oc2VwYXJhdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgc3RhcnRzV2l0aChzdHI6IHN0cmluZywgLi4uc3RhcnRzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RhcnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChzdHIuc3RhcnRzV2l0aChzdGFydHNbaV0pKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBoYXMoc3RyOiBzdHJpbmcsIC4uLnBhcnRzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHN0ci5pbmRleE9mKHBhcnRzW2ldKSA+PSAwKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBsY0ZpcnN0KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gc3RyID8gc3RyLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgc3RyLnN1YnN0cmluZygxKSA6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHVjRmlyc3Qoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIgPyBzdHIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHIuc3Vic3RyaW5nKDEpIDogXCJcIjtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { ObjectUtils } from "./object.utils";
|
|
2
|
-
export class TimerUtils {
|
|
3
|
-
static createTimeout(func, time) {
|
|
4
|
-
// @dynamic
|
|
5
|
-
const run = (timer) => {
|
|
6
|
-
timer.clear();
|
|
7
|
-
timer.id = setTimeout(() => {
|
|
8
|
-
timer.id = null;
|
|
9
|
-
timer.func();
|
|
10
|
-
}, timer.time);
|
|
11
|
-
};
|
|
12
|
-
// @dynamic
|
|
13
|
-
const clear = (timer) => {
|
|
14
|
-
if (!timer.id)
|
|
15
|
-
return;
|
|
16
|
-
clearTimeout(timer.id);
|
|
17
|
-
timer.id = null;
|
|
18
|
-
};
|
|
19
|
-
return TimerUtils.createTimer(run, clear, func, time);
|
|
20
|
-
}
|
|
21
|
-
static createInterval(func, time) {
|
|
22
|
-
// @dynamic
|
|
23
|
-
const run = (timer) => {
|
|
24
|
-
timer.clear();
|
|
25
|
-
timer.id = setInterval(timer.func, timer.time);
|
|
26
|
-
};
|
|
27
|
-
// @dynamic
|
|
28
|
-
const clear = (timer) => {
|
|
29
|
-
if (!timer.id)
|
|
30
|
-
return;
|
|
31
|
-
clearInterval(timer.id);
|
|
32
|
-
timer.id = null;
|
|
33
|
-
};
|
|
34
|
-
return TimerUtils.createTimer(run, clear, func, time);
|
|
35
|
-
}
|
|
36
|
-
static createTimer(run, clear, func, time) {
|
|
37
|
-
const timer = {};
|
|
38
|
-
const setParams = (func, time) => {
|
|
39
|
-
timer.func = !ObjectUtils.isFunction(func) ? (() => { }) : func;
|
|
40
|
-
timer.time = !ObjectUtils.isNumber(time) ? 100 : time;
|
|
41
|
-
};
|
|
42
|
-
timer.run = () => run(timer);
|
|
43
|
-
timer.clear = () => clear(timer);
|
|
44
|
-
timer.set = (func, time) => {
|
|
45
|
-
setParams(func, time);
|
|
46
|
-
timer.run();
|
|
47
|
-
};
|
|
48
|
-
setParams(func, time);
|
|
49
|
-
return timer;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ObjectUtils } from "./object.utils";
|
|
2
|
+
export class TimerUtils {
|
|
3
|
+
static createTimeout(func, time) {
|
|
4
|
+
// @dynamic
|
|
5
|
+
const run = (timer) => {
|
|
6
|
+
timer.clear();
|
|
7
|
+
timer.id = setTimeout(() => {
|
|
8
|
+
timer.id = null;
|
|
9
|
+
timer.func();
|
|
10
|
+
}, timer.time);
|
|
11
|
+
};
|
|
12
|
+
// @dynamic
|
|
13
|
+
const clear = (timer) => {
|
|
14
|
+
if (!timer.id)
|
|
15
|
+
return;
|
|
16
|
+
clearTimeout(timer.id);
|
|
17
|
+
timer.id = null;
|
|
18
|
+
};
|
|
19
|
+
return TimerUtils.createTimer(run, clear, func, time);
|
|
20
|
+
}
|
|
21
|
+
static createInterval(func, time) {
|
|
22
|
+
// @dynamic
|
|
23
|
+
const run = (timer) => {
|
|
24
|
+
timer.clear();
|
|
25
|
+
timer.id = setInterval(timer.func, timer.time);
|
|
26
|
+
};
|
|
27
|
+
// @dynamic
|
|
28
|
+
const clear = (timer) => {
|
|
29
|
+
if (!timer.id)
|
|
30
|
+
return;
|
|
31
|
+
clearInterval(timer.id);
|
|
32
|
+
timer.id = null;
|
|
33
|
+
};
|
|
34
|
+
return TimerUtils.createTimer(run, clear, func, time);
|
|
35
|
+
}
|
|
36
|
+
static createTimer(run, clear, func, time) {
|
|
37
|
+
const timer = {};
|
|
38
|
+
const setParams = (func, time) => {
|
|
39
|
+
timer.func = !ObjectUtils.isFunction(func) ? (() => { }) : func;
|
|
40
|
+
timer.time = !ObjectUtils.isNumber(time) ? 100 : time;
|
|
41
|
+
};
|
|
42
|
+
timer.run = () => run(timer);
|
|
43
|
+
timer.clear = () => clear(timer);
|
|
44
|
+
timer.set = (func, time) => {
|
|
45
|
+
setParams(func, time);
|
|
46
|
+
timer.run();
|
|
47
|
+
};
|
|
48
|
+
setParams(func, time);
|
|
49
|
+
return timer;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiRDovV29yay9uZ3gtdXRpbHMvc3JjLyIsInNvdXJjZXMiOlsibmd4LXV0aWxzL3V0aWxzL3RpbWVyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxNQUFNLE9BQU8sVUFBVTtJQUVuQixNQUFNLENBQUMsYUFBYSxDQUFDLElBQWUsRUFBRSxJQUFhO1FBQy9DLFdBQVc7UUFDWCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzFCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDdkIsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUNGLFdBQVc7UUFDWCxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFBRSxPQUFPO1lBQ3RCLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQWUsRUFBRSxJQUFhO1FBQ2hELFdBQVc7UUFDWCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzFCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQztRQUNGLFdBQVc7UUFDWCxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFBRSxPQUFPO1lBQ3RCLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEIsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQWMsRUFBRSxLQUFnQixFQUFFLElBQWMsRUFBRSxJQUFZO1FBQ3JGLE1BQU0sS0FBSyxHQUFXLEVBQUUsQ0FBQztRQUN6QixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtZQUMvQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQy9ELEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRCxDQUFDLENBQUM7UUFDRixLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBYyxFQUFFLElBQVksRUFBRSxFQUFFO1lBQ3pDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztRQUNGLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJVGltZXJ9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vb2JqZWN0LnV0aWxzXCI7XHJcblxyXG50eXBlIFRpbWVyRnVuYyA9ICh0aW1lcjogSVRpbWVyKSA9PiB2b2lkO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVyVXRpbHMge1xyXG5cclxuICAgIHN0YXRpYyBjcmVhdGVUaW1lb3V0KGZ1bmM/OiBGdW5jdGlvbiwgdGltZT86IG51bWJlcik6IElUaW1lciB7XHJcbiAgICAgICAgLy8gQGR5bmFtaWNcclxuICAgICAgICBjb25zdCBydW4gPSAodGltZXI6IElUaW1lcikgPT4ge1xyXG4gICAgICAgICAgICB0aW1lci5jbGVhcigpO1xyXG4gICAgICAgICAgICB0aW1lci5pZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGltZXIuaWQgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdGltZXIuZnVuYygpO1xyXG4gICAgICAgICAgICB9LCB0aW1lci50aW1lKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8vIEBkeW5hbWljXHJcbiAgICAgICAgY29uc3QgY2xlYXIgPSAodGltZXI6IElUaW1lcikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRpbWVyLmlkKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5pZCk7XHJcbiAgICAgICAgICAgIHRpbWVyLmlkID0gbnVsbDtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBUaW1lclV0aWxzLmNyZWF0ZVRpbWVyKHJ1biwgY2xlYXIsIGZ1bmMsIHRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBjcmVhdGVJbnRlcnZhbChmdW5jPzogRnVuY3Rpb24sIHRpbWU/OiBudW1iZXIpOiBJVGltZXIge1xyXG4gICAgICAgIC8vIEBkeW5hbWljXHJcbiAgICAgICAgY29uc3QgcnVuID0gKHRpbWVyOiBJVGltZXIpID0+IHtcclxuICAgICAgICAgICAgdGltZXIuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGltZXIuaWQgPSBzZXRJbnRlcnZhbCh0aW1lci5mdW5jLCB0aW1lci50aW1lKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8vIEBkeW5hbWljXHJcbiAgICAgICAgY29uc3QgY2xlYXIgPSAodGltZXI6IElUaW1lcikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRpbWVyLmlkKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIuaWQpO1xyXG4gICAgICAgICAgICB0aW1lci5pZCA9IG51bGw7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gVGltZXJVdGlscy5jcmVhdGVUaW1lcihydW4sIGNsZWFyLCBmdW5jLCB0aW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjcmVhdGVUaW1lcihydW46IFRpbWVyRnVuYywgY2xlYXI6IFRpbWVyRnVuYywgZnVuYzogRnVuY3Rpb24sIHRpbWU6IG51bWJlcik6IElUaW1lciB7XHJcbiAgICAgICAgY29uc3QgdGltZXI6IElUaW1lciA9IHt9O1xyXG4gICAgICAgIGNvbnN0IHNldFBhcmFtcyA9IChmdW5jOiBGdW5jdGlvbiwgdGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHRpbWVyLmZ1bmMgPSAhT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihmdW5jKSA/ICgoKSA9PiB7fSkgOiBmdW5jO1xyXG4gICAgICAgICAgICB0aW1lci50aW1lID0gIU9iamVjdFV0aWxzLmlzTnVtYmVyKHRpbWUpID8gMTAwIDogdGltZTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRpbWVyLnJ1biA9ICgpID0+IHJ1bih0aW1lcik7XHJcbiAgICAgICAgdGltZXIuY2xlYXIgPSAoKSA9PiBjbGVhcih0aW1lcik7XHJcbiAgICAgICAgdGltZXIuc2V0ID0gKGZ1bmM6IEZ1bmN0aW9uLCB0aW1lOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgc2V0UGFyYW1zKGZ1bmMsIHRpbWUpO1xyXG4gICAgICAgICAgICB0aW1lci5ydW4oKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHNldFBhcmFtcyhmdW5jLCB0aW1lKTtcclxuICAgICAgICByZXR1cm4gdGltZXI7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export class UniqueUtils {
|
|
2
|
-
static uuid() {
|
|
3
|
-
if (typeof window !== "undefined" && typeof window.crypto !== "undefined" && typeof window.crypto.getRandomValues !== "undefined") {
|
|
4
|
-
const buf = new Uint16Array(8);
|
|
5
|
-
window.crypto.getRandomValues(buf);
|
|
6
|
-
return (this.pad4(buf[0]) + this.pad4(buf[1]) + "-" + this.pad4(buf[2]) + "-" + this.pad4(buf[3]) + "-" + this.pad4(buf[4]) + "-" + this.pad4(buf[5]) + this.pad4(buf[6]) + this.pad4(buf[7]));
|
|
7
|
-
}
|
|
8
|
-
return this.random4() + this.random4() + "-" + this.random4() + "-" + this.random4() + "-" +
|
|
9
|
-
this.random4() + "-" + this.random4() + this.random4() + this.random4();
|
|
10
|
-
}
|
|
11
|
-
static pad4(num) {
|
|
12
|
-
let ret = num.toString(16);
|
|
13
|
-
while (ret.length < 4) {
|
|
14
|
-
ret = "0" + ret;
|
|
15
|
-
}
|
|
16
|
-
return ret;
|
|
17
|
-
}
|
|
18
|
-
static random4() {
|
|
19
|
-
return Math.floor((1 + Math.random()) * 0x10000)
|
|
20
|
-
.toString(16)
|
|
21
|
-
.substring(1);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class UniqueUtils {
|
|
2
|
+
static uuid() {
|
|
3
|
+
if (typeof window !== "undefined" && typeof window.crypto !== "undefined" && typeof window.crypto.getRandomValues !== "undefined") {
|
|
4
|
+
const buf = new Uint16Array(8);
|
|
5
|
+
window.crypto.getRandomValues(buf);
|
|
6
|
+
return (this.pad4(buf[0]) + this.pad4(buf[1]) + "-" + this.pad4(buf[2]) + "-" + this.pad4(buf[3]) + "-" + this.pad4(buf[4]) + "-" + this.pad4(buf[5]) + this.pad4(buf[6]) + this.pad4(buf[7]));
|
|
7
|
+
}
|
|
8
|
+
return this.random4() + this.random4() + "-" + this.random4() + "-" + this.random4() + "-" +
|
|
9
|
+
this.random4() + "-" + this.random4() + this.random4() + this.random4();
|
|
10
|
+
}
|
|
11
|
+
static pad4(num) {
|
|
12
|
+
let ret = num.toString(16);
|
|
13
|
+
while (ret.length < 4) {
|
|
14
|
+
ret = "0" + ret;
|
|
15
|
+
}
|
|
16
|
+
return ret;
|
|
17
|
+
}
|
|
18
|
+
static random4() {
|
|
19
|
+
return Math.floor((1 + Math.random()) * 0x10000)
|
|
20
|
+
.toString(16)
|
|
21
|
+
.substring(1);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmsvbmd4LXV0aWxzL3NyYy8iLCJzb3VyY2VzIjpbIm5neC11dGlscy91dGlscy91bmlxdWUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFFcEIsTUFBTSxDQUFDLElBQUk7UUFDUCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssV0FBVyxJQUFJLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEtBQUssV0FBVyxFQUFFO1lBQy9ILE1BQU0sR0FBRyxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbE07UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUc7WUFDdEYsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoRixDQUFDO0lBRU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFXO1FBQzNCLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsT0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztTQUNuQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDM0MsUUFBUSxDQUFDLEVBQUUsQ0FBQzthQUNaLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVW5pcXVlVXRpbHMge1xyXG5cclxuICAgIHN0YXRpYyB1dWlkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHdpbmRvdy5jcnlwdG8gIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHdpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzICE9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJ1ZiA9IG5ldyBVaW50MTZBcnJheSg4KTtcclxuICAgICAgICAgICAgd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYnVmKTtcclxuICAgICAgICAgICAgcmV0dXJuICh0aGlzLnBhZDQoYnVmWzBdKSArIHRoaXMucGFkNChidWZbMV0pICsgXCItXCIgKyB0aGlzLnBhZDQoYnVmWzJdKSArIFwiLVwiICsgdGhpcy5wYWQ0KGJ1ZlszXSkgKyBcIi1cIiArIHRoaXMucGFkNChidWZbNF0pICsgXCItXCIgKyB0aGlzLnBhZDQoYnVmWzVdKSArIHRoaXMucGFkNChidWZbNl0pICsgdGhpcy5wYWQ0KGJ1Zls3XSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5yYW5kb200KCkgKyB0aGlzLnJhbmRvbTQoKSArIFwiLVwiICsgdGhpcy5yYW5kb200KCkgKyBcIi1cIiArIHRoaXMucmFuZG9tNCgpICsgXCItXCIgK1xyXG4gICAgICAgICAgICB0aGlzLnJhbmRvbTQoKSArIFwiLVwiICsgdGhpcy5yYW5kb200KCkgKyB0aGlzLnJhbmRvbTQoKSArIHRoaXMucmFuZG9tNCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIHBhZDQobnVtOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXQgPSBudW0udG9TdHJpbmcoMTYpO1xyXG4gICAgICAgIHdoaWxlIChyZXQubGVuZ3RoIDwgNCkge1xyXG4gICAgICAgICAgICByZXQgPSBcIjBcIiArIHJldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyByYW5kb200KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKDEgKyBNYXRoLnJhbmRvbSgpKSAqIDB4MTAwMDApXHJcbiAgICAgICAgICAgIC50b1N0cmluZygxNilcclxuICAgICAgICAgICAgLnN1YnN0cmluZygxKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|