@osovitny/anatoly 3.16.106 → 3.16.109
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/assets/styles/styles.scss +0 -1
- package/esm2022/lib/core/localization/localization.service.mjs +10 -3
- package/esm2022/lib/core/localization/localize.pipe.mjs +4 -4
- package/esm2022/lib/core/utils.mjs +4 -1
- package/fesm2022/osovitny-anatoly.mjs +108 -99
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/core/localization/localization.service.d.ts +1 -1
- package/lib/core/utils.d.ts +1 -0
- package/package.json +1 -1
|
@@ -24,6 +24,7 @@ import enUS from 'date-fns/locale/en-US';
|
|
|
24
24
|
//App
|
|
25
25
|
import { Convert } from '../converts/convert';
|
|
26
26
|
import { Subs } from '../subs';
|
|
27
|
+
import { Utils } from '../utils';
|
|
27
28
|
import * as i0 from "@angular/core";
|
|
28
29
|
import * as i1 from "@ngx-translate/core";
|
|
29
30
|
export class LocalizationService {
|
|
@@ -124,7 +125,9 @@ export class LocalizationService {
|
|
|
124
125
|
}
|
|
125
126
|
//UTC Operations --------------------------------------------------------------
|
|
126
127
|
getUTCToLocalizedDate(key) {
|
|
127
|
-
|
|
128
|
+
if (!Utils.isString(key)) {
|
|
129
|
+
key = key.toString();
|
|
130
|
+
}
|
|
128
131
|
if (key) {
|
|
129
132
|
if (key.indexOf("T") == -1) {
|
|
130
133
|
key = key.replace(" ", "T");
|
|
@@ -133,6 +136,7 @@ export class LocalizationService {
|
|
|
133
136
|
key = key + "Z";
|
|
134
137
|
}
|
|
135
138
|
}
|
|
139
|
+
let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
136
140
|
if (browserTimeZone) {
|
|
137
141
|
let localDateTime = utcToZonedTime(key, browserTimeZone);
|
|
138
142
|
return format(localDateTime, 'dd.MM.yyyy', this.dateFnsLocale);
|
|
@@ -142,7 +146,9 @@ export class LocalizationService {
|
|
|
142
146
|
}
|
|
143
147
|
}
|
|
144
148
|
getUTCToLocalizedDateTime(key) {
|
|
145
|
-
|
|
149
|
+
if (!Utils.isString(key)) {
|
|
150
|
+
key = key.toString();
|
|
151
|
+
}
|
|
146
152
|
if (key) {
|
|
147
153
|
if (key.indexOf("T") == -1) {
|
|
148
154
|
key = key.replace(" ", "T");
|
|
@@ -151,6 +157,7 @@ export class LocalizationService {
|
|
|
151
157
|
key = key + "Z";
|
|
152
158
|
}
|
|
153
159
|
}
|
|
160
|
+
let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
154
161
|
if (browserTimeZone) {
|
|
155
162
|
let localDateTime = utcToZonedTime(key, browserTimeZone);
|
|
156
163
|
return format(localDateTime, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);
|
|
@@ -204,4 +211,4 @@ export class LocalizationService {
|
|
|
204
211
|
}], function () { return [{ type: i1.TranslateService }]; }, { langchange: [{
|
|
205
212
|
type: Output
|
|
206
213
|
}] }); })();
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzVFLFVBQVU7QUFDVixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxnREFBZ0Q7QUFDaEQsMERBQTBEO0FBQzFELE9BQU8sSUFBSSxNQUFNLHVCQUF1QixDQUFDO0FBRXpDLEtBQUs7QUFDTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBSy9CLE1BQU0sT0FBTyxtQkFBbUI7SUFXVjtJQVZaLElBQUksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hCLGFBQWEsQ0FBTTtJQUUzQixNQUFNO0lBQ0Usa0JBQWtCLEdBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFFL0IsU0FBUztJQUNDLFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU3RCxZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM3QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixD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Q3ZFLElBQUksZUFBZSxFQUFFO2dCQUNuQixNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUMzRDtpQkFDSTtnQkFDSCxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDcEM7U0FDRjtRQUNELE1BQ0E7WUFDRSxJQUFJLElBQUksRUFBRTtnQkFDUixPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO2FBQ3RFO1NBQ0Y7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzZFQWhOVSxtQkFBbUI7Z0VBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRmxCLE1BQU07O3VGQUVQLG1CQUFtQjtjQUgvQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7bUVBVVcsVUFBVTtrQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwNSBNYXkgMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIExhbmdDaGFuZ2VFdmVudCB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuLy9EYXRlIGZuc1xyXG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQsIGZvcm1hdERpc3RhbmNlVG9Ob3csIGZvcm1hdERpc3RhbmNlIH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyB1dGNUb1pvbmVkVGltZSB9IGZyb20gJ2RhdGUtZm5zLXR6JztcclxuXHJcbi8vIFZhZGltT1M6IElFMTEtZml4LiBET04nVCBjaGFuZ2UgbmV4dCBpbXBvcnRzIVxyXG4vLyBSZWFzb246IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9pc3N1ZXMvNjY2XHJcbmltcG9ydCBlblVTIGZyb20gJ2RhdGUtZm5zL2xvY2FsZS9lbi1VUyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBDb252ZXJ0IH0gZnJvbSAnLi4vY29udmVydHMvY29udmVydCc7XHJcbmltcG9ydCB7IFN1YnMgfSBmcm9tICcuLi9zdWJzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3ViczogU3VicyA9IG5ldyBTdWJzKCk7XHJcbiAgcHJpdmF0ZSBkYXRlRm5zTG9jYWxlOiBhbnk7XHJcblxyXG4gIC8vaTEwblxyXG4gIHByaXZhdGUgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBhbnkgPSBbJ2VuJywgJ3J1JywgJ2VzJ107XHJcbiAgcHJpdmF0ZSBkZWZhdWx0TGFuZ3VhZ2UgPSAnZW4nO1xyXG5cclxuICAvL091dHB1dHNcclxuICBAT3V0cHV0KCkgbGFuZ2NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNldFN1cHBvcnRlZExhbmd1YWdlcyh0aGlzLnN1cHBvcnRlZExhbmd1YWdlcyk7XHJcbiAgICB0aGlzLnNldERlZmF1bHRMYW5ndWFnZSh0aGlzLmRlZmF1bHRMYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXQoc3RyOiBzdHJpbmcsIGFyZ3MpIHtcclxuICAgIHJldHVybiBzdHIucmVwbGFjZSgveyhcXGQrKX0vZywgZnVuY3Rpb24gKG1hdGNoLCBudW1iZXIpIHtcclxuICAgICAgcmV0dXJuIHR5cGVvZiBhcmdzW251bWJlcl0gIT0gJ3VuZGVmaW5lZCdcclxuICAgICAgICA/IGFyZ3NbbnVtYmVyXVxyXG4gICAgICAgIDogbWF0Y2hcclxuICAgICAgICA7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25maWd1cmVTZXR0aW5ncyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiBzdHJpbmcge1xyXG4gICAgLy9pMTBuXHJcbiAgICBjb25zdCBicm93c2VyTGFuZyA9IHRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpO1xyXG4gICAgY29uc3QgbGFuZyA9IGJyb3dzZXJMYW5nLm1hdGNoKC9lbnxydXxlcy8pID8gYnJvd3NlckxhbmcgOiB0aGlzLmRlZmF1bHRMYW5ndWFnZTtcclxuXHJcbiAgICAvL2RhdGVzXHJcbiAgICB0aGlzLmRhdGVGbnNMb2NhbGUgPSB7IGxvY2FsZTogZW5VUyB9O1xyXG5cclxuICAgIHRoaXMuc3Vicy5zaW5rID0gdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6IExhbmdDaGFuZ2VFdmVudCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnTGFuZ3VhZ2UgQ2hhbmdlZCcpO1xyXG4gICAgICB0aGlzLmxhbmdjaGFuZ2UuZW1pdChldmVudC5sYW5nKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBsYW5nO1xyXG4gIH1cclxuXHJcbiAgLy9MYW5ndWFnZXNcclxuICBzZXRTdXBwb3J0ZWRMYW5ndWFnZXMobGFuZ3VhZ2VzOiBzdHJpbmdbXSk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUuYWRkTGFuZ3MobGFuZ3VhZ2VzKTtcclxuICB9XHJcblxyXG4gIHNldERlZmF1bHRMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKGxhbmcpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIGdldEJyb3dzZXJMYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCk7XHJcbiAgfVxyXG5cclxuICAvL0RhdGVzXHJcbiAgZ2V0RGF0ZWZuc0xvY2FsZSgpOiBhbnkge1xyXG4gICAgbGV0IGRmbkxvY2FsZTogYW55O1xyXG5cclxuICAgIHN3aXRjaCAodGhpcy5nZXRCcm93c2VyTGFuZ3VhZ2UoKSkge1xyXG4gICAgICBjYXNlICdlbic6XHJcbiAgICAgICAgZGZuTG9jYWxlID0geyBsb2NhbGU6IGVuVVMgfTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgZGZuTG9jYWxlID0geyBsb2NhbGU6IGVuVVMgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGZuTG9jYWxlO1xyXG4gIH1cclxuXHJcbiAgLy9nZXRMb2NhbGl6ZWQuLi5cclxuICBnZXRMb2NhbGl6ZWRWYWx1ZShrZXk6IHN0cmluZywgcGFyYW1zPzogYW55W10pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGtleSk7XHJcblxyXG4gICAgaWYgKCFwYXJhbXMgfHwgcGFyYW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0KHZhbHVlLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxpemVkRGF0ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoaXNWYWxpZChuZXcgRGF0ZShrZXkpKSkge1xyXG4gICAgICByZXR1cm4gZm9ybWF0KG5ldyBEYXRlKGtleSksICdkZC5NTS55eXl5JywgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJJbnZhbGlkIERhdGVcIjtcclxuICB9XHJcblxyXG4gIGdldExvY2FsaXplZERhdGVUaW1lKGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgZGF0ZVZhbHVlID0gbmV3IERhdGUoa2V5KTtcclxuICAgIGlmIChpc1ZhbGlkKGRhdGVWYWx1ZSkpIHtcclxuICAgICAgbGV0IGxvY2FsRGF0ZSA9IENvbnZlcnQudG9Mb2NhbGl6ZWREYXRlVGltZShkYXRlVmFsdWUpO1xyXG4gICAgICByZXR1cm4gZm9ybWF0KGxvY2FsRGF0ZSwgJ2RkLk1NLnl5eXkgSEg6bW0nLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxpemVkRGlzdGFuY2VJbldvcmRzKGVuZGVkRGF0ZTogc3RyaW5nLCBzdGFydGVkRGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1ZhbGlkKG5ldyBEYXRlKGVuZGVkRGF0ZSkpICYmIGlzVmFsaWQobmV3IERhdGUoc3RhcnRlZERhdGUpKSkge1xyXG4gICAgICByZXR1cm4gZm9ybWF0RGlzdGFuY2UobmV3IERhdGUoZW5kZWREYXRlKSwgbmV3IERhdGUoc3RhcnRlZERhdGUpLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxpemVkRGlzdGFuY2VUb05vd0luV29yZHMoZGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1ZhbGlkKG5ldyBEYXRlKGRhdGUpKSkge1xyXG4gICAgICByZXR1cm4gZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZShkYXRlKSwgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJJbnZhbGlkIERhdGVcIjtcclxuICB9XHJcblxyXG4gIC8vVVRDIE9wZXJhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICBnZXRVVENUb0xvY2FsaXplZERhdGUoa2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBicm93c2VyVGltZVpvbmUgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7XHJcblxyXG4gICAgaWYgKGtleSkge1xyXG4gICAgICBpZiAoa2V5LmluZGV4T2YoXCJUXCIpID09IC0xKSB7XHJcbiAgICAgICAga2V5ID0ga2V5LnJlcGxhY2UoXCIgXCIsIFwiVFwiKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoa2V5LmluZGV4T2YoXCJaXCIpID09IC0xKSB7XHJcbiAgICAgICAga2V5ID0ga2V5ICsgXCJaXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoYnJvd3NlclRpbWVab25lKSB7XHJcbiAgICAgIGxldCBsb2NhbERhdGVUaW1lID0gdXRjVG9ab25lZFRpbWUoa2V5LCBicm93c2VyVGltZVpvbmUpO1xyXG4gICAgICByZXR1cm4gZm9ybWF0KGxvY2FsRGF0ZVRpbWUsICdkZC5NTS55eXl5JywgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZm9ybWF0KG5ldyBEYXRlKGtleSksICdkZC5NTS55eXl5JywgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFVUQ1RvTG9jYWxpemVkRGF0ZVRpbWUoa2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBicm93c2VyVGltZVpvbmUgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7XHJcblxyXG4gICAgaWYgKGtleSkge1xyXG4gICAgICBpZiAoa2V5LmluZGV4T2YoXCJUXCIpID09IC0xKSB7XHJcbiAgICAgICAga2V5ID0ga2V5LnJlcGxhY2UoXCIgXCIsIFwiVFwiKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoa2V5LmluZGV4T2YoXCJaXCIpID09IC0xKSB7XHJcbiAgICAgICAga2V5ID0ga2V5ICsgXCJaXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoYnJvd3NlclRpbWVab25lKSB7XHJcbiAgICAgIGxldCBsb2NhbERhdGVUaW1lID0gdXRjVG9ab25lZFRpbWUoa2V5LCBicm93c2VyVGltZVpvbmUpO1xyXG4gICAgICByZXR1cm4gZm9ybWF0KGxvY2FsRGF0ZVRpbWUsICdkZC5NTS55eXl5IEhIOm1tJywgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZm9ybWF0KG5ldyBEYXRlKGtleSksICdkZC5NTS55eXl5IEhIOm1tJywgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vaHR0cHM6Ly9kYXRlLWZucy5vcmcvdjEuMzAuMS9kb2NzL2Rpc3RhbmNlSW5Xb3Jkc1xyXG4gIGdldFVUQ1RvTG9jYWxpemVkRGlzdGFuY2VUb05vd0luV29yZHMoZGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGRhdGUgPSB0aGlzLnNhZmVVdGNUb1pvbmVkVGltZShkYXRlKTtcclxuXHJcbiAgICBpZiAoaXNWYWxpZChuZXcgRGF0ZShkYXRlKSkpIHtcclxuICAgICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlVG9Ob3cobmV3IERhdGUoZGF0ZSksIHRoaXMuZGF0ZUZuc0xvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiSW52YWxpZCBEYXRlXCI7XHJcbiAgfVxyXG5cclxuICBzYWZlVXRjVG9ab25lZFRpbWUoZGF0ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gZGF0ZTtcclxuXHJcbiAgICB0cnlcclxuICAgIHtcclxuICAgICAgaWYgKGRhdGUpIHtcclxuICAgICAgICBpZiAoZGF0ZS5pbmRleE9mKFwiVFwiKSA9PSAtMSkge1xyXG4gICAgICAgICAgZGF0ZSA9IGRhdGUucmVwbGFjZShcIiBcIiwgXCJUXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRhdGUuaW5kZXhPZihcIlpcIikgPT0gLTEpIHtcclxuICAgICAgICAgIGRhdGUgPSBkYXRlICsgXCJaXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgYnJvd3NlclRpbWVab25lID0gSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xyXG4gICAgICBpZiAoYnJvd3NlclRpbWVab25lKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdXRjVG9ab25lZFRpbWUoZGF0ZSwgYnJvd3NlclRpbWVab25lKS50b1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpLnRvU3RyaW5nKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoXHJcbiAgICB7XHJcbiAgICAgIGlmIChkYXRlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJVVEMgdG8gTG9jYWwgY29udmVyc2lvbiBmYWlsZWQgZm9yIDpcIiArIGRhdGUudG9TdHJpbmcoKSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzVFLFVBQVU7QUFDVixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxnREFBZ0Q7QUFDaEQsMERBQTBEO0FBQzFELE9BQU8sSUFBSSxNQUFNLHVCQUF1QixDQUFDO0FBRXpDLEtBQUs7QUFDTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFLakMsTUFBTSxPQUFPLG1CQUFtQjtJQVdWO0lBVlosSUFBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEIsYUFBYSxDQUFNO0lBRTNCLE1BQU07SUFDRSxrQkFBa0IsR0FBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsZUFBZSxHQUFHLElBQUksQ0FBQztJQUUvQixTQUFTO0lBQ0MsVUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTdELFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzdDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMs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LElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUMvQjtnQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7b0JBQzNCLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO2lCQUNuQjthQUNGO1lBRUQsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUN2RSxJQUFJLGVBQWUsRUFBRTtnQkFDbkIsTUFBTSxHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDM0Q7aUJBQ0k7Z0JBQ0gsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3BDO1NBQ0Y7UUFDRCxNQUNBO1lBQ0UsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTthQUN0RTtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs2RUF6TlUsbUJBQW1CO2dFQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CLG1CQUZsQixNQUFNOzt1RkFFUCxtQkFBbUI7Y0FIL0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CO21FQVVXLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMDUgTWF5IDIwMjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlLCBMYW5nQ2hhbmdlRXZlbnQgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbi8vRGF0ZSBmbnNcclxuaW1wb3J0IHsgZm9ybWF0LCBpc1ZhbGlkLCBmb3JtYXREaXN0YW5jZVRvTm93LCBmb3JtYXREaXN0YW5jZSB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgdXRjVG9ab25lZFRpbWUgfSBmcm9tICdkYXRlLWZucy10eic7XHJcblxyXG4vLyBWYWRpbU9TOiBJRTExLWZpeC4gRE9OJ1QgY2hhbmdlIG5leHQgaW1wb3J0cyFcclxuLy8gUmVhc29uOiBodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvZGF0ZS1mbnMvaXNzdWVzLzY2NlxyXG5pbXBvcnQgZW5VUyBmcm9tICdkYXRlLWZucy9sb2NhbGUvZW4tVVMnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uL2NvbnZlcnRzL2NvbnZlcnQnO1xyXG5pbXBvcnQgeyBTdWJzIH0gZnJvbSAnLi4vc3Vicyc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemF0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdWJzOiBTdWJzID0gbmV3IFN1YnMoKTtcclxuICBwcml2YXRlIGRhdGVGbnNMb2NhbGU6IGFueTtcclxuXHJcbiAgLy9pMTBuXHJcbiAgcHJpdmF0ZSBzdXBwb3J0ZWRMYW5ndWFnZXM6IGFueSA9IFsnZW4nLCAncnUnLCAnZXMnXTtcclxuICBwcml2YXRlIGRlZmF1bHRMYW5ndWFnZSA9ICdlbic7XHJcblxyXG4gIC8vT3V0cHV0c1xyXG4gIEBPdXRwdXQoKSBsYW5nY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuc2V0U3VwcG9ydGVkTGFuZ3VhZ2VzKHRoaXMuc3VwcG9ydGVkTGFuZ3VhZ2VzKTtcclxuICAgIHRoaXMuc2V0RGVmYXVsdExhbmd1YWdlKHRoaXMuZGVmYXVsdExhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdChzdHI6IHN0cmluZywgYXJncykge1xyXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC97KFxcZCspfS9nLCBmdW5jdGlvbiAobWF0Y2gsIG51bWJlcikge1xyXG4gICAgICByZXR1cm4gdHlwZW9mIGFyZ3NbbnVtYmVyXSAhPSAndW5kZWZpbmVkJ1xyXG4gICAgICAgID8gYXJnc1tudW1iZXJdXHJcbiAgICAgICAgOiBtYXRjaFxyXG4gICAgICAgIDtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIGNvbmZpZ3VyZVNldHRpbmdzKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IHN0cmluZyB7XHJcbiAgICAvL2kxMG5cclxuICAgIGNvbnN0IGJyb3dzZXJMYW5nID0gdHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCk7XHJcbiAgICBjb25zdCBsYW5nID0gYnJvd3NlckxhbmcubWF0Y2goL2VufHJ1fGVzLykgPyBicm93c2VyTGFuZyA6IHRoaXMuZGVmYXVsdExhbmd1YWdlO1xyXG5cclxuICAgIC8vZGF0ZXNcclxuICAgIHRoaXMuZGF0ZUZuc0xvY2FsZSA9IHsgbG9jYWxlOiBlblVTIH07XHJcblxyXG4gICAgdGhpcy5zdWJzLnNpbmsgPSB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdMYW5ndWFnZSBDaGFuZ2VkJyk7XHJcbiAgICAgIHRoaXMubGFuZ2NoYW5nZS5lbWl0KGV2ZW50LmxhbmcpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGxhbmc7XHJcbiAgfVxyXG5cclxuICAvL0xhbmd1YWdlc1xyXG4gIHNldFN1cHBvcnRlZExhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5hZGRMYW5ncyhsYW5ndWFnZXMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGVmYXVsdExhbmd1YWdlKGxhbmc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcobGFuZyk7XHJcbiAgfVxyXG5cclxuICBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnJvd3Nlckxhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckxhbmcoKTtcclxuICB9XHJcblxyXG4gIC8vRGF0ZXNcclxuICBnZXREYXRlZm5zTG9jYWxlKCk6IGFueSB7XHJcbiAgICBsZXQgZGZuTG9jYWxlOiBhbnk7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLmdldEJyb3dzZXJMYW5ndWFnZSgpKSB7XHJcbiAgICAgIGNhc2UgJ2VuJzpcclxuICAgICAgICBkZm5Mb2NhbGUgPSB7IGxvY2FsZTogZW5VUyB9O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBkZm5Mb2NhbGUgPSB7IGxvY2FsZTogZW5VUyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZm5Mb2NhbGU7XHJcbiAgfVxyXG5cclxuICAvL2dldExvY2FsaXplZC4uLlxyXG4gIGdldExvY2FsaXplZFZhbHVlKGtleTogc3RyaW5nLCBwYXJhbXM/OiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoa2V5KTtcclxuXHJcbiAgICBpZiAoIXBhcmFtcyB8fCBwYXJhbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQodmFsdWUsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGl6ZWREYXRlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1ZhbGlkKG5ldyBEYXRlKGtleSkpKSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobmV3IERhdGUoa2V5KSwgJ2RkLk1NLnl5eXknLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxpemVkRGF0ZVRpbWUoa2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBkYXRlVmFsdWUgPSBuZXcgRGF0ZShrZXkpO1xyXG5cclxuICAgIGlmIChpc1ZhbGlkKGRhdGVWYWx1ZSkpIHtcclxuICAgICAgbGV0IGxvY2FsRGF0ZSA9IENvbnZlcnQudG9Mb2NhbGl6ZWREYXRlVGltZShkYXRlVmFsdWUpO1xyXG4gICAgICByZXR1cm4gZm9ybWF0KGxvY2FsRGF0ZSwgJ2RkLk1NLnl5eXkgSEg6bW0nLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxpemVkRGlzdGFuY2VJbldvcmRzKGVuZGVkRGF0ZTogc3RyaW5nLCBzdGFydGVkRGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1ZhbGlkKG5ldyBEYXRlKGVuZGVkRGF0ZSkpICYmIGlzVmFsaWQobmV3IERhdGUoc3RhcnRlZERhdGUpKSkge1xyXG4gICAgICByZXR1cm4gZm9ybWF0RGlzdGFuY2UobmV3IERhdGUoZW5kZWREYXRlKSwgbmV3IERhdGUoc3RhcnRlZERhdGUpLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxpemVkRGlzdGFuY2VUb05vd0luV29yZHMoZGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1ZhbGlkKG5ldyBEYXRlKGRhdGUpKSkge1xyXG4gICAgICByZXR1cm4gZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZShkYXRlKSwgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJJbnZhbGlkIERhdGVcIjtcclxuICB9XHJcblxyXG4gIC8vVVRDIE9wZXJhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICBnZXRVVENUb0xvY2FsaXplZERhdGUoa2V5KSB7XHJcbiAgICBpZiAoIVV0aWxzLmlzU3RyaW5nKGtleSkpIHtcclxuICAgICAga2V5ID0ga2V5LnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGtleSkge1xyXG4gICAgICBpZiAoa2V5LmluZGV4T2YoXCJUXCIpID09IC0xKSB7XHJcbiAgICAgICAga2V5ID0ga2V5LnJlcGxhY2UoXCIgXCIsIFwiVFwiKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoa2V5LmluZGV4T2YoXCJaXCIpID09IC0xKSB7XHJcbiAgICAgICAga2V5ID0ga2V5ICsgXCJaXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgYnJvd3NlclRpbWVab25lID0gSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xyXG5cclxuICAgIGlmIChicm93c2VyVGltZVpvbmUpIHtcclxuICAgICAgbGV0IGxvY2FsRGF0ZVRpbWUgPSB1dGNUb1pvbmVkVGltZShrZXksIGJyb3dzZXJUaW1lWm9uZSk7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobG9jYWxEYXRlVGltZSwgJ2RkLk1NLnl5eXknLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobmV3IERhdGUoa2V5KSwgJ2RkLk1NLnl5eXknLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VVRDVG9Mb2NhbGl6ZWREYXRlVGltZShrZXk6IHN0cmluZykge1xyXG4gICAgaWYgKCFVdGlscy5pc1N0cmluZyhrZXkpKSB7XHJcbiAgICAgIGtleSA9IGtleS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChrZXkpIHtcclxuICAgICAgaWYgKGtleS5pbmRleE9mKFwiVFwiKSA9PSAtMSkge1xyXG4gICAgICAgIGtleSA9IGtleS5yZXBsYWNlKFwiIFwiLCBcIlRcIik7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGtleS5pbmRleE9mKFwiWlwiKSA9PSAtMSkge1xyXG4gICAgICAgIGtleSA9IGtleSArIFwiWlwiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGJyb3dzZXJUaW1lWm9uZSA9IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTtcclxuXHJcbiAgICBpZiAoYnJvd3NlclRpbWVab25lKSB7XHJcbiAgICAgIGxldCBsb2NhbERhdGVUaW1lID0gdXRjVG9ab25lZFRpbWUoa2V5LCBicm93c2VyVGltZVpvbmUpO1xyXG4gICAgICByZXR1cm4gZm9ybWF0KGxvY2FsRGF0ZVRpbWUsICdkZC5NTS55eXl5IEhIOm1tJywgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZm9ybWF0KG5ldyBEYXRlKGtleSksICdkZC5NTS55eXl5IEhIOm1tJywgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vaHR0cHM6Ly9kYXRlLWZucy5vcmcvdjEuMzAuMS9kb2NzL2Rpc3RhbmNlSW5Xb3Jkc1xyXG4gIGdldFVUQ1RvTG9jYWxpemVkRGlzdGFuY2VUb05vd0luV29yZHMoZGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGRhdGUgPSB0aGlzLnNhZmVVdGNUb1pvbmVkVGltZShkYXRlKTtcclxuXHJcbiAgICBpZiAoaXNWYWxpZChuZXcgRGF0ZShkYXRlKSkpIHtcclxuICAgICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlVG9Ob3cobmV3IERhdGUoZGF0ZSksIHRoaXMuZGF0ZUZuc0xvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiSW52YWxpZCBEYXRlXCI7XHJcbiAgfVxyXG5cclxuICBzYWZlVXRjVG9ab25lZFRpbWUoZGF0ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gZGF0ZTtcclxuXHJcbiAgICB0cnlcclxuICAgIHtcclxuICAgICAgaWYgKGRhdGUpIHtcclxuICAgICAgICBpZiAoZGF0ZS5pbmRleE9mKFwiVFwiKSA9PSAtMSkge1xyXG4gICAgICAgICAgZGF0ZSA9IGRhdGUucmVwbGFjZShcIiBcIiwgXCJUXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRhdGUuaW5kZXhPZihcIlpcIikgPT0gLTEpIHtcclxuICAgICAgICAgIGRhdGUgPSBkYXRlICsgXCJaXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgYnJvd3NlclRpbWVab25lID0gSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xyXG4gICAgICBpZiAoYnJvd3NlclRpbWVab25lKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdXRjVG9ab25lZFRpbWUoZGF0ZSwgYnJvd3NlclRpbWVab25lKS50b1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpLnRvU3RyaW5nKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoXHJcbiAgICB7XHJcbiAgICAgIGlmIChkYXRlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJVVEMgdG8gTG9jYWwgY29udmVyc2lvbiBmYWlsZWQgZm9yIDpcIiArIGRhdGUudG9TdHJpbmcoKSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
@@ -51,15 +51,15 @@ export class LocalizePipe {
|
|
|
51
51
|
}
|
|
52
52
|
//UTC Operations --------------------------------------------------------------
|
|
53
53
|
//UTC Date
|
|
54
|
-
if (type === '
|
|
54
|
+
if (type === 'utcd') {
|
|
55
55
|
return this.localizeService.getUTCToLocalizedDate(inputData);
|
|
56
56
|
}
|
|
57
57
|
//UTC DateTime
|
|
58
|
-
if (type === '
|
|
58
|
+
if (type === 'utcdt') {
|
|
59
59
|
return this.localizeService.getUTCToLocalizedDateTime(inputData);
|
|
60
60
|
}
|
|
61
61
|
//UTC DistanceToNowInWords
|
|
62
|
-
if (type === '
|
|
62
|
+
if (type === 'utcdis2now') {
|
|
63
63
|
return this.localizeService.getUTCToLocalizedDistanceToNowInWords(inputData);
|
|
64
64
|
}
|
|
65
65
|
return inputData;
|
|
@@ -74,4 +74,4 @@ export class LocalizePipe {
|
|
|
74
74
|
pure: false
|
|
75
75
|
}]
|
|
76
76
|
}], function () { return [{ type: i1.LocalizationService }]; }, null); })();
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2xvY2FsaXphdGlvbi9sb2NhbGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFTcEQsTUFBTSxPQUFPLFlBQVk7SUFDSDtJQUFwQixZQUFvQixlQUFvQztRQUFwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFpQixFQUFFLElBQVksRUFBRSxNQUFlO1FBQ3hELElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUNaO1FBRUQsV0FBVztRQUNYLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUQ7UUFFRCxNQUFNO1FBQ04sSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN6RDtRQUVELFVBQVU7UUFDVixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzVFO1FBRUQsc0JBQXNCO1FBQ3RCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZ0NBQWdDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekU7UUFFRCwrRUFBK0U7UUFDL0UsVUFBVTtRQUNWLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxjQUFjO1FBQ2QsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsRTtRQUVELDBCQUEwQjtRQUMxQixJQUFJLElBQUksS0FBSyxZQUFZLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHFDQUFxQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlFO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztzRUF2RFUsWUFBWTsyRUFBWixZQUFZOzt1RkFBWixZQUFZO2NBSnhCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLEtBQUs7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAgMTAgTWF5IDIwMjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4vbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdsb2NhbGl6ZScsXHJcbiAgcHVyZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYWxpemVTZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0oaW5wdXREYXRhOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgcGFyYW0yPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICghaW5wdXREYXRhKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXR5cGUpIHtcclxuICAgICAgdHlwZSA9ICd0JztcclxuICAgIH1cclxuXHJcbiAgICAvL1RyYW5zbGF0ZVxyXG4gICAgaWYgKHR5cGUgPT09ICd0Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGl6ZVNlcnZpY2UuZ2V0TG9jYWxpemVkVmFsdWUoaW5wdXREYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICAvL0RhdGVcclxuICAgIGlmICh0eXBlID09PSAnZCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldExvY2FsaXplZERhdGUoaW5wdXREYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICAvL0RhdGVUaW1lXHJcbiAgICBpZiAodHlwZSA9PT0gJ2R0Jykge1xyXG4gICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldExvY2FsaXplZERhdGVUaW1lKGlucHV0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9EaXN0YW5jZUluV29yZHNcclxuICAgIGlmICh0eXBlID09PSAnZGlzJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGl6ZVNlcnZpY2UuZ2V0TG9jYWxpemVkRGlzdGFuY2VJbldvcmRzKGlucHV0RGF0YSwgcGFyYW0yKTtcclxuICAgIH1cclxuXHJcbiAgICAvL0Rpc3RhbmNlVG9Ob3dJbldvcmRzXHJcbiAgICBpZiAodHlwZSA9PT0gJ2RpczJub3cnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsaXplU2VydmljZS5nZXRMb2NhbGl6ZWREaXN0YW5jZVRvTm93SW5Xb3JkcyhpbnB1dERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVVRDIE9wZXJhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vVVRDIERhdGVcclxuICAgIGlmICh0eXBlID09PSAndXRjZCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldFVUQ1RvTG9jYWxpemVkRGF0ZShpbnB1dERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVVRDIERhdGVUaW1lXHJcbiAgICBpZiAodHlwZSA9PT0gJ3V0Y2R0Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGl6ZVNlcnZpY2UuZ2V0VVRDVG9Mb2NhbGl6ZWREYXRlVGltZShpbnB1dERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVVRDIERpc3RhbmNlVG9Ob3dJbldvcmRzXHJcbiAgICBpZiAodHlwZSA9PT0gJ3V0Y2RpczJub3cnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsaXplU2VydmljZS5nZXRVVENUb0xvY2FsaXplZERpc3RhbmNlVG9Ob3dJbldvcmRzKGlucHV0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlucHV0RGF0YTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -90,5 +90,8 @@ export class Utils {
|
|
|
90
90
|
static isObjectNullOrEmpty(obj) {
|
|
91
91
|
return !obj || Object.keys(obj).length == 0;
|
|
92
92
|
}
|
|
93
|
+
static isString(value) {
|
|
94
|
+
return typeof value === 'string' || value instanceof String;
|
|
95
|
+
}
|
|
93
96
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU0sT0FBTyxLQUFLO0lBQ1QsTUFBTSxDQUFDLFlBQVk7UUFDeEIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXBCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJO1FBQ25DLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJO1FBQ3BDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELHdEQUF3RDtRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQyxFQUV2RCxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFVLEVBQUUsR0FBVztRQUNuRCxLQUFL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QUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1FBRWpELE9BQU8sTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBYSxFQUFFLEdBQVc7UUFDckQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHO1FBQ25DLE9BQU8sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUs7UUFDMUIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxZQUFZLE1BQU0sQ0FBQztJQUM5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTkgTWFyY2ggMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlscyB7XHJcbiAgcHVibGljIHN0YXRpYyBpZEV4aXN0c0luUVMoKSB7XHJcbiAgICBsZXQgaWQgPSBVdGlscy5nZXRWYWx1ZUJ5TmFtZUluUVMoXCJpZFwiKTtcclxuICAgIGlmIChpZCkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRWYWx1ZUJ5TmFtZUluUVMobmFtZSkge1xyXG4gICAgcmV0dXJuIFV0aWxzLmdldFZhbHVlQnlOYW1lKGxvY2F0aW9uLnNlYXJjaCwgbmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFZhbHVlQnlOYW1lKHVybCwgbmFtZSkge1xyXG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW1xcW10vLCAnXFxcXFsnKS5yZXBsYWNlKC9bXFxdXS8sICdcXFxcXScpO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9uZS12YXJpYWJsZS1wZXItZGVjbGFyYXRpb25cclxuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnW1xcXFw/Jl0nICsgbmFtZSArICc9KFteJiNdKiknKSxcclxuXHJcbiAgICByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xyXG4gICAgcmV0dXJuIHJlc3VsdHMgPT09IG51bGwgPyAnJyA6IGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzFdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY29weVRvQ2xpcEJvYXJkKGV2ZW50OiBhbnksIHZhbDogc3RyaW5nKSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgIGNvbnN0IHNlbEJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XHJcbiAgICBzZWxCb3guc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xyXG4gICAgc2VsQm94LnN0eWxlLmxlZnQgPSAnMCc7XHJcbiAgICBzZWxCb3guc3R5bGUudG9wID0gJzAnO1xyXG4gICAgc2VsQm94LnN0eWxlLm9wYWNpdHkgPSAnMCc7XHJcbiAgICBzZWxCb3gudmFsdWUgPSB2YWw7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNlbEJveCk7XHJcbiAgICBzZWxCb3guZm9jdXMoKTtcclxuICAgIHNlbEJveC5zZWxlY3QoKTtcclxuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNlbEJveCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGRvd25sb2FkRmlsZShuYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgbGluay5kb3dubG9hZCA9IG5hbWU7XHJcbiAgICBsaW5rLmhyZWYgPSB1cmw7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGRvd25sb2FkQmxvYkZpbGUodmFsdWU6IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IG5hdiA9ICh3aW5kb3cubmF2aWdhdG9yIGFzIGFueSk7XHJcblxyXG4gICAgaWYgKG5hdi5tc1NhdmVPck9wZW5CbG9iKSB7XHJcbiAgICAgIG5hdi5tc1NhdmVPck9wZW5CbG9iKHZhbHVlLCBmaWxlTmFtZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgZG93bmxvYWRVUkwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh2YWx1ZSk7XHJcbiAgICAgIFV0aWxzLmRvd25sb2FkRmlsZShmaWxlTmFtZSwgZG93bmxvYWRVUkwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgIEF1dGhvcjpcclxuICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AbWhhZ2VtYW5uL3RoZS11bHRpbWF0ZS13YXktdG8tc2x1Z2lmeS1hLXVybC1zdHJpbmctaW4tamF2YXNjcmlwdC1iOGU0YTBkODQ5ZTFcclxuICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgc2x1Z2lmeSh0ZXh0OiBzdHJpbmcsIHByZWZpeDogc3RyaW5nID0gJycsIHBvc3RmaXg6IHN0cmluZyA9ICcnKSB7XHJcbiAgICBjb25zdCBhID0gJ8Ogw6HDosOkw6bDo8OlxIHEg8SFw6fEh8SNxJHEj8Oow6nDqsOrxJPEl8SZxJvEn8e14binw67Dr8OtxKvEr8OsxYLhuL/DscWEx7nFiMO0w7bDssOzxZPDuMWNw7XFkeG5lcWVxZnDn8WbxaHFn8iZxaXIm8O7w7zDucO6xavHmMWvxbHFs+G6g+G6jcO/w73FvsW6xbzCty9fLDo7JztcclxuICAgIGNvbnN0IGIgPSAnYWFhYWFhYWFhYWNjY2RkZWVlZWVlZWVnZ2hpaWlpaWlsbW5ubm5vb29vb29vb29wcnJzc3Nzc3R0dXV1dXV1dXV1d3h5eXp6ei0tLS0tLSc7XHJcbiAgICBjb25zdCBwID0gbmV3IFJlZ0V4cChhLnNwbGl0KCcnKS5qb2luKCd8JyksICdnJyk7XHJcblxyXG4gICAgLypcclxuICAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9qYXZhc2NyaXB0L3N0cmlwLWh0bWwtdGFncy1pbi1qYXZhc2NyaXB0L1xyXG4gICAgICBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy84MjI0NTIvc3RyaXAtaHRtbC1mcm9tLXRleHQtamF2YXNjcmlwdFxyXG4gICAgKi9cclxuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCAnJyk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IHRleHRcclxuICAgICAgLnRvU3RyaW5nKClcclxuICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKSAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cclxuICAgICAgLnJlcGxhY2UocCwgYyA9PiBiLmNoYXJBdChhLmluZGV4T2YoYykpKSAvLyBSZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVyc1xyXG4gICAgICAucmVwbGFjZSgvJi9nLCAnLWFuZC0nKSAvLyBSZXBsYWNlICYgd2l0aCAnYW5kJ1xyXG4gICAgICAucmVwbGFjZSgvW15cXHdcXC1dKy9nLCAnJykgLy8gUmVtb3ZlIGFsbCBub24td29yZCBjaGFyYWN0ZXJzXHJcbiAgICAgIC5yZXBsYWNlKC9cXC1cXC0rL2csICctJykgLy8gUmVwbGFjZSBtdWx0aXBsZSAtIHdpdGggc2luZ2xlIC1cclxuICAgICAgLnJlcGxhY2UoL14tKy8sICcnKSAvLyBUcmltIC0gZnJvbSBzdGFydCBvZiB0ZXh0XHJcbiAgICAgIC5yZXBsYWNlKC8tKyQvLCAnJyk7IC8vIFRyaW0gLSBmcm9tIGVuZCBvZiB0ZXh0XHJcblxyXG4gICAgcmV0dXJuIHByZWZpeCArIHJlc3VsdCArIHBvc3RmaXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlUmFuZG9tKHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGVuZCAtIHN0YXJ0ICsgMSkpICsgc3RhcnQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzT2JqZWN0TnVsbE9yRW1wdHkob2JqKSB7XHJcbiAgICByZXR1cm4gIW9iaiB8fCBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PSAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1N0cmluZyh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdmFsdWUgaW5zdGFuY2VvZiBTdHJpbmc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1613,6 +1613,103 @@ class Subs {
|
|
|
1613
1613
|
}
|
|
1614
1614
|
}
|
|
1615
1615
|
|
|
1616
|
+
/*
|
|
1617
|
+
<file>
|
|
1618
|
+
Project:
|
|
1619
|
+
@osovitny/anatoly
|
|
1620
|
+
|
|
1621
|
+
Authors:
|
|
1622
|
+
Vadim Osovitny vadim@osovitny.com
|
|
1623
|
+
Anatoly Osovitny anatoly@osovitny.com
|
|
1624
|
+
|
|
1625
|
+
Created:
|
|
1626
|
+
19 March 2020
|
|
1627
|
+
|
|
1628
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
1629
|
+
</file>
|
|
1630
|
+
*/
|
|
1631
|
+
class Utils {
|
|
1632
|
+
static idExistsInQS() {
|
|
1633
|
+
let id = Utils.getValueByNameInQS("id");
|
|
1634
|
+
if (id)
|
|
1635
|
+
return true;
|
|
1636
|
+
return false;
|
|
1637
|
+
}
|
|
1638
|
+
static getValueByNameInQS(name) {
|
|
1639
|
+
return Utils.getValueByName(location.search, name);
|
|
1640
|
+
}
|
|
1641
|
+
static getValueByName(url, name) {
|
|
1642
|
+
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
|
1643
|
+
// tslint:disable-next-line:one-variable-per-declaration
|
|
1644
|
+
const regex = new RegExp('[\\?&]' + name + '=([^&#]*)'), results = regex.exec(url);
|
|
1645
|
+
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
|
|
1646
|
+
}
|
|
1647
|
+
static copyToClipBoard(event, val) {
|
|
1648
|
+
event.preventDefault();
|
|
1649
|
+
const selBox = document.createElement('textarea');
|
|
1650
|
+
selBox.style.position = 'fixed';
|
|
1651
|
+
selBox.style.left = '0';
|
|
1652
|
+
selBox.style.top = '0';
|
|
1653
|
+
selBox.style.opacity = '0';
|
|
1654
|
+
selBox.value = val;
|
|
1655
|
+
document.body.appendChild(selBox);
|
|
1656
|
+
selBox.focus();
|
|
1657
|
+
selBox.select();
|
|
1658
|
+
document.execCommand('copy');
|
|
1659
|
+
document.body.removeChild(selBox);
|
|
1660
|
+
}
|
|
1661
|
+
static downloadFile(name, url) {
|
|
1662
|
+
const link = document.createElement('a');
|
|
1663
|
+
link.download = name;
|
|
1664
|
+
link.href = url;
|
|
1665
|
+
link.click();
|
|
1666
|
+
}
|
|
1667
|
+
static downloadBlobFile(value, fileName) {
|
|
1668
|
+
const nav = window.navigator;
|
|
1669
|
+
if (nav.msSaveOrOpenBlob) {
|
|
1670
|
+
nav.msSaveOrOpenBlob(value, fileName);
|
|
1671
|
+
}
|
|
1672
|
+
else {
|
|
1673
|
+
const downloadURL = window.URL.createObjectURL(value);
|
|
1674
|
+
Utils.downloadFile(fileName, downloadURL);
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
/*
|
|
1678
|
+
Author:
|
|
1679
|
+
https://medium.com/@mhagemann/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
|
|
1680
|
+
*/
|
|
1681
|
+
static slugify(text, prefix = '', postfix = '') {
|
|
1682
|
+
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;';
|
|
1683
|
+
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------';
|
|
1684
|
+
const p = new RegExp(a.split('').join('|'), 'g');
|
|
1685
|
+
/*
|
|
1686
|
+
https://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/
|
|
1687
|
+
https://stackoverflow.com/questions/822452/strip-html-from-text-javascript
|
|
1688
|
+
*/
|
|
1689
|
+
text = text.replace(/(<([^>]+)>)/gi, '');
|
|
1690
|
+
let result = text
|
|
1691
|
+
.toString()
|
|
1692
|
+
.toLowerCase()
|
|
1693
|
+
.replace(/\s+/g, '-') // Replace spaces with -
|
|
1694
|
+
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
|
|
1695
|
+
.replace(/&/g, '-and-') // Replace & with 'and'
|
|
1696
|
+
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
|
|
1697
|
+
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
|
1698
|
+
.replace(/^-+/, '') // Trim - from start of text
|
|
1699
|
+
.replace(/-+$/, ''); // Trim - from end of text
|
|
1700
|
+
return prefix + result + postfix;
|
|
1701
|
+
}
|
|
1702
|
+
static generateRandom(start, end) {
|
|
1703
|
+
return Math.floor(Math.random() * (end - start + 1)) + start;
|
|
1704
|
+
}
|
|
1705
|
+
static isObjectNullOrEmpty(obj) {
|
|
1706
|
+
return !obj || Object.keys(obj).length == 0;
|
|
1707
|
+
}
|
|
1708
|
+
static isString(value) {
|
|
1709
|
+
return typeof value === 'string' || value instanceof String;
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1616
1713
|
/*
|
|
1617
1714
|
<file>
|
|
1618
1715
|
Project:
|
|
@@ -1727,7 +1824,9 @@ class LocalizationService {
|
|
|
1727
1824
|
}
|
|
1728
1825
|
//UTC Operations --------------------------------------------------------------
|
|
1729
1826
|
getUTCToLocalizedDate(key) {
|
|
1730
|
-
|
|
1827
|
+
if (!Utils.isString(key)) {
|
|
1828
|
+
key = key.toString();
|
|
1829
|
+
}
|
|
1731
1830
|
if (key) {
|
|
1732
1831
|
if (key.indexOf("T") == -1) {
|
|
1733
1832
|
key = key.replace(" ", "T");
|
|
@@ -1736,6 +1835,7 @@ class LocalizationService {
|
|
|
1736
1835
|
key = key + "Z";
|
|
1737
1836
|
}
|
|
1738
1837
|
}
|
|
1838
|
+
let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
1739
1839
|
if (browserTimeZone) {
|
|
1740
1840
|
let localDateTime = utcToZonedTime(key, browserTimeZone);
|
|
1741
1841
|
return format(localDateTime, 'dd.MM.yyyy', this.dateFnsLocale);
|
|
@@ -1745,7 +1845,9 @@ class LocalizationService {
|
|
|
1745
1845
|
}
|
|
1746
1846
|
}
|
|
1747
1847
|
getUTCToLocalizedDateTime(key) {
|
|
1748
|
-
|
|
1848
|
+
if (!Utils.isString(key)) {
|
|
1849
|
+
key = key.toString();
|
|
1850
|
+
}
|
|
1749
1851
|
if (key) {
|
|
1750
1852
|
if (key.indexOf("T") == -1) {
|
|
1751
1853
|
key = key.replace(" ", "T");
|
|
@@ -1754,6 +1856,7 @@ class LocalizationService {
|
|
|
1754
1856
|
key = key + "Z";
|
|
1755
1857
|
}
|
|
1756
1858
|
}
|
|
1859
|
+
let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
1757
1860
|
if (browserTimeZone) {
|
|
1758
1861
|
let localDateTime = utcToZonedTime(key, browserTimeZone);
|
|
1759
1862
|
return format(localDateTime, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);
|
|
@@ -1858,15 +1961,15 @@ class LocalizePipe {
|
|
|
1858
1961
|
}
|
|
1859
1962
|
//UTC Operations --------------------------------------------------------------
|
|
1860
1963
|
//UTC Date
|
|
1861
|
-
if (type === '
|
|
1964
|
+
if (type === 'utcd') {
|
|
1862
1965
|
return this.localizeService.getUTCToLocalizedDate(inputData);
|
|
1863
1966
|
}
|
|
1864
1967
|
//UTC DateTime
|
|
1865
|
-
if (type === '
|
|
1968
|
+
if (type === 'utcdt') {
|
|
1866
1969
|
return this.localizeService.getUTCToLocalizedDateTime(inputData);
|
|
1867
1970
|
}
|
|
1868
1971
|
//UTC DistanceToNowInWords
|
|
1869
|
-
if (type === '
|
|
1972
|
+
if (type === 'utcdis2now') {
|
|
1870
1973
|
return this.localizeService.getUTCToLocalizedDistanceToNowInWords(inputData);
|
|
1871
1974
|
}
|
|
1872
1975
|
return inputData;
|
|
@@ -2548,100 +2651,6 @@ class IdleService {
|
|
|
2548
2651
|
}]
|
|
2549
2652
|
}], null, null); })();
|
|
2550
2653
|
|
|
2551
|
-
/*
|
|
2552
|
-
<file>
|
|
2553
|
-
Project:
|
|
2554
|
-
@osovitny/anatoly
|
|
2555
|
-
|
|
2556
|
-
Authors:
|
|
2557
|
-
Vadim Osovitny vadim@osovitny.com
|
|
2558
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
2559
|
-
|
|
2560
|
-
Created:
|
|
2561
|
-
19 March 2020
|
|
2562
|
-
|
|
2563
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
2564
|
-
</file>
|
|
2565
|
-
*/
|
|
2566
|
-
class Utils {
|
|
2567
|
-
static idExistsInQS() {
|
|
2568
|
-
let id = Utils.getValueByNameInQS("id");
|
|
2569
|
-
if (id)
|
|
2570
|
-
return true;
|
|
2571
|
-
return false;
|
|
2572
|
-
}
|
|
2573
|
-
static getValueByNameInQS(name) {
|
|
2574
|
-
return Utils.getValueByName(location.search, name);
|
|
2575
|
-
}
|
|
2576
|
-
static getValueByName(url, name) {
|
|
2577
|
-
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
|
2578
|
-
// tslint:disable-next-line:one-variable-per-declaration
|
|
2579
|
-
const regex = new RegExp('[\\?&]' + name + '=([^&#]*)'), results = regex.exec(url);
|
|
2580
|
-
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
|
|
2581
|
-
}
|
|
2582
|
-
static copyToClipBoard(event, val) {
|
|
2583
|
-
event.preventDefault();
|
|
2584
|
-
const selBox = document.createElement('textarea');
|
|
2585
|
-
selBox.style.position = 'fixed';
|
|
2586
|
-
selBox.style.left = '0';
|
|
2587
|
-
selBox.style.top = '0';
|
|
2588
|
-
selBox.style.opacity = '0';
|
|
2589
|
-
selBox.value = val;
|
|
2590
|
-
document.body.appendChild(selBox);
|
|
2591
|
-
selBox.focus();
|
|
2592
|
-
selBox.select();
|
|
2593
|
-
document.execCommand('copy');
|
|
2594
|
-
document.body.removeChild(selBox);
|
|
2595
|
-
}
|
|
2596
|
-
static downloadFile(name, url) {
|
|
2597
|
-
const link = document.createElement('a');
|
|
2598
|
-
link.download = name;
|
|
2599
|
-
link.href = url;
|
|
2600
|
-
link.click();
|
|
2601
|
-
}
|
|
2602
|
-
static downloadBlobFile(value, fileName) {
|
|
2603
|
-
const nav = window.navigator;
|
|
2604
|
-
if (nav.msSaveOrOpenBlob) {
|
|
2605
|
-
nav.msSaveOrOpenBlob(value, fileName);
|
|
2606
|
-
}
|
|
2607
|
-
else {
|
|
2608
|
-
const downloadURL = window.URL.createObjectURL(value);
|
|
2609
|
-
Utils.downloadFile(fileName, downloadURL);
|
|
2610
|
-
}
|
|
2611
|
-
}
|
|
2612
|
-
/*
|
|
2613
|
-
Author:
|
|
2614
|
-
https://medium.com/@mhagemann/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
|
|
2615
|
-
*/
|
|
2616
|
-
static slugify(text, prefix = '', postfix = '') {
|
|
2617
|
-
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;';
|
|
2618
|
-
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------';
|
|
2619
|
-
const p = new RegExp(a.split('').join('|'), 'g');
|
|
2620
|
-
/*
|
|
2621
|
-
https://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/
|
|
2622
|
-
https://stackoverflow.com/questions/822452/strip-html-from-text-javascript
|
|
2623
|
-
*/
|
|
2624
|
-
text = text.replace(/(<([^>]+)>)/gi, '');
|
|
2625
|
-
let result = text
|
|
2626
|
-
.toString()
|
|
2627
|
-
.toLowerCase()
|
|
2628
|
-
.replace(/\s+/g, '-') // Replace spaces with -
|
|
2629
|
-
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
|
|
2630
|
-
.replace(/&/g, '-and-') // Replace & with 'and'
|
|
2631
|
-
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
|
|
2632
|
-
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
|
2633
|
-
.replace(/^-+/, '') // Trim - from start of text
|
|
2634
|
-
.replace(/-+$/, ''); // Trim - from end of text
|
|
2635
|
-
return prefix + result + postfix;
|
|
2636
|
-
}
|
|
2637
|
-
static generateRandom(start, end) {
|
|
2638
|
-
return Math.floor(Math.random() * (end - start + 1)) + start;
|
|
2639
|
-
}
|
|
2640
|
-
static isObjectNullOrEmpty(obj) {
|
|
2641
|
-
return !obj || Object.keys(obj).length == 0;
|
|
2642
|
-
}
|
|
2643
|
-
}
|
|
2644
|
-
|
|
2645
2654
|
/*
|
|
2646
2655
|
<file>
|
|
2647
2656
|
Project:
|