@acorex/core 5.1.2 → 5.1.6
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 +2 -23
- package/karma.conf.js +32 -0
- package/ng-package.json +10 -0
- package/package.json +13 -38
- package/src/lib/classes/base-page.class.ts +29 -0
- package/src/lib/classes/color.class.ts +61 -0
- package/src/lib/classes/datetime.class.ts +373 -0
- package/src/lib/classes/menu.class.ts +37 -0
- package/src/lib/classes/navigator.class.ts +5 -0
- package/src/lib/classes/popup.class.ts +14 -0
- package/src/lib/classes/promise.class.ts +25 -0
- package/src/lib/classes/sectionlist.class.ts +8 -0
- package/src/lib/classes/select.class.ts +7 -0
- package/src/lib/core.module.ts +21 -0
- package/src/lib/error/error.class.ts +4 -0
- package/src/lib/error/error.module.ts +13 -0
- package/src/lib/error/error.service.ts +23 -0
- package/src/lib/error/index.ts +3 -0
- package/src/lib/events/keyboard.ts +5 -0
- package/src/lib/http/http-error.class.ts +7 -0
- package/src/lib/http/http-events.interceptor.ts +14 -0
- package/src/lib/http/http-request.class.ts +14 -0
- package/src/lib/http/http-result.class.ts +34 -0
- package/src/lib/http/http.module.ts +25 -0
- package/src/lib/http/http.service.ts +159 -0
- package/src/lib/locale/en.json +255 -0
- package/src/lib/locale/fa.json +244 -0
- package/src/lib/pipe/datetime.pipe.ts +20 -0
- package/src/lib/pipe/htmlToText.pipe.ts +18 -0
- package/src/lib/platform/index.ts +1 -0
- package/src/lib/platform/platform.service.ts +211 -0
- package/src/lib/services/config.ts +36 -0
- package/src/lib/services/event.service.ts +31 -0
- package/src/lib/services/navigator.service.ts +8 -0
- package/src/lib/services/storage.service.ts +11 -0
- package/src/lib/translator/translator.module.ts +19 -0
- package/src/lib/translator/translator.pipe.ts +22 -0
- package/src/lib/translator/translator.service.ts +19 -0
- package/src/lib/translator/translator.ts +31 -0
- package/src/lib/utils/array/array-util.ts +140 -0
- package/src/lib/utils/html/html-util.ts +264 -0
- package/src/lib/utils/html/html.module.ts +11 -0
- package/src/lib/utils/math/math-util.ts +5 -0
- package/src/lib/utils/object/object-util.ts +87 -0
- package/src/lib/utils/render/on-demand-preload-strategy.service.ts +25 -0
- package/src/lib/utils/render/render.service.ts +110 -0
- package/src/lib/utils/render/rendering.module.ts +25 -0
- package/src/lib/utils/scroll/scroll.directive.ts +35 -0
- package/src/lib/utils/scroll/scroll.module.ts +11 -0
- package/src/lib/utils/separator/separator.module.ts +11 -0
- package/src/lib/utils/separator/separator.pipe.ts +27 -0
- package/src/public-api.ts +53 -0
- package/src/test.ts +28 -0
- package/tsconfig.lib.json +25 -0
- package/tsconfig.lib.prod.json +6 -0
- package/tsconfig.spec.json +18 -0
- package/tslint.json +17 -0
- package/acorex-core.d.ts +0 -5
- package/config/ax-preset.js +0 -182
- package/esm2020/acorex-core.mjs +0 -5
- package/esm2020/lib/config/configs.mjs +0 -29
- package/esm2020/lib/core.module.mjs +0 -18
- package/esm2020/lib/dateTime/datetime.class.mjs +0 -295
- package/esm2020/lib/dateTime/datetime.module.mjs +0 -33
- package/esm2020/lib/dateTime/datetime.pipe.mjs +0 -26
- package/esm2020/lib/dateTime/georgian.calendar.mjs +0 -189
- package/esm2020/lib/dateTime/index.mjs +0 -6
- package/esm2020/lib/dateTime/jalali.calendar.mjs +0 -359
- package/esm2020/lib/events/event.service.mjs +0 -36
- package/esm2020/lib/events/index.mjs +0 -2
- package/esm2020/lib/hotkeys/hotkeys.service.mjs +0 -37
- package/esm2020/lib/hotkeys/index.mjs +0 -2
- package/esm2020/lib/platform/index.mjs +0 -2
- package/esm2020/lib/platform/platform.service.mjs +0 -138
- package/esm2020/lib/translation/index.mjs +0 -4
- package/esm2020/lib/translation/translation.module.mjs +0 -18
- package/esm2020/lib/translation/translator.mjs +0 -42
- package/esm2020/lib/translation/translator.pipe.mjs +0 -15
- package/esm2020/lib/utils/drawing-util.mjs +0 -27
- package/esm2020/lib/utils/index.mjs +0 -5
- package/esm2020/lib/utils/object-util.mjs +0 -39
- package/esm2020/lib/utils/safe.pipe.mjs +0 -30
- package/esm2020/lib/utils/string-util.mjs +0 -19
- package/esm2020/public-api.mjs +0 -13
- package/fesm2015/acorex-core.mjs +0 -1332
- package/fesm2015/acorex-core.mjs.map +0 -1
- package/fesm2020/acorex-core.mjs +0 -1329
- package/fesm2020/acorex-core.mjs.map +0 -1
- package/lib/config/configs.d.ts +0 -9
- package/lib/core.module.d.ts +0 -7
- package/lib/dateTime/datetime.class.d.ts +0 -100
- package/lib/dateTime/datetime.module.d.ts +0 -8
- package/lib/dateTime/datetime.pipe.d.ts +0 -8
- package/lib/dateTime/georgian.calendar.d.ts +0 -20
- package/lib/dateTime/index.d.ts +0 -5
- package/lib/dateTime/jalali.calendar.d.ts +0 -35
- package/lib/events/event.service.d.ts +0 -9
- package/lib/events/index.d.ts +0 -1
- package/lib/hotkeys/hotkeys.service.d.ts +0 -17
- package/lib/hotkeys/index.d.ts +0 -1
- package/lib/platform/index.d.ts +0 -1
- package/lib/platform/platform.service.d.ts +0 -25
- package/lib/translation/index.d.ts +0 -3
- package/lib/translation/translation.module.d.ts +0 -7
- package/lib/translation/translator.d.ts +0 -11
- package/lib/translation/translator.pipe.d.ts +0 -7
- package/lib/utils/drawing-util.d.ts +0 -17
- package/lib/utils/index.d.ts +0 -4
- package/lib/utils/object-util.d.ts +0 -4
- package/lib/utils/safe.pipe.d.ts +0 -10
- package/lib/utils/string-util.d.ts +0 -6
- package/public-api.d.ts +0 -12
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { fromEvent, Subject } from "rxjs";
|
|
3
|
-
import { debounceTime, distinctUntilChanged } from "rxjs/operators";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
const isChrome = (win) => testUserAgent(win, /Chrome/i);
|
|
6
|
-
const isFirefox = (win) => testUserAgent(win, /Firefox/i);
|
|
7
|
-
const isEdge = (win) => testUserAgent(win, /Edge/i);
|
|
8
|
-
const isSafari = (win) => testUserAgent(win, /Safari/i);
|
|
9
|
-
const isOpera = (win) => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);
|
|
10
|
-
const isMSIE = (win) => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);
|
|
11
|
-
const isMobileWeb = (win) => isMobile(win) && !isHybrid(win);
|
|
12
|
-
const isIpad = (win) => {
|
|
13
|
-
// iOS 12 and below
|
|
14
|
-
if (testUserAgent(win, /iPad/i)) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
// iOS 13+
|
|
18
|
-
if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
return false;
|
|
22
|
-
};
|
|
23
|
-
const isIphone = (win) => testUserAgent(win, /iPhone/i);
|
|
24
|
-
const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
|
|
25
|
-
const isAndroid = (win) => testUserAgent(win, /android|sink/i);
|
|
26
|
-
const isAndroidTablet = (win) => {
|
|
27
|
-
return isAndroid(win) && !testUserAgent(win, /mobile/i);
|
|
28
|
-
};
|
|
29
|
-
const isPhablet = (win) => {
|
|
30
|
-
const width = win.innerWidth;
|
|
31
|
-
const height = win.innerHeight;
|
|
32
|
-
const smallest = Math.min(width, height);
|
|
33
|
-
const largest = Math.max(width, height);
|
|
34
|
-
return (smallest > 390 && smallest < 520) &&
|
|
35
|
-
(largest > 620 && largest < 800);
|
|
36
|
-
};
|
|
37
|
-
const isTablet = (win) => {
|
|
38
|
-
const width = win.innerWidth;
|
|
39
|
-
const height = win.innerHeight;
|
|
40
|
-
const smallest = Math.min(width, height);
|
|
41
|
-
const largest = Math.max(width, height);
|
|
42
|
-
return (isIpad(win) ||
|
|
43
|
-
isAndroidTablet(win) ||
|
|
44
|
-
((smallest > 460 && smallest < 820) &&
|
|
45
|
-
(largest > 780 && largest < 1400)));
|
|
46
|
-
};
|
|
47
|
-
const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
|
|
48
|
-
const isDesktop = (win) => !isMobile(win);
|
|
49
|
-
const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
|
|
50
|
-
const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
|
|
51
|
-
const isCapacitorNative = (win) => {
|
|
52
|
-
const capacitor = win['Capacitor'];
|
|
53
|
-
return !!(capacitor && capacitor.isNative);
|
|
54
|
-
};
|
|
55
|
-
const isElectron = (win) => testUserAgent(win, /electron/i);
|
|
56
|
-
const isPWA = (win) => !!(win.matchMedia('(display-mode: standalone)').matches || win.navigator.standalone);
|
|
57
|
-
export const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);
|
|
58
|
-
const matchMedia = (win, query) => win.matchMedia(query).matches;
|
|
59
|
-
const PLATFORMS_MAP = {
|
|
60
|
-
'Android': isAndroid,
|
|
61
|
-
'iOS': isIOS,
|
|
62
|
-
'Desktop': isDesktop,
|
|
63
|
-
'Mobile': isMobile,
|
|
64
|
-
'Chrome': isChrome,
|
|
65
|
-
'Firefox': isFirefox,
|
|
66
|
-
'Safari': isSafari,
|
|
67
|
-
'Edge': isEdge,
|
|
68
|
-
'Opera': isOpera,
|
|
69
|
-
'Hybrid': isHybrid,
|
|
70
|
-
'PWA': isPWA,
|
|
71
|
-
'Electron': isElectron,
|
|
72
|
-
};
|
|
73
|
-
export class AXPlatformEvent {
|
|
74
|
-
}
|
|
75
|
-
export class AXPlatform {
|
|
76
|
-
constructor() {
|
|
77
|
-
this.resize = new Subject();
|
|
78
|
-
this.click = new Subject();
|
|
79
|
-
this.scroll = new Subject();
|
|
80
|
-
fromEvent(window, 'resize')
|
|
81
|
-
.pipe(debounceTime(500))
|
|
82
|
-
.pipe(distinctUntilChanged())
|
|
83
|
-
.subscribe((e) => {
|
|
84
|
-
this.resize.next({
|
|
85
|
-
nativeEvent: e,
|
|
86
|
-
source: this
|
|
87
|
-
});
|
|
88
|
-
//
|
|
89
|
-
this._setFullHeightRatio();
|
|
90
|
-
});
|
|
91
|
-
document.addEventListener('click', (e) => {
|
|
92
|
-
this.click.next({
|
|
93
|
-
nativeEvent: e,
|
|
94
|
-
source: this
|
|
95
|
-
});
|
|
96
|
-
}, true);
|
|
97
|
-
document.addEventListener('scroll', (e) => {
|
|
98
|
-
this.scroll.next({
|
|
99
|
-
nativeEvent: e,
|
|
100
|
-
source: this
|
|
101
|
-
});
|
|
102
|
-
}, true);
|
|
103
|
-
// init functions
|
|
104
|
-
this._setFullHeightRatio();
|
|
105
|
-
}
|
|
106
|
-
isRtl() {
|
|
107
|
-
return document.dir == 'rtl' || document.body.dir == 'rtl' || document.body.style.direction == 'rtl';
|
|
108
|
-
}
|
|
109
|
-
isLandscape() {
|
|
110
|
-
return window.innerHeight < window.innerWidth;
|
|
111
|
-
}
|
|
112
|
-
isPortrate() {
|
|
113
|
-
return !this.isLandscape();
|
|
114
|
-
}
|
|
115
|
-
is(name) {
|
|
116
|
-
return PLATFORMS_MAP[name](window) || false;
|
|
117
|
-
}
|
|
118
|
-
switchDarkMode() {
|
|
119
|
-
const _html = document.getElementsByTagName("html")[0];
|
|
120
|
-
_html.classList.add('ax-dark');
|
|
121
|
-
}
|
|
122
|
-
switchLightMode() {
|
|
123
|
-
const _html = document.getElementsByTagName("html")[0];
|
|
124
|
-
_html.classList.remove('ax-dark');
|
|
125
|
-
}
|
|
126
|
-
_setFullHeightRatio() {
|
|
127
|
-
document.querySelector(':root').style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
131
|
-
AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPlatform, providedIn: 'platform' });
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXPlatform, decorators: [{
|
|
133
|
-
type: Injectable,
|
|
134
|
-
args: [{
|
|
135
|
-
providedIn: 'platform',
|
|
136
|
-
}]
|
|
137
|
-
}], ctorParameters: function () { return []; } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvcGxhdGZvcm0vcGxhdGZvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBUSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFVcEUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUN0QyxhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWxDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDdkMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVuQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3BDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFaEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUN0QyxhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDckMsYUFBYSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRS9ELE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDcEMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBR2xFLE1BQU0sV0FBVyxHQUFH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QUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQy9HLENBQUM7O3VHQXBDUSxVQUFVOzJHQUFWLFVBQVUsY0FGUCxVQUFVOzJGQUViLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLFVBQVU7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZyb20sIGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBWFBsYXRmb3JtcyA9ICdBbmRyb2lkJyB8ICdEZXNrdG9wJyB8ICdpT1MnIHwgJ01vYmlsZSc7XHJcbmV4cG9ydCB0eXBlIEFYQnJvd3NlcnMgPSAnQ2hyb21lJyB8ICdTYWZhcmknIHwgJ0VkZ2UnIHwgJ0ZpcmVmb3gnIHwgJ09wZXJhJyB8ICdNU0lFJztcclxuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcclxuXHJcblxyXG5cclxuXHJcbmNvbnN0IGlzQ2hyb21lID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9DaHJvbWUvaSk7XHJcblxyXG5jb25zdCBpc0ZpcmVmb3ggPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XHJcbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL0ZpcmVmb3gvaSk7XHJcblxyXG5jb25zdCBpc0VkZ2UgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XHJcbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL0VkZ2UvaSk7XHJcblxyXG5jb25zdCBpc1NhZmFyaSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvU2FmYXJpL2kpO1xyXG5cclxuY29uc3QgaXNPcGVyYSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvT3BlcmEvaSkgfHwgdGVzdFVzZXJBZ2VudCh3aW4sIC9PUFIvaSk7XHJcblxyXG5jb25zdCBpc01TSUUgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XHJcbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL01TSUUvaSkgfHwgdGVzdFVzZXJBZ2VudCh3aW4sIC9UcmlkZW50L2kpO1xyXG5cclxuXHJcbmNvbnN0IGlzTW9iaWxlV2ViID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gICAgaXNNb2JpbGUod2luKSAmJiAhaXNIeWJyaWQod2luKTtcclxuXHJcbmNvbnN0IGlzSXBhZCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gICAgLy8gaU9TIDEyIGFuZCBiZWxvd1xyXG4gICAgaWYgKHRlc3RVc2VyQWdlbnQod2luLCAvaVBhZC9pKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGlPUyAxMytcclxuICAgIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL01hY2ludG9zaC9pKSAmJiBpc01vYmlsZSh3aW4pKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuY29uc3QgaXNJcGhvbmUgPSAod2luOiBXaW5kb3cpID0+XHJcbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZS9pKTtcclxuXHJcbmNvbnN0IGlzSU9TID0gKHdpbjogV2luZG93KSA9PlxyXG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9pUGhvbmV8aVBvZC9pKSB8fCBpc0lwYWQod2luKTtcclxuXHJcbmNvbnN0IGlzQW5kcm9pZCA9ICh3aW46IFdpbmRvdykgPT5cclxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvYW5kcm9pZHxzaW5rL2kpO1xyXG5cclxuY29uc3QgaXNBbmRyb2lkVGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgICByZXR1cm4gaXNBbmRyb2lkKHdpbikgJiYgIXRlc3RVc2VyQWdlbnQod2luLCAvbW9iaWxlL2kpO1xyXG59O1xyXG5cclxuY29uc3QgaXNQaGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gd2luLmlubmVySGVpZ2h0O1xyXG4gICAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcclxuICAgIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgICByZXR1cm4gKHNtYWxsZXN0ID4gMzkwICYmIHNtYWxsZXN0IDwgNTIwKSAmJlxyXG4gICAgICAgIChsYXJnZXN0ID4gNjIwICYmIGxhcmdlc3QgPCA4MDApO1xyXG59O1xyXG5cclxuY29uc3QgaXNUYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICAgIGNvbnN0IHdpZHRoID0gd2luLmlubmVyV2lkdGg7XHJcbiAgICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XHJcbiAgICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xyXG4gICAgY29uc3QgbGFyZ2VzdCA9IE1hdGgubWF4KHdpZHRoLCBoZWlnaHQpO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgaXNJcGFkKHdpbikgfHxcclxuICAgICAgICBpc0FuZHJvaWRUYWJsZXQod2luKSB8fFxyXG4gICAgICAgIChcclxuICAgICAgICAgICAgKHNtYWxsZXN0ID4gNDYwICYmIHNtYWxsZXN0IDwgODIwKSAmJlxyXG4gICAgICAgICAgICAobGFyZ2VzdCA+IDc4MCAmJiBsYXJnZXN0IDwgMTQwMClcclxuICAgICAgICApXHJcbiAgICApO1xyXG59O1xyXG5cclxuY29uc3QgaXNNb2JpbGUgPSAod2luOiBXaW5kb3cpID0+XHJcbiAgICBtYXRjaE1lZGlhKHdpbiwgJyhhbnktcG9pbnRlcjpjb2Fyc2UpJyk7XHJcblxyXG5jb25zdCBpc0Rlc2t0b3AgPSAod2luOiBXaW5kb3cpID0+XHJcbiAgICAhaXNNb2JpbGUod2luKTtcclxuXHJcbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PlxyXG4gICAgaXNDb3Jkb3ZhKHdpbikgfHwgaXNDYXBhY2l0b3JOYXRpdmUod2luKTtcclxuXHJcbmNvbnN0IGlzQ29yZG92YSA9ICh3aW46IGFueSk6IGJvb2xlYW4gPT5cclxuICAgICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xyXG5cclxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGNhcGFjaXRvciA9IHdpblsnQ2FwYWNpdG9yJ107XHJcbiAgICByZXR1cm4gISEoY2FwYWNpdG9yICYmIGNhcGFjaXRvci5pc05hdGl2ZSk7XHJcbn07XHJcblxyXG5jb25zdCBpc0VsZWN0cm9uID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9lbGVjdHJvbi9pKTtcclxuXHJcbmNvbnN0IGlzUFdBID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gICAgISEod2luLm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlcyB8fCAod2luLm5hdmlnYXRvciBhcyBhbnkpLnN0YW5kYWxvbmUpO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRlc3RVc2VyQWdlbnQgPSAod2luOiBXaW5kb3csIGV4cHI6IFJlZ0V4cCkgPT5cclxuICAgIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcblxyXG5jb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PlxyXG4gICAgd2luLm1hdGNoTWVkaWEocXVlcnkpLm1hdGNoZXM7XHJcblxyXG5cclxuY29uc3QgUExBVEZPUk1TX01BUCA9IHtcclxuICAgICdBbmRyb2lkJzogaXNBbmRyb2lkLFxyXG4gICAgJ2lPUyc6IGlzSU9TLFxyXG4gICAgJ0Rlc2t0b3AnOiBpc0Rlc2t0b3AsXHJcbiAgICAnTW9iaWxlJzogaXNNb2JpbGUsXHJcbiAgICAnQ2hyb21lJzogaXNDaHJvbWUsXHJcbiAgICAnRmlyZWZveCc6IGlzRmlyZWZveCxcclxuICAgICdTYWZhcmknOiBpc1NhZmFyaSxcclxuICAgICdFZGdlJzogaXNFZGdlLFxyXG4gICAgJ09wZXJhJzogaXNPcGVyYSxcclxuICAgICdIeWJyaWQnOiBpc0h5YnJpZCxcclxuICAgICdQV0EnOiBpc1BXQSxcclxuICAgICdFbGVjdHJvbic6IGlzRWxlY3Ryb24sXHJcbn07XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUGxhdGZvcm1FdmVudCB7XHJcbiAgICBuYXRpdmVFdmVudDogVUlFdmVudCB8IEV2ZW50O1xyXG4gICAgc291cmNlOiBBWFBsYXRmb3JtXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdwbGF0Zm9ybScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtIHtcclxuICAgIHJlc2l6ZTogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xyXG4gICAgY2xpY2s6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKVxyXG4gICAgc2Nyb2xsOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KClcclxuXHJcbiAgICBpc1J0bCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZG9jdW1lbnQuZGlyID09ICdydGwnIHx8IGRvY3VtZW50LmJvZHkuZGlyID09ICdydGwnIHx8IGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9uID09ICdydGwnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBpc0xhbmRzY2FwZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IDwgd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgaXNQb3J0cmF0ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuaXNMYW5kc2NhcGUoKVxyXG4gICAgfVxyXG5cclxuICAgIGlzKG5hbWU6IEFYUGxhdGZvcm1zIHwgQVhCcm93c2VycyB8IEFYVGVjaG5vbG9naWVzKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIFBMQVRGT1JNU19NQVBbbmFtZV0od2luZG93KSB8fCBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3dpdGNoRGFya01vZGUoKSB7XHJcbiAgICAgICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImh0bWxcIilbMF07XHJcbiAgICAgICAgX2h0bWwuY2xhc3NMaXN0LmFkZCgnYXgtZGFyaycpXHJcblxyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaExpZ2h0TW9kZSgpIHtcclxuICAgICAgICBjb25zdCBfaHRtbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaHRtbFwiKVswXTtcclxuICAgICAgICBfaHRtbC5jbGFzc0xpc3QucmVtb3ZlKCdheC1kYXJrJylcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRGdWxsSGVpZ2h0UmF0aW8oKSB7XHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJzpyb290Jykuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXgtdmgnLCB3aW5kb3cuaW5uZXJIZWlnaHQgLyAxMDAgKyAncHgnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgICAgICAgZnJvbUV2ZW50PFVJRXZlbnQ+KHdpbmRvdywgJ3Jlc2l6ZScpXHJcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApKVxyXG4gICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZS5uZXh0KHtcclxuICAgICAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXNcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldEZ1bGxIZWlnaHRSYXRpbygpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcblxyXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbGljay5uZXh0KHtcclxuICAgICAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxyXG4gICAgICAgICAgICAgICAgc291cmNlOiB0aGlzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIHRydWUpXHJcblxyXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsLm5leHQoe1xyXG4gICAgICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgdHJ1ZSk7XHJcbiAgICAgICAgLy8gaW5pdCBmdW5jdGlvbnNcclxuICAgICAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './translator';
|
|
2
|
-
export * from './translator.pipe';
|
|
3
|
-
export * from './translation.module';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3RyYW5zbGF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRvci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbi5tb2R1bGUnOyJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { AXTranslatorPipe } from './translator.pipe';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AXTranslationModule {
|
|
5
|
-
}
|
|
6
|
-
AXTranslationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
AXTranslationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
|
|
8
|
-
AXTranslationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXTranslationModule, providers: [], imports: [[]] });
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXTranslationModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [],
|
|
13
|
-
exports: [AXTranslatorPipe],
|
|
14
|
-
declarations: [AXTranslatorPipe],
|
|
15
|
-
providers: [],
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFRckQsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQUhiLGdCQUFnQixhQURyQixnQkFBZ0I7aUhBSWpCLG1CQUFtQixhQUZqQixFQUFFLFlBSEosRUFBRTsyRkFLRixtQkFBbUI7a0JBTi9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtdLFxyXG4gICAgZXhwb3J0czogW0FYVHJhbnNsYXRvclBpcGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbQVhUcmFuc2xhdG9yUGlwZV0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdGlvbk1vZHVsZSB7XHJcbiAgXHJcbn1cclxuIl19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
import merge from 'lodash-es/merge';
|
|
3
|
-
import _ from 'lodash';
|
|
4
|
-
// @dynamic
|
|
5
|
-
export class AXTranslator {
|
|
6
|
-
static get onChange() {
|
|
7
|
-
return AXTranslator.dataChangeSubject.asObservable();
|
|
8
|
-
}
|
|
9
|
-
static load(lang, value) {
|
|
10
|
-
if (typeof value === 'object') {
|
|
11
|
-
if (!AXTranslator[`__data__${lang}`]) {
|
|
12
|
-
AXTranslator[`__data__${lang}`] = {};
|
|
13
|
-
}
|
|
14
|
-
AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
static use(lang) {
|
|
18
|
-
AXTranslator.lang = lang;
|
|
19
|
-
}
|
|
20
|
-
static get(key, lang, params) {
|
|
21
|
-
lang = lang || AXTranslator.lang;
|
|
22
|
-
let result = _.get(AXTranslator[`__data__${lang}`], key, key);
|
|
23
|
-
const vars = typeof (result) == 'string' ? result?.match(this._varsRegx) : [];
|
|
24
|
-
if (vars?.length) {
|
|
25
|
-
vars.forEach(v => {
|
|
26
|
-
const varKey = v.match(this._varNameRegx)?.length ? v.match(this._varNameRegx)[0] : null;
|
|
27
|
-
if (varKey) {
|
|
28
|
-
const p = _.get(params, varKey) || this.get(varKey, lang);
|
|
29
|
-
if (p) {
|
|
30
|
-
result = result.replace(v, p);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
return typeof (result) == 'string' ? result : JSON.stringify(result);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
AXTranslator.lang = 'en';
|
|
39
|
-
AXTranslator.dataChangeSubject = new Subject();
|
|
40
|
-
AXTranslator._varsRegx = /((\$\{[a-zA-Z_0-9\.]+\})+)/gm;
|
|
41
|
-
AXTranslator._varNameRegx = /[a-zA-Z_0-9\.]+/gm;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvdHJhbnNsYXRpb24vdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixXQUFXO0FBQ1gsTUFBTSxPQUFPLFlBQVk7SUFPckIsTUFBTSxLQUFLLFFBQVE7UUFDZixPQUFPLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsRUFBRTtnQkFDbEMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDeEM7WUFDRCxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ25GO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUMxQixZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBYSxFQUFFLE1BQVk7UUFDdEQsSUFBSSxHQUFHLElBQUksSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ2pDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RSxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNiLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDekYsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzFELElBQUksQ0FBQyxFQUFFO3dCQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDakM7aUJBQ0o7WUFDTCxDQUFDLENBQUMsQ0FBQTtTQUNMO1FBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7QUF2Q2MsaUJBQUksR0FBVyxJQUFJLENBQUM7QUFDcEIsOEJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztBQUN2QyxzQkFBUyxHQUFHLDhCQUE4QixDQUFDO0FBQzNDLHlCQUFZLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gtZXMvbWVyZ2UnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvciB7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBsYW5nOiBzdHJpbmcgPSAnZW4nO1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZGF0YUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfdmFyc1JlZ3ggPSAvKChcXCRcXHtbYS16QS1aXzAtOVxcLl0rXFx9KSspL2dtO1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX3Zhck5hbWVSZWd4ID0gL1thLXpBLVpfMC05XFwuXSsvZ207XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgb25DaGFuZ2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gQVhUcmFuc2xhdG9yLmRhdGFDaGFuZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgbG9hZChsYW5nOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICBpZiAoIUFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0pIHtcclxuICAgICAgICAgICAgICAgIEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0gPSB7fTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdID0gbWVyZ2UoQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSwgdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIHVzZShsYW5nOiBzdHJpbmcpIHtcclxuICAgICAgICBBWFRyYW5zbGF0b3IubGFuZyA9IGxhbmc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQoa2V5OiBzdHJpbmcsIGxhbmc/OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGFuZyA9IGxhbmcgfHwgQVhUcmFuc2xhdG9yLmxhbmc7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IF8uZ2V0KEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0sIGtleSwga2V5KTtcclxuICAgICAgICBjb25zdCB2YXJzID0gdHlwZW9mIChyZXN1bHQpID09ICdzdHJpbmcnID8gcmVzdWx0Py5tYXRjaCh0aGlzLl92YXJzUmVneCkgOiBbXTtcclxuICAgICAgICBpZiAodmFycz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHZhcnMuZm9yRWFjaCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhcktleSA9IHYubWF0Y2godGhpcy5fdmFyTmFtZVJlZ3gpPy5sZW5ndGggPyB2Lm1hdGNoKHRoaXMuX3Zhck5hbWVSZWd4KVswXSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFyS2V5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcCA9IF8uZ2V0KHBhcmFtcywgdmFyS2V5KSB8fCB0aGlzLmdldCh2YXJLZXksIGxhbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKHYsIHApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiAocmVzdWx0KSA9PSAnc3RyaW5nJyA/IHJlc3VsdCA6IEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { AXTranslator } from './translator';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AXTranslatorPipe {
|
|
5
|
-
transform(value, lang) {
|
|
6
|
-
return AXTranslator.get(value, lang);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
-
AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXTranslatorPipe, decorators: [{
|
|
12
|
-
type: Pipe,
|
|
13
|
-
args: [{ name: 'trans', pure: true }]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi90cmFuc2xhdGlvbi90cmFuc2xhdG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixTQUFTLENBQUMsS0FBYSxFQUFFLElBQWE7UUFDbEMsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs2R0FIUSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0b3IgfSBmcm9tICcuL3RyYW5zbGF0b3InO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAndHJhbnMnLCBwdXJlOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3JQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgbGFuZz86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIEFYVHJhbnNsYXRvci5nZXQodmFsdWUsIGxhbmcpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// @dynamic
|
|
2
|
-
export class AXDrawingUtil {
|
|
3
|
-
static collision(a, b) {
|
|
4
|
-
const ac = a.getBoundingClientRect();
|
|
5
|
-
const bc = b.getBoundingClientRect();
|
|
6
|
-
if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&
|
|
7
|
-
ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
static isInElementBound(pos, element) {
|
|
15
|
-
const elBound = element.getBoundingClientRect();
|
|
16
|
-
return AXDrawingUtil.isInRecPoint(pos, {
|
|
17
|
-
left: elBound.x,
|
|
18
|
-
width: elBound.width,
|
|
19
|
-
top: elBound.y,
|
|
20
|
-
height: elBound.height
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
static isInRecPoint(pos, rec) {
|
|
24
|
-
return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi91dGlscy9kcmF3aW5nLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsV0FBVztBQUNYLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBYyxFQUFFLENBQWM7UUFDM0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFckMsSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDNUQsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsT0FBTyxJQUFJLENBQUM7U0FDZjthQUNJO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVksRUFBRSxPQUFvQjtRQUN0RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNoRCxPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQ25DLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNmLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07U0FDekIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBWSxFQUFFLEdBQXlCO1FBQ3ZELE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFYUG9pbnQge1xyXG4gICAgeDogbnVtYmVyO1xyXG4gICAgeTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQm91bmRpbmdDbGllbnRSZWN0IHtcclxuICAgIGxlZnQ/OiBudW1iZXI7XHJcbiAgICB0b3A/OiBudW1iZXI7XHJcbiAgICB3aWR0aD86IG51bWJlcjtcclxuICAgIGhlaWdodD86IG51bWJlcjtcclxuICAgIGJvdHRvbT86IG51bWJlcjtcclxuICAgIHJpZ2h0PzogbnVtYmVyO1xyXG59XHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBWERyYXdpbmdVdGlsIHtcclxuICAgIHN0YXRpYyBjb2xsaXNpb24oYTogSFRNTEVsZW1lbnQsIGI6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgYWMgPSBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGNvbnN0IGJjID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgaWYgKGFjLmxlZnQgPCBiYy5sZWZ0ICsgYmMud2lkdGggJiYgYWMubGVmdCArIGFjLndpZHRoID4gYmMubGVmdCAmJlxyXG4gICAgICAgICAgICBhYy50b3AgPCBiYy50b3AgKyBiYy5oZWlnaHQgJiYgYWMudG9wICsgYWMuaGVpZ2h0ID4gYmMudG9wKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNJbkVsZW1lbnRCb3VuZChwb3M6IEFYUG9pbnQsIGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZWxCb3VuZCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgcmV0dXJuIEFYRHJhd2luZ1V0aWwuaXNJblJlY1BvaW50KHBvcywge1xyXG4gICAgICAgICAgICBsZWZ0OiBlbEJvdW5kLngsXHJcbiAgICAgICAgICAgIHdpZHRoOiBlbEJvdW5kLndpZHRoLFxyXG4gICAgICAgICAgICB0b3A6IGVsQm91bmQueSxcclxuICAgICAgICAgICAgaGVpZ2h0OiBlbEJvdW5kLmhlaWdodFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc0luUmVjUG9pbnQocG9zOiBBWFBvaW50LCByZWM6IEFYQm91bmRpbmdDbGllbnRSZWN0KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHBvcy54ID49IHJlYy5sZWZ0ICYmIHBvcy54IDw9IChyZWMubGVmdCArIHJlYy53aWR0aCkgJiYgcG9zLnkgPj0gcmVjLnRvcCAmJiAocG9zLnkgPD0gKHJlYy50b3AgKyByZWMuaGVpZ2h0KSk7XHJcbiAgICB9XHJcblxyXG59Il19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './object-util';
|
|
2
|
-
export * from './drawing-util';
|
|
3
|
-
export * from './string-util';
|
|
4
|
-
export * from './safe.pipe';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29iamVjdC11dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9kcmF3aW5nLXV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmluZy11dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9zYWZlLnBpcGUnOyJdfQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// @dynamic
|
|
2
|
-
export class AXObjectUtil {
|
|
3
|
-
static deepJSONClone(obj) {
|
|
4
|
-
return obj ? JSON.parse(JSON.stringify(obj)) : null;
|
|
5
|
-
}
|
|
6
|
-
static deepCopy(obj) {
|
|
7
|
-
let copy;
|
|
8
|
-
// Handle the 3 simple types, and null or undefined
|
|
9
|
-
if (null == obj || 'object' !== typeof obj) {
|
|
10
|
-
return obj;
|
|
11
|
-
}
|
|
12
|
-
// Handle Date
|
|
13
|
-
if (obj instanceof Date) {
|
|
14
|
-
copy = new Date();
|
|
15
|
-
copy.setTime(obj.getTime());
|
|
16
|
-
return copy;
|
|
17
|
-
}
|
|
18
|
-
// Handle Array
|
|
19
|
-
if (obj instanceof Array) {
|
|
20
|
-
copy = [];
|
|
21
|
-
for (let i = 0, len = obj.length; i < len; i++) {
|
|
22
|
-
copy[i] = AXObjectUtil.deepCopy(obj[i]);
|
|
23
|
-
}
|
|
24
|
-
return copy;
|
|
25
|
-
}
|
|
26
|
-
// Handle Object
|
|
27
|
-
if (obj instanceof Object) {
|
|
28
|
-
copy = {};
|
|
29
|
-
for (const attr in obj) {
|
|
30
|
-
if (obj.hasOwnProperty(attr)) {
|
|
31
|
-
copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return copy;
|
|
35
|
-
}
|
|
36
|
-
throw new Error('Unable to copy obj! Its type isn\'t supported.');
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3V0aWxzL29iamVjdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQVE7UUFDekIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRztRQUNmLElBQUksSUFBSSxDQUFDO1FBQ1QsbURBQW1EO1FBQ25ELElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxRQUFRLEtBQUssT0FBTyxHQUFHLEVBQUU7WUFBRSxPQUFPLEdBQUcsQ0FBQztTQUFFO1FBQzNELGNBQWM7UUFDZCxJQUFJLEdBQUcsWUFBWSxJQUFJLEVBQUU7WUFDckIsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsZUFBZTtRQUNmLElBQUksR0FBRyxZQUFZLEtBQUssRUFBRTtZQUN0QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0M7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsZ0JBQWdCO1FBQ2hCLElBQUksR0FBRyxZQUFZLE1BQU0sRUFBRTtZQUN2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFBRTthQUNuRjtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQWdESiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBWE9iamVjdFV0aWwge1xyXG4gICAgc3RhdGljIGRlZXBKU09OQ2xvbmUob2JqOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBvYmogPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZGVlcENvcHkob2JqKSB7XHJcbiAgICAgICAgbGV0IGNvcHk7XHJcbiAgICAgICAgLy8gSGFuZGxlIHRoZSAzIHNpbXBsZSB0eXBlcywgYW5kIG51bGwgb3IgdW5kZWZpbmVkXHJcbiAgICAgICAgaWYgKG51bGwgPT0gb2JqIHx8ICdvYmplY3QnICE9PSB0eXBlb2Ygb2JqKSB7IHJldHVybiBvYmo7IH1cclxuICAgICAgICAvLyBIYW5kbGUgRGF0ZVxyXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIGNvcHkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgICAgICBjb3B5LnNldFRpbWUob2JqLmdldFRpbWUoKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYW5kbGUgQXJyYXlcclxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgY29weSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gb2JqLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb3B5W2ldID0gQVhPYmplY3RVdGlsLmRlZXBDb3B5KG9ialtpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhhbmRsZSBPYmplY3RcclxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIGNvcHkgPSB7fTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBhdHRyIGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShhdHRyKSkgeyBjb3B5W2F0dHJdID0gQVhPYmplY3RVdGlsLmRlZXBDb3B5KG9ialthdHRyXSk7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gY29weTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gY29weSBvYmohIEl0cyB0eXBlIGlzblxcJ3Qgc3VwcG9ydGVkLicpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHN0YXRpYyBmZXRjaFByb3Aob2JqLCBwcm9wOiBzdHJpbmcpIHtcclxuICAgIC8vICAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICBjb25zdCBpbmRleCA9IHByb3AuaW5kZXhPZignLicpO1xyXG5cclxuICAgIC8vICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gQVhPYmplY3RVdGlsLmZldGNoUHJvcChvYmpbcHJvcC5zdWJzdHJpbmcoMCwgaW5kZXgpXSwgcHJvcC5zdWJzdHIoaW5kZXggKyAxKSk7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICByZXR1cm4gb2JqW3Byb3BdO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHN0YXRpYyBnZXRQcm9wQnlQYXRoKG9iaiwgcGF0aCwgZGVmYXVsdFZhbD8pIHtcclxuICAgIC8vICAgICBwYXRoID0gcGF0aFxyXG4gICAgLy8gICAgICAgICAucmVwbGFjZSgvXFxbL2csICcuJylcclxuICAgIC8vICAgICAgICAgLnJlcGxhY2UoL10vZywgJycpXHJcbiAgICAvLyAgICAgICAgIC5zcGxpdCgnLicpO1xyXG5cclxuICAgIC8vICAgICBwYXRoLmZvckVhY2goKGxldmVsKSA9PiB7XHJcbiAgICAvLyAgICAgICAgIGlmIChvYmopIHtcclxuICAgIC8vICAgICAgICAgICAgIG9iaiA9IG9ialtsZXZlbF07XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9KTtcclxuXHJcbiAgICAvLyAgICAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gb2JqO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHN0YXRpYyBzZXRQcm9wQnlQYXRoKG9iaiwgcGF0aCwgdmFsdWUpIHtcclxuICAgIC8vICAgICBpZiAoT2JqZWN0KG9iaikgIT09IG9iaikgeyByZXR1cm4gb2JqOyB9IC8vIFdoZW4gb2JqIGlzIG5vdCBhbiBvYmplY3RcclxuICAgIC8vICAgICAvLyBJZiBub3QgeWV0IGFuIGFycmF5LCBnZXQgdGhlIGtleXMgZnJvbSB0aGUgc3RyaW5nLXBhdGhcclxuICAgIC8vICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF0aCkpIHsgcGF0aCA9IHBhdGgudG9TdHJpbmcoKS5tYXRjaCgvW14uW1xcXV0rL2cpIHx8IFtdOyB9XHJcbiAgICAvLyAgICAgcGF0aC5zbGljZSgwLCAtMSkucmVkdWNlKChhLCBjLCBpKSA9PiAvLyBJdGVyYXRlIGFsbCBvZiB0aGVtIGV4Y2VwdCB0aGUgbGFzdCBvbmVcclxuICAgIC8vICAgICAgICAgT2JqZWN0KGFbY10pID09PSBhW2NdIC8vIERvZXMgdGhlIGtleSBleGlzdCBhbmQgaXMgaXRzIHZhbHVlIGFuIG9iamVjdD9cclxuICAgIC8vICAgICAgICAgICAgIC8vIFllczogdGhlbiBmb2xsb3cgdGhhdCBwYXRoXHJcbiAgICAvLyAgICAgICAgICAgICA/IGFbY11cclxuICAgIC8vICAgICAgICAgICAgIC8vIE5vOiBjcmVhdGUgdGhlIGtleS4gSXMgdGhlIG5leHQga2V5IGEgcG90ZW50aWFsIGFycmF5LWluZGV4P1xyXG4gICAgLy8gICAgICAgICAgICAgOiBhW2NdID0gTWF0aC5hYnMocGF0aFtpICsgMV0pID4+IDAgPT09ICtwYXRoW2kgKyAxXVxyXG4gICAgLy8gICAgICAgICAgICAgICAgID8gW10gLy8gWWVzOiBhc3NpZ24gYSBuZXcgYXJyYXkgb2JqZWN0XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgOiB7fSwgLy8gTm86IGFzc2lnbiBhIG5ldyBwbGFpbiBvYmplY3RcclxuICAgIC8vICAgICAgICAgb2JqKVtwYXRoW3BhdGgubGVuZ3RoIC0gMV1dID0gdmFsdWU7IC8vIEZpbmFsbHkgYXNzaWduIHRoZSB2YWx1ZSB0byB0aGUgbGFzdCBrZXlcclxuICAgIC8vICAgICByZXR1cm4gb2JqOyAvLyBSZXR1cm4gdGhlIHRvcC1sZXZlbCBvYmplY3QgdG8gYWxsb3cgY2hhaW5pbmdcclxuICAgIC8vIH1cclxufSJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/platform-browser";
|
|
4
|
-
export class AXSafePipe {
|
|
5
|
-
constructor(sanitizer) {
|
|
6
|
-
this.sanitizer = sanitizer;
|
|
7
|
-
}
|
|
8
|
-
transform(value, type) {
|
|
9
|
-
if (value == null || value == undefined || value == '')
|
|
10
|
-
return null;
|
|
11
|
-
switch (type) {
|
|
12
|
-
case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
13
|
-
case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);
|
|
14
|
-
case 'script': return this.sanitizer.bypassSecurityTrustScript(value);
|
|
15
|
-
case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);
|
|
16
|
-
case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);
|
|
17
|
-
default: throw new Error(`Invalid safe type specified: ${type}`);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
AXSafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
22
|
-
AXSafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXSafePipe, name: "safe" });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXSafePipe, decorators: [{
|
|
24
|
-
type: Pipe,
|
|
25
|
-
args: [{
|
|
26
|
-
name: 'safe',
|
|
27
|
-
pure: true
|
|
28
|
-
}]
|
|
29
|
-
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi91dGlscy9zYWZlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU9wRCxNQUFNLE9BQU8sVUFBVTtJQUV0QixZQUFzQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUksQ0FBQztJQUUzQyxTQUFTLENBQUMsS0FBVSxFQUFFLElBQVk7UUFDeEMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUM7UUFDYixRQUFRLElBQUksRUFBRTtZQUNiLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BFLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hFLEtBQUssYUFBYSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDakU7SUFDRixDQUFDOzt1R0FmVyxVQUFVO3FHQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFKdEIsSUFBSTttQkFBQztvQkFDTCxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsSUFBSTtpQkFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCwgU2FmZVN0eWxlLCBTYWZlU2NyaXB0LCBTYWZlVXJsLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHtcclxuXHRuYW1lOiAnc2FmZScsXHJcblx0cHVyZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTYWZlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxyXG5cclxuXHRwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHR5cGU6IHN0cmluZyk6IFNhZmVIdG1sIHwgU2FmZVN0eWxlIHwgU2FmZVNjcmlwdCB8IFNhZmVVcmwgfCBTYWZlUmVzb3VyY2VVcmwge1xyXG5cdFx0aWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT0gdW5kZWZpbmVkIHx8IHZhbHVlID09ICcnKVxyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdHN3aXRjaCAodHlwZSkge1xyXG5cdFx0XHRjYXNlICdodG1sJzogcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcclxuXHRcdFx0Y2FzZSAnc3R5bGUnOiByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKHZhbHVlKTtcclxuXHRcdFx0Y2FzZSAnc2NyaXB0JzogcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQodmFsdWUpO1xyXG5cdFx0XHRjYXNlICd1cmwnOiByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh2YWx1ZSk7XHJcblx0XHRcdGNhc2UgJ3Jlc291cmNlVXJsJzogcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcblx0XHRcdGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzYWZlIHR5cGUgc3BlY2lmaWVkOiAke3R5cGV9YCk7XHJcblx0XHR9XHJcblx0fVxyXG59Il19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// @dynamic
|
|
2
|
-
export class AXStringUtil {
|
|
3
|
-
static getWordBoundsAtPosition(str, position) {
|
|
4
|
-
const isSpace = (c) => /[^a-zA-Z0-9]+/i.test(c);
|
|
5
|
-
let start = position - 1;
|
|
6
|
-
while (start >= 0 && !isSpace(str[start])) {
|
|
7
|
-
start -= 1;
|
|
8
|
-
}
|
|
9
|
-
start = Math.max(0, start + 1);
|
|
10
|
-
const leftSideString = str.slice(start).match(/[a-zA-Z0-9]+/i);
|
|
11
|
-
start += leftSideString.index;
|
|
12
|
-
let end = start + leftSideString[0].length;
|
|
13
|
-
return {
|
|
14
|
-
start,
|
|
15
|
-
end
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3V0aWxzL3N0cmluZy11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUVyQixNQUFNLENBQUMsdUJBQXVCLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQ3hELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxLQUFLLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUV6QixPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDdkMsS0FBSyxJQUFJLENBQUMsQ0FBQztTQUNkO1FBQ0QsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvRCxLQUFLLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLEdBQUcsR0FBRyxLQUFLLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMzQyxPQUFPO1lBQ0gsS0FBSztZQUNMLEdBQUc7U0FDTixDQUFDO0lBQ04sQ0FBQztDQU1KIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYU3RyaW5nVXRpbCB7XHJcblxyXG4gICAgc3RhdGljIGdldFdvcmRCb3VuZHNBdFBvc2l0aW9uKHN0cjogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogeyBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciB9IHtcclxuICAgICAgICBjb25zdCBpc1NwYWNlID0gKGMpID0+IC9bXmEtekEtWjAtOV0rL2kudGVzdChjKTtcclxuICAgICAgICBsZXQgc3RhcnQgPSBwb3NpdGlvbiAtIDE7XHJcblxyXG4gICAgICAgIHdoaWxlIChzdGFydCA+PSAwICYmICFpc1NwYWNlKHN0cltzdGFydF0pKSB7XHJcbiAgICAgICAgICAgIHN0YXJ0IC09IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMCwgc3RhcnQgKyAxKTtcclxuICAgICAgICBjb25zdCBsZWZ0U2lkZVN0cmluZyA9IHN0ci5zbGljZShzdGFydCkubWF0Y2goL1thLXpBLVowLTldKy9pKTtcclxuICAgICAgICBzdGFydCArPSBsZWZ0U2lkZVN0cmluZy5pbmRleDtcclxuICAgICAgICBsZXQgZW5kID0gc3RhcnQgKyBsZWZ0U2lkZVN0cmluZ1swXS5sZW5ndGg7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc3RhcnQsXHJcbiAgICAgICAgICAgIGVuZFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxufSJdfQ==
|
package/esm2020/public-api.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public API refrences of core libraries
|
|
3
|
-
* @module @acorex/core
|
|
4
|
-
*/
|
|
5
|
-
export * from './lib/core.module';
|
|
6
|
-
export * from './lib/dateTime';
|
|
7
|
-
export * from './lib/events';
|
|
8
|
-
export * from './lib/hotkeys';
|
|
9
|
-
export * from './lib/utils';
|
|
10
|
-
export * from './lib/config/configs';
|
|
11
|
-
export * from './lib/translation';
|
|
12
|
-
export * from './lib/platform';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7R0FHRztBQUNILGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vKipcclxuICogUHVibGljIEFQSSByZWZyZW5jZXMgb2YgY29yZSBsaWJyYXJpZXNcclxuICogQG1vZHVsZSBAYWNvcmV4L2NvcmVcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZVRpbWUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ldmVudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ob3RrZXlzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWcvY29uZmlncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGxhdGZvcm0nOyJdfQ==
|