@acorex/core 7.1.52 → 7.2.1
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 +3 -20
- package/config/README.md +3 -0
- package/config/index.d.ts +2 -5
- package/config/lib/configs.service.d.ts +5 -0
- package/dateTime/README.md +3 -0
- package/dateTime/index.d.ts +5 -5
- package/dateTime/{src → lib}/jalali.calendar.d.ts +1 -1
- package/esm2022/acorex-core.mjs +2 -2
- package/esm2022/config/acorex-core-config.mjs +2 -2
- package/esm2022/config/index.mjs +3 -0
- package/esm2022/config/lib/configs.mjs +24 -0
- package/esm2022/config/lib/configs.service.mjs +11 -0
- package/esm2022/dateTime/acorex-core-dateTime.mjs +2 -2
- package/esm2022/dateTime/index.mjs +6 -0
- package/esm2022/dateTime/lib/datetime.class.mjs +288 -0
- package/esm2022/dateTime/lib/datetime.module.mjs +39 -0
- package/esm2022/dateTime/lib/datetime.pipe.mjs +26 -0
- package/esm2022/dateTime/lib/georgian.calendar.mjs +189 -0
- package/esm2022/dateTime/lib/jalali.calendar.mjs +355 -0
- package/esm2022/events/acorex-core-events.mjs +2 -2
- package/esm2022/events/index.mjs +2 -0
- package/esm2022/events/lib/event.service.mjs +36 -0
- package/esm2022/file/acorex-core-file.mjs +2 -2
- package/esm2022/file/index.mjs +5 -0
- package/esm2022/file/lib/file-download-ref.class.mjs +12 -0
- package/esm2022/file/lib/file-download-result.class.mjs +46 -0
- package/esm2022/file/lib/file-upload-ref.class.mjs +12 -0
- package/esm2022/file/lib/file.service.mjs +102 -0
- package/esm2022/http/acorex-core-http.mjs +2 -2
- package/esm2022/http/index.mjs +7 -0
- package/esm2022/http/lib/http-error.class.mjs +2 -0
- package/esm2022/http/lib/http-events.interceptor.mjs +3 -0
- package/esm2022/http/lib/http-request.class.mjs +2 -0
- package/esm2022/http/lib/http-result.class.mjs +21 -0
- package/esm2022/http/lib/http.module.mjs +29 -0
- package/esm2022/http/lib/http.service.mjs +148 -0
- package/esm2022/image/acorex-core-image.mjs +2 -2
- package/esm2022/image/index.mjs +2 -0
- package/esm2022/image/lib/image.service.mjs +43 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/pipes/acorex-core-pipes.mjs +2 -2
- package/esm2022/pipes/index.mjs +3 -0
- package/esm2022/pipes/lib/pipes.module.mjs +19 -0
- package/esm2022/pipes/lib/safe.pipe.mjs +31 -0
- package/esm2022/platform/acorex-core-platform.mjs +2 -2
- package/esm2022/platform/index.mjs +2 -0
- package/esm2022/platform/lib/platform.service.mjs +155 -0
- package/esm2022/translation/acorex-core-translation.mjs +2 -2
- package/esm2022/translation/index.mjs +4 -0
- package/esm2022/translation/lib/translation.module.mjs +18 -0
- package/esm2022/translation/lib/translator.mjs +43 -0
- package/esm2022/translation/lib/translator.pipe.mjs +15 -0
- package/esm2022/utils/acorex-core-utils.mjs +2 -2
- package/esm2022/utils/index.mjs +6 -0
- package/esm2022/utils/lib/color-util.mjs +115 -0
- package/esm2022/utils/lib/drawing-util.mjs +29 -0
- package/esm2022/utils/lib/html-util.mjs +16 -0
- package/esm2022/utils/lib/object-util.mjs +39 -0
- package/esm2022/utils/lib/string-util.mjs +19 -0
- package/events/README.md +3 -0
- package/events/index.d.ts +1 -5
- package/fesm2022/acorex-core-config.mjs +14 -3
- package/fesm2022/acorex-core-config.mjs.map +1 -1
- package/fesm2022/acorex-core-dateTime.mjs +171 -178
- package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
- package/fesm2022/acorex-core-events.mjs +6 -4
- package/fesm2022/acorex-core-events.mjs.map +1 -1
- package/fesm2022/acorex-core-file.mjs +19 -23
- package/fesm2022/acorex-core-file.mjs.map +1 -1
- package/fesm2022/acorex-core-http.mjs +10 -17
- package/fesm2022/acorex-core-http.mjs.map +1 -1
- package/fesm2022/acorex-core-image.mjs +3 -3
- package/fesm2022/acorex-core-image.mjs.map +1 -1
- package/fesm2022/acorex-core-pipes.mjs +8 -9
- package/fesm2022/acorex-core-pipes.mjs.map +1 -1
- package/fesm2022/acorex-core-platform.mjs +6 -8
- package/fesm2022/acorex-core-platform.mjs.map +1 -1
- package/fesm2022/acorex-core-translation.mjs +13 -13
- package/fesm2022/acorex-core-translation.mjs.map +1 -1
- package/fesm2022/acorex-core-utils.mjs +87 -87
- package/fesm2022/acorex-core-utils.mjs.map +1 -1
- package/fesm2022/acorex-core.mjs +1 -6
- package/fesm2022/acorex-core.mjs.map +1 -1
- package/file/README.md +3 -0
- package/file/index.d.ts +4 -5
- package/http/README.md +3 -0
- package/http/index.d.ts +6 -5
- package/image/README.md +3 -0
- package/image/index.d.ts +1 -5
- package/index.d.ts +2 -5
- package/package.json +13 -11
- package/pipes/README.md +3 -0
- package/pipes/index.d.ts +2 -5
- package/platform/README.md +3 -0
- package/platform/index.d.ts +1 -5
- package/translation/README.md +3 -0
- package/translation/index.d.ts +3 -5
- package/utils/README.md +3 -0
- package/utils/index.d.ts +5 -5
- package/config/public-api.d.ts +0 -1
- package/dateTime/public-api.d.ts +0 -5
- package/esm2022/config/public-api.mjs +0 -2
- package/esm2022/config/src/configs.mjs +0 -25
- package/esm2022/dateTime/public-api.mjs +0 -6
- package/esm2022/dateTime/src/datetime.class.mjs +0 -295
- package/esm2022/dateTime/src/datetime.module.mjs +0 -40
- package/esm2022/dateTime/src/datetime.pipe.mjs +0 -27
- package/esm2022/dateTime/src/georgian.calendar.mjs +0 -187
- package/esm2022/dateTime/src/jalali.calendar.mjs +0 -357
- package/esm2022/events/public-api.mjs +0 -2
- package/esm2022/events/src/event.service.mjs +0 -35
- package/esm2022/file/public-api.mjs +0 -5
- package/esm2022/file/src/file-download-ref.class.mjs +0 -13
- package/esm2022/file/src/file-download-result.class.mjs +0 -47
- package/esm2022/file/src/file-upload-ref.class.mjs +0 -13
- package/esm2022/file/src/file.service.mjs +0 -103
- package/esm2022/http/public-api.mjs +0 -6
- package/esm2022/http/src/http-error.class.mjs +0 -2
- package/esm2022/http/src/http-events.interceptor.mjs +0 -3
- package/esm2022/http/src/http-request.class.mjs +0 -2
- package/esm2022/http/src/http-result.class.mjs +0 -25
- package/esm2022/http/src/http.module.mjs +0 -30
- package/esm2022/http/src/http.service.mjs +0 -152
- package/esm2022/image/public-api.mjs +0 -2
- package/esm2022/image/src/image.service.mjs +0 -44
- package/esm2022/pipes/public-api.mjs +0 -3
- package/esm2022/pipes/src/pipes.module.mjs +0 -20
- package/esm2022/pipes/src/safe.pipe.mjs +0 -32
- package/esm2022/platform/public-api.mjs +0 -2
- package/esm2022/platform/src/platform.service.mjs +0 -158
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/translation/public-api.mjs +0 -4
- package/esm2022/translation/src/translation.module.mjs +0 -19
- package/esm2022/translation/src/translator.mjs +0 -44
- package/esm2022/translation/src/translator.pipe.mjs +0 -16
- package/esm2022/utils/public-api.mjs +0 -6
- package/esm2022/utils/src/color-util.mjs +0 -115
- package/esm2022/utils/src/drawing-util.mjs +0 -29
- package/esm2022/utils/src/html-util.mjs +0 -16
- package/esm2022/utils/src/object-util.mjs +0 -39
- package/esm2022/utils/src/string-util.mjs +0 -19
- package/events/public-api.d.ts +0 -1
- package/file/public-api.d.ts +0 -4
- package/http/public-api.d.ts +0 -5
- package/image/public-api.d.ts +0 -1
- package/pipes/public-api.d.ts +0 -2
- package/platform/public-api.d.ts +0 -1
- package/public-api.d.ts +0 -1
- package/translation/public-api.d.ts +0 -3
- package/utils/public-api.d.ts +0 -5
- /package/config/{src → lib}/configs.d.ts +0 -0
- /package/dateTime/{src → lib}/datetime.class.d.ts +0 -0
- /package/dateTime/{src → lib}/datetime.module.d.ts +0 -0
- /package/dateTime/{src → lib}/datetime.pipe.d.ts +0 -0
- /package/dateTime/{src → lib}/georgian.calendar.d.ts +0 -0
- /package/events/{src → lib}/event.service.d.ts +0 -0
- /package/file/{src → lib}/file-download-ref.class.d.ts +0 -0
- /package/file/{src → lib}/file-download-result.class.d.ts +0 -0
- /package/file/{src → lib}/file-upload-ref.class.d.ts +0 -0
- /package/file/{src → lib}/file.service.d.ts +0 -0
- /package/http/{src → lib}/http-error.class.d.ts +0 -0
- /package/http/{src → lib}/http-events.interceptor.d.ts +0 -0
- /package/http/{src → lib}/http-request.class.d.ts +0 -0
- /package/http/{src → lib}/http-result.class.d.ts +0 -0
- /package/http/{src → lib}/http.module.d.ts +0 -0
- /package/http/{src → lib}/http.service.d.ts +0 -0
- /package/image/{src → lib}/image.service.d.ts +0 -0
- /package/pipes/{src → lib}/pipes.module.d.ts +0 -0
- /package/pipes/{src → lib}/safe.pipe.d.ts +0 -0
- /package/platform/{src → lib}/platform.service.d.ts +0 -0
- /package/translation/{src → lib}/translation.module.d.ts +0 -0
- /package/translation/{src → lib}/translator.d.ts +0 -0
- /package/translation/{src → lib}/translator.pipe.d.ts +0 -0
- /package/utils/{src → lib}/color-util.d.ts +0 -0
- /package/utils/{src → lib}/drawing-util.d.ts +0 -0
- /package/utils/{src → lib}/html-util.d.ts +0 -0
- /package/utils/{src → lib}/object-util.d.ts +0 -0
- /package/utils/{src → lib}/string-util.d.ts +0 -0
package/README.md
CHANGED
@@ -1,24 +1,7 @@
|
|
1
|
-
#
|
1
|
+
# core
|
2
2
|
|
3
|
-
This library was generated with [
|
4
|
-
|
5
|
-
## Code scaffolding
|
6
|
-
|
7
|
-
Run `ng generate component component-name --project core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project core`.
|
8
|
-
> Note: Don't forget to add `--project core` or else it will be added to the default project in your `angular.json` file.
|
9
|
-
|
10
|
-
## Build
|
11
|
-
|
12
|
-
Run `ng build core` to build the project. The build artifacts will be stored in the `dist/` directory.
|
13
|
-
|
14
|
-
## Publishing
|
15
|
-
|
16
|
-
After building your library with `ng build core`, go to the dist folder `cd dist/core` and run `npm publish`.
|
3
|
+
This library was generated with [Nx](https://nx.dev).
|
17
4
|
|
18
5
|
## Running unit tests
|
19
6
|
|
20
|
-
Run `
|
21
|
-
|
22
|
-
## Further help
|
23
|
-
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
7
|
+
Run `nx test core` to execute the unit tests.
|
package/config/README.md
ADDED
package/config/index.d.ts
CHANGED
package/dateTime/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
*
|
3
|
-
|
4
|
-
|
5
|
-
export * from './
|
1
|
+
export * from './lib/datetime.class';
|
2
|
+
export * from './lib/datetime.module';
|
3
|
+
export * from './lib/datetime.pipe';
|
4
|
+
export * from './lib/georgian.calendar';
|
5
|
+
export * from './lib/jalali.calendar';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { AXCalendar, AXDateTime, AXDateValue, TimeUnit } from
|
1
|
+
import { AXCalendar, AXDateTime, AXDateValue, TimeUnit } from './datetime.class';
|
2
2
|
export declare class JalaliCalendar implements AXCalendar {
|
3
3
|
monthNames: string[];
|
4
4
|
monthShortNames: string[];
|
package/esm2022/acorex-core.mjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
2
|
* Generated bundle index. Do not edit.
|
3
3
|
*/
|
4
|
-
export * from './
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2Fjb3JleC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
2
|
* Generated bundle index. Do not edit.
|
3
3
|
*/
|
4
|
-
export * from './
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2NvbmZpZy9zcmMvYWNvcmV4LWNvcmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './lib/configs';
|
2
|
+
export * from './lib/configs.service';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvY29uZmlnL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWdzLnNlcnZpY2UnO1xuIl19
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { get, set, merge } from 'lodash-es';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
// @dynamic
|
4
|
+
export class AXConfig {
|
5
|
+
static { this.dataModel = {}; }
|
6
|
+
static { this.dataChangeSubject = new Subject(); }
|
7
|
+
static get onChange() {
|
8
|
+
return AXConfig.dataChangeSubject.asObservable();
|
9
|
+
}
|
10
|
+
static set(arg1, arg2) {
|
11
|
+
if (arg1 && typeof arg1 == 'string') {
|
12
|
+
set(AXConfig.dataModel, arg1, arg2);
|
13
|
+
AXConfig.dataChangeSubject.next(AXConfig.dataModel);
|
14
|
+
}
|
15
|
+
if (arg1 && typeof arg1 == 'object') {
|
16
|
+
merge(AXConfig.dataModel, arg1);
|
17
|
+
AXConfig.dataChangeSubject.next(AXConfig.dataModel);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
static get(path, defaultValue) {
|
21
|
+
return get(AXConfig.dataModel, path, defaultValue);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9jb25maWcvc3JjL2xpYi9jb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRTNDLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUTthQUNKLGNBQVMsR0FBUSxFQUFFLENBQUM7YUFDcEIsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUV0RCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBSUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFVLEVBQUUsSUFBVTtRQUMvQixJQUFJLElBQUksSUFBSSxPQUFPLElBQUksSUFBSSxRQUFRLEVBQUU7WUFDbkMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLFlBQWtCO1FBQ3pDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXQsIHNldCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYQ29uZmlnIHtcbiAgcHJpdmF0ZSBzdGF0aWMgZGF0YU1vZGVsOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBzdGF0aWMgZGF0YUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHN0YXRpYyBzZXQoY29uZmlnOiBhbnkpOiB2b2lkO1xuICBzdGF0aWMgc2V0KHBhdGg6IHN0cmluZywgdmFsdWU/OiBhbnkpOiB2b2lkO1xuICBzdGF0aWMgc2V0KGFyZzE/OiBhbnksIGFyZzI/OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnc3RyaW5nJykge1xuICAgICAgc2V0KEFYQ29uZmlnLmRhdGFNb2RlbCwgYXJnMSwgYXJnMik7XG4gICAgICBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5uZXh0KEFYQ29uZmlnLmRhdGFNb2RlbCk7XG4gICAgfVxuICAgIGlmIChhcmcxICYmIHR5cGVvZiBhcmcxID09ICdvYmplY3QnKSB7XG4gICAgICBtZXJnZShBWENvbmZpZy5kYXRhTW9kZWwsIGFyZzEpO1xuICAgICAgQVhDb25maWcuZGF0YUNoYW5nZVN1YmplY3QubmV4dChBWENvbmZpZy5kYXRhTW9kZWwpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXQocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBnZXQoQVhDb25maWcuZGF0YU1vZGVsLCBwYXRoLCBkZWZhdWx0VmFsdWUpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class AXConfigService {
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
5
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXConfigService, providedIn: 'platform' }); }
|
6
|
+
}
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXConfigService, decorators: [{
|
8
|
+
type: Injectable,
|
9
|
+
args: [{ providedIn: 'platform' }]
|
10
|
+
}] });
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2NvbmZpZy9zcmMvbGliL2NvbmZpZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlO2tIQUFmLGVBQWUsY0FESCxVQUFVOzsyRkFDdEIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncGxhdGZvcm0nfSlcbmV4cG9ydCBjbGFzcyBBWENvbmZpZ1NlcnZpY2Uge1xuICAgIFxuICAgIFxuICAgIFxufSJdfQ==
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
2
|
* Generated bundle index. Do not edit.
|
3
3
|
*/
|
4
|
-
export * from './
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtZGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZGF0ZVRpbWUvc3JjL2Fjb3JleC1jb3JlLWRhdGVUaW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export * from './lib/datetime.class';
|
2
|
+
export * from './lib/datetime.module';
|
3
|
+
export * from './lib/datetime.pipe';
|
4
|
+
export * from './lib/georgian.calendar';
|
5
|
+
export * from './lib/jalali.calendar';
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZGF0ZVRpbWUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGV0aW1lLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGV0aW1lLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRldGltZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dlb3JnaWFuLmNhbGVuZGFyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2phbGFsaS5jYWxlbmRhcic7XG4iXX0=
|
@@ -0,0 +1,288 @@
|
|
1
|
+
import * as _ from 'lodash';
|
2
|
+
import { AXConfig } from '@acorex/core/config';
|
3
|
+
// @dynamic
|
4
|
+
export class AXDateTime {
|
5
|
+
static convert(value, calendar = AXConfig.get('dateTime.calendar')) {
|
6
|
+
let date;
|
7
|
+
if (typeof value === 'string' || value instanceof String) {
|
8
|
+
date = new AXDateTime(value, calendar);
|
9
|
+
}
|
10
|
+
else if (value instanceof Date) {
|
11
|
+
date = new AXDateTime(value, calendar);
|
12
|
+
}
|
13
|
+
else if (value instanceof AXDateTime) {
|
14
|
+
date = new AXDateTime(value.date, calendar);
|
15
|
+
}
|
16
|
+
return date;
|
17
|
+
}
|
18
|
+
static from(value = {
|
19
|
+
calendar: AXConfig.get('dateTime.calendar'),
|
20
|
+
year: 1,
|
21
|
+
month: 1,
|
22
|
+
date: 1,
|
23
|
+
hours: 0,
|
24
|
+
minutes: 0,
|
25
|
+
seconds: 0,
|
26
|
+
ms: 0,
|
27
|
+
}) {
|
28
|
+
return AXDateTime.resolveCalendar(value.calendar).create(value);
|
29
|
+
}
|
30
|
+
static resolveCalendar(calendar) {
|
31
|
+
return typeof calendar == 'string'
|
32
|
+
? AXConfig.get(`dateTime.calendars.${calendar}.class`)
|
33
|
+
: calendar;
|
34
|
+
}
|
35
|
+
get date() {
|
36
|
+
return this._date;
|
37
|
+
}
|
38
|
+
get calendar() {
|
39
|
+
return this._calendar;
|
40
|
+
}
|
41
|
+
constructor(value = new Date(), calendar = AXConfig.get(`dateTime.calendar`)) {
|
42
|
+
this._formatKeys = {
|
43
|
+
ss: () => this.pad(this.date.getSeconds(), 2),
|
44
|
+
s: () => this.date.getSeconds().toString(),
|
45
|
+
//
|
46
|
+
dd: () => this.pad(this.calendar.dayOfMonth(this.date), 2),
|
47
|
+
d: () => this.calendar.dayOfMonth(this.date).toString(),
|
48
|
+
//
|
49
|
+
mm: () => this.pad(this.date.getMinutes(), 2),
|
50
|
+
m: () => this.date.getMinutes().toString(),
|
51
|
+
//
|
52
|
+
MMMM: () => this.calendar.monthNames[this.calendar.monthOfYear(this.date) - 1],
|
53
|
+
MMM: () => this.calendar.monthShortNames[this.calendar.monthOfYear(this.date) - 1],
|
54
|
+
MM: () => this.pad(this.calendar.monthOfYear(this.date), 2),
|
55
|
+
//
|
56
|
+
DDDD: () => this.calendar.dayNames[this.calendar.dayOfWeek(this.date) - 1],
|
57
|
+
DDD: () => this.calendar.dayShortNames[this.calendar.dayOfWeek(this.date) - 1],
|
58
|
+
//
|
59
|
+
yyyy: () => this.calendar.year(this.date).toString(),
|
60
|
+
YYYY: () => this.calendar.year(this.date).toString(),
|
61
|
+
yy: () => this.calendar.year(this.date).toString().substring(2),
|
62
|
+
YY: () => this.calendar.year(this.date).toString().substring(2),
|
63
|
+
//
|
64
|
+
HH: () => this.pad(this.date.getHours(), 2),
|
65
|
+
H: () => this.date.getHours().toString(),
|
66
|
+
//
|
67
|
+
hh: () => this.pad(this.date.getHours() % 12 || 12, 2),
|
68
|
+
h: () => (this.date.getHours() % 12 || 12).toString(),
|
69
|
+
//
|
70
|
+
A: () => (this.date.getHours() < 12 ? 'am' : 'pm'),
|
71
|
+
a: () => (this.date.getHours() < 12 ? 'am' : 'pm'),
|
72
|
+
};
|
73
|
+
this._calendar = AXDateTime.resolveCalendar(calendar);
|
74
|
+
if (value instanceof Date) {
|
75
|
+
this._date = value;
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
//TODO: parse jalali
|
79
|
+
this._date = new Date(value);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
clone() {
|
83
|
+
return new AXDateTime(this.date, this.calendar);
|
84
|
+
}
|
85
|
+
get dayOfMonth() {
|
86
|
+
return this._calendar.dayOfMonth(this.date);
|
87
|
+
}
|
88
|
+
get dayOfYear() {
|
89
|
+
return this._calendar.dayOfYear(this.date);
|
90
|
+
}
|
91
|
+
get dayOfWeek() {
|
92
|
+
return this._calendar.dayOfWeek(this.date);
|
93
|
+
}
|
94
|
+
get hour() {
|
95
|
+
return this._date.getHours();
|
96
|
+
}
|
97
|
+
get minute() {
|
98
|
+
return this._date.getMinutes();
|
99
|
+
}
|
100
|
+
get second() {
|
101
|
+
return this._date.getSeconds();
|
102
|
+
}
|
103
|
+
get year() {
|
104
|
+
return this._calendar.year(this.date);
|
105
|
+
}
|
106
|
+
get monthOfYear() {
|
107
|
+
return this._calendar.monthOfYear(this.date);
|
108
|
+
}
|
109
|
+
get weekOfYear() {
|
110
|
+
return this._calendar.weekOfYear(this.date);
|
111
|
+
}
|
112
|
+
get month() {
|
113
|
+
return new AXCalendarMonth(this);
|
114
|
+
}
|
115
|
+
add(unit, amount) {
|
116
|
+
return this._calendar.add(this.date, unit, amount);
|
117
|
+
}
|
118
|
+
set(unit = 'day', value) {
|
119
|
+
return this._calendar.set(this.date, unit, value);
|
120
|
+
}
|
121
|
+
duration(end, unit = 'day') {
|
122
|
+
const range = new AXDateTimeRange(this, AXDateTime.convert(end, this.calendar.name()));
|
123
|
+
return range.duration();
|
124
|
+
}
|
125
|
+
startOf(unit = 'day') {
|
126
|
+
return this._calendar.startOf(this.date, unit);
|
127
|
+
}
|
128
|
+
endOf(unit = 'day') {
|
129
|
+
return this._calendar.endOf(this.date, unit);
|
130
|
+
}
|
131
|
+
format(format = AXConfig.get('dateTime.shortDateFormat')) {
|
132
|
+
const re = new RegExp(_.orderBy(Object.keys(this._formatKeys), (c) => c.length, ['desc']).join('|'), 'gi');
|
133
|
+
return format.replace(re, (matched) => {
|
134
|
+
return this._formatKeys[matched]();
|
135
|
+
});
|
136
|
+
}
|
137
|
+
pad(n, width, z = '0') {
|
138
|
+
n = n + '';
|
139
|
+
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
|
140
|
+
}
|
141
|
+
toString(format = AXConfig.get('dateTime.shortDateFormat')) {
|
142
|
+
return this.format(format);
|
143
|
+
}
|
144
|
+
equal(value, unit = 'day') {
|
145
|
+
return this.compare(value, unit) == 0;
|
146
|
+
}
|
147
|
+
compare(value, unit = 'day') {
|
148
|
+
const val = AXDateTime.convert(value, this.calendar.name());
|
149
|
+
const func = (v1, v2) => {
|
150
|
+
if (v1 == v2) {
|
151
|
+
return 0;
|
152
|
+
}
|
153
|
+
else if (v1 > v2) {
|
154
|
+
return 1;
|
155
|
+
}
|
156
|
+
else {
|
157
|
+
return -1;
|
158
|
+
}
|
159
|
+
};
|
160
|
+
let p = 0;
|
161
|
+
switch (unit) {
|
162
|
+
case 'year':
|
163
|
+
return func(this.year, val.year);
|
164
|
+
case 'week':
|
165
|
+
p = this.compare(val, 'year');
|
166
|
+
return p == 0 ? func(this.weekOfYear, val.weekOfYear) : p;
|
167
|
+
case 'month':
|
168
|
+
p = this.compare(val, 'year');
|
169
|
+
return p == 0 ? func(this.monthOfYear, val.monthOfYear) : p;
|
170
|
+
case 'day':
|
171
|
+
p = this.compare(val, 'year');
|
172
|
+
return p == 0 ? func(this.dayOfYear, val.dayOfYear) : p;
|
173
|
+
case 'hour':
|
174
|
+
p = this.compare(val, 'day');
|
175
|
+
return p == 0 ? func(this.hour, val.hour) : p;
|
176
|
+
case 'minute':
|
177
|
+
p = this.compare(val, 'hour');
|
178
|
+
return p == 0 ? func(this.minute, val.minute) : p;
|
179
|
+
case 'second':
|
180
|
+
p = this.compare(val, 'minute');
|
181
|
+
return p == 0 ? func(this.second, val.second) : p;
|
182
|
+
default:
|
183
|
+
return func(this.date.getTime(), val.date.getTime());
|
184
|
+
}
|
185
|
+
}
|
186
|
+
convert(calendar) {
|
187
|
+
return AXDateTime.convert(this, calendar);
|
188
|
+
}
|
189
|
+
}
|
190
|
+
export class AXCalendarMonth {
|
191
|
+
get range() {
|
192
|
+
return this._range;
|
193
|
+
}
|
194
|
+
set range(v) {
|
195
|
+
this._range = v;
|
196
|
+
}
|
197
|
+
constructor(date) {
|
198
|
+
this.index = date.date.getMonth();
|
199
|
+
this.name = date.format('MMMM');
|
200
|
+
this.range = new AXDateTimeRange(new AXDateTime(date.startOf('month').date, date.calendar), new AXDateTime(date.endOf('month').date, date.calendar));
|
201
|
+
}
|
202
|
+
}
|
203
|
+
export class AXDateTimeRange {
|
204
|
+
get startTime() {
|
205
|
+
return this._startTime;
|
206
|
+
}
|
207
|
+
get endTime() {
|
208
|
+
return this._endTime;
|
209
|
+
}
|
210
|
+
constructor(startTime, endTime) {
|
211
|
+
this._startTime = startTime;
|
212
|
+
this._endTime = endTime;
|
213
|
+
}
|
214
|
+
duration() {
|
215
|
+
const result = {
|
216
|
+
miliseconds: 0,
|
217
|
+
seconds: 0,
|
218
|
+
minutes: 0,
|
219
|
+
hours: 0,
|
220
|
+
days: 0,
|
221
|
+
months: 0,
|
222
|
+
years: 0,
|
223
|
+
total: {
|
224
|
+
miliseconds: 0,
|
225
|
+
seconds: 0,
|
226
|
+
minutes: 0,
|
227
|
+
hours: 0,
|
228
|
+
days: 0,
|
229
|
+
weeks: 0,
|
230
|
+
months: 0,
|
231
|
+
years: 0,
|
232
|
+
},
|
233
|
+
};
|
234
|
+
const one_second = 1000;
|
235
|
+
const one_min = one_second * 60;
|
236
|
+
const one_hour = one_min * 60;
|
237
|
+
const one_day = one_hour * 24;
|
238
|
+
const one_week = one_day * 7;
|
239
|
+
const one_year = 365.25 * one_day;
|
240
|
+
const one_month = one_year / 12;
|
241
|
+
const startTime = this._startTime.date.getTime();
|
242
|
+
const endTime = this._endTime.date.getTime();
|
243
|
+
const diff = Math.abs(endTime - startTime);
|
244
|
+
//
|
245
|
+
result.total.miliseconds = diff;
|
246
|
+
result.total.seconds = Number((diff / one_second).toFixed(2));
|
247
|
+
result.total.minutes = Number((diff / one_min).toFixed(2));
|
248
|
+
result.total.hours = Number((diff / one_hour).toFixed(2));
|
249
|
+
result.total.days = Number((diff / one_day).toFixed(2));
|
250
|
+
result.total.weeks = Number((diff / one_week).toFixed(2));
|
251
|
+
//
|
252
|
+
// let months = (this.endTime.year - this.startTime.year) * 12;
|
253
|
+
// months += this.endTime.monthOfYear - this.startTime.monthOfYear + 1;
|
254
|
+
// if (this.endTime.dayOfYear < this.startTime.dayOfYear) {
|
255
|
+
// months--;
|
256
|
+
// }
|
257
|
+
// result.total.months = Math.abs(months);
|
258
|
+
// TODO: review
|
259
|
+
result.total.months = Number((diff / one_month).toFixed(2));
|
260
|
+
result.total.years = Number((diff / one_year).toFixed(2));
|
261
|
+
//
|
262
|
+
result.miliseconds = result.total.miliseconds % 1000;
|
263
|
+
result.seconds = Number((result.total.seconds % 60).toFixed(0));
|
264
|
+
result.minutes = Number((result.total.minutes % 60).toFixed(0));
|
265
|
+
result.hours = Number((result.total.hours % 24).toFixed(0));
|
266
|
+
// TODO: review
|
267
|
+
result.days = Number((result.total.days % 30.4).toFixed(0));
|
268
|
+
result.months = Number((result.total.months % 12).toFixed(0));
|
269
|
+
result.years = Number(result.total.years.toFixed(0));
|
270
|
+
return result;
|
271
|
+
}
|
272
|
+
enumurate(unit = 'day', amount = 1) {
|
273
|
+
const result = [];
|
274
|
+
let item = this._startTime.clone();
|
275
|
+
while (item.compare(this._endTime, unit) < 1) {
|
276
|
+
if (!result.some((c) => c.equal(item, unit))) {
|
277
|
+
result.push(item);
|
278
|
+
}
|
279
|
+
item = item.add(unit, amount);
|
280
|
+
}
|
281
|
+
return result;
|
282
|
+
}
|
283
|
+
includes(value, unit = 'day') {
|
284
|
+
// TODO: ??
|
285
|
+
return true;
|
286
|
+
}
|
287
|
+
}
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZGF0ZVRpbWUvc3JjL2xpYi9kYXRldGltZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFpRC9DLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQUMsT0FBTyxDQUNaLEtBQWlDLEVBQ2pDLFdBQW1CLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7UUFFcEQsSUFBSSxJQUFnQixDQUFDO1FBQ3JCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDeEQsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLEtBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNsRDthQUFNLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtZQUNoQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQ3RDLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxJQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FDVCxRQUFxQjtRQUNuQixRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztRQUMzQyxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7UUFDVixFQUFFLEVBQUUsQ0FBQztLQUNOO1FBRUQsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBNkI7UUFDbEQsT0FBTyxPQUFPLFFBQVEsSUFBSSxRQUFRO1lBQ2hDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixRQUFRLFFBQVEsQ0FBQztZQUN0RCxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ2YsQ0FBQztJQUlELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBR0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxZQUNFLFFBQXVCLElBQUksSUFBSSxFQUFFLEVBQ2pDLFdBQWdDLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7UUE0RTNELGdCQUFXLEdBQUc7WUFDcEIsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFO1lBQzFDLEVBQUU7WUFDRixFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFELENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3ZELEVBQUU7WUFDRixFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDMUMsRUFBRTtZQUNGLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xGLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0QsRUFBRTtZQUNGLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlFLEVBQUU7WUFDRixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNwRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNwRCxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDL0QsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQy9ELEVBQUU7WUFDRixFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDeEMsRUFBRTtZQUNGLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEQsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3JELEVBQUU7WUFDRixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbEQsQ0FBQyxF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VUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtZQUNELElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBaUIsRUFBRSxPQUFpQixLQUFLO1FBQ2hELFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FZRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XG5cbmV4cG9ydCB0eXBlIFRpbWVVbml0ID0gJ21zJyB8ICdzZWNvbmQnIHwgJ21pbnV0ZScgfCAnaG91cicgfCAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgfCAnd2Vlayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRlVmFsdWUge1xuICB5ZWFyOiBudW1iZXI7XG4gIG1vbnRoOiBudW1iZXI7XG4gIGRhdGU6IG51bWJlcjtcbiAgaG91cnM/OiBudW1iZXI7XG4gIG1pbnV0ZXM/OiBudW1iZXI7XG4gIHNlY29uZHM/OiBudW1iZXI7XG4gIG1zPzogbnVtYmVyO1xuICBjYWxlbmRhcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYQ2FsZW5kYXIge1xuICBtb250aE5hbWVzOiBzdHJpbmdbXTtcblxuICBtb250aFNob3J0TmFtZXM6IHN0cmluZ1tdO1xuXG4gIGRheU5hbWVzOiBzdHJpbmdbXTtcblxuICBkYXlTaG9ydE5hbWVzOiBzdHJpbmdbXTtcblxuICBuYW1lKCk6IHN0cmluZztcblxuICBkYXlPZk1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXI7XG5cbiAgZGF5T2ZZZWFyKGRhdGU6IERhdGUpOiBudW1iZXI7XG5cbiAgZGF5T2ZXZWVrKGRhdGU6IERhdGUpOiBudW1iZXI7XG5cbiAgbW9udGhPZlllYXIoZGF0ZTogRGF0ZSk6IG51bWJlcjtcblxuICB3ZWVrT2ZZZWFyKGRhdGU6IERhdGUpOiBudW1iZXI7XG5cbiAgeWVhcihkYXRlOiBEYXRlKTogbnVtYmVyO1xuXG4gIGFkZChkYXRlOiBEYXRlLCB1bml0OiBUaW1lVW5pdCwgYW1vdW50OiBudW1iZXIpOiBBWERhdGVUaW1lO1xuXG4gIHNldChkYXRlOiBEYXRlLCB1bml0OiBUaW1lVW5pdCwgdmFsdWU6IG51bWJlcik6IEFYRGF0ZVRpbWU7XG5cbiAgc3RhcnRPZihkYXRlOiBEYXRlLCB1bml0OiBUaW1lVW5pdCk6IEFYRGF0ZVRpbWU7XG5cbiAgZW5kT2YoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQpOiBBWERhdGVUaW1lO1xuXG4gIGNyZWF0ZSh2YWx1ZTogQVhEYXRlVmFsdWUpOiBBWERhdGVUaW1lO1xufVxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWUge1xuICBzdGF0aWMgY29udmVydChcbiAgICB2YWx1ZTogRGF0ZSB8IEFYRGF0ZVRpbWUgfCBzdHJpbmcsXG4gICAgY2FsZW5kYXI6IHN0cmluZyA9IEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuY2FsZW5kYXInKVxuICApOiBBWERhdGVUaW1lIHtcbiAgICBsZXQgZGF0ZTogQVhEYXRlVGltZTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCB2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZykge1xuICAgICAgZGF0ZSA9IG5ldyBBWERhdGVUaW1lKHZhbHVlIGFzIHN0cmluZywgY2FsZW5kYXIpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUgYXMgRGF0ZSwgY2FsZW5kYXIpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUuZGF0ZSwgY2FsZW5kYXIpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZSE7XG4gIH1cblxuICBzdGF0aWMgZnJvbShcbiAgICB2YWx1ZTogQVhEYXRlVmFsdWUgPSB7XG4gICAgICBjYWxlbmRhcjogQVhDb25maWcuZ2V0KCdkYXRlVGltZS5jYWxlbmRhcicpLFxuICAgICAgeWVhcjogMSxcbiAgICAgIG1vbnRoOiAxLFxuICAgICAgZGF0ZTogMSxcbiAgICAgIGhvdXJzOiAwLFxuICAgICAgbWludXRlczogMCxcbiAgICAgIHNlY29uZHM6IDAsXG4gICAgICBtczogMCxcbiAgICB9XG4gICk6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiBBWERhdGVUaW1lLnJlc29sdmVDYWxlbmRhcih2YWx1ZS5jYWxlbmRhcikuY3JlYXRlKHZhbHVlKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXI6IHN0cmluZyB8IEFYQ2FsZW5kYXIpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdHlwZW9mIGNhbGVuZGFyID09ICdzdHJpbmcnXG4gICAgICA/IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJzLiR7Y2FsZW5kYXJ9LmNsYXNzYClcbiAgICAgIDogY2FsZW5kYXI7XG4gIH1cblxuICBwcml2YXRlIF9kYXRlOiBEYXRlO1xuXG4gIGdldCBkYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9kYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsZW5kYXI6IEFYQ2FsZW5kYXI7XG4gIGdldCBjYWxlbmRhcigpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICB2YWx1ZTogRGF0ZSB8IHN0cmluZyA9IG5ldyBEYXRlKCksXG4gICAgY2FsZW5kYXI6IHN0cmluZyB8IEFYQ2FsZW5kYXIgPSBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYClcbiAgKSB7XG4gICAgdGhpcy5fY2FsZW5kYXIgPSBBWERhdGVUaW1lLnJlc29sdmVDYWxlbmRhcihjYWxlbmRhcik7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5fZGF0ZSA9IHZhbHVlIGFzIERhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vVE9ETzogcGFyc2UgamFsYWxpXG4gICAgICB0aGlzLl9kYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGNsb25lKCk6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZSh0aGlzLmRhdGUsIHRoaXMuY2FsZW5kYXIpO1xuICB9XG5cbiAgZ2V0IGRheU9mTW9udGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIuZGF5T2ZNb250aCh0aGlzLmRhdGUpO1xuICB9XG5cbiAgZ2V0IGRheU9mWWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5kYXlPZlllYXIodGhpcy5kYXRlKTtcbiAgfVxuXG4gIGdldCBkYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIuZGF5T2ZXZWVrKHRoaXMuZGF0ZSk7XG4gIH1cblxuICBnZXQgaG91cigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9kYXRlLmdldEhvdXJzKCk7XG4gIH1cblxuICBnZXQgbWludXRlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGUuZ2V0TWludXRlcygpO1xuICB9XG5cbiAgZ2V0IHNlY29uZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9kYXRlLmdldFNlY29uZHMoKTtcbiAgfVxuXG4gIGdldCB5ZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyLnllYXIodGhpcy5kYXRlKTtcbiAgfVxuXG4gIGdldCBtb250aE9mWWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5tb250aE9mWWVhcih0aGlzLmRhdGUpO1xuICB9XG5cbiAgZ2V0IHdlZWtPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIud2Vla09mWWVhcih0aGlzLmRhdGUpO1xuICB9XG5cbiAgZ2V0IG1vbnRoKCk6IEFYQ2FsZW5kYXJNb250aCB7XG4gICAgcmV0dXJuIG5ldyBBWENhbGVuZGFyTW9udGgodGhpcyk7XG4gIH1cblxuICBhZGQodW5pdDogVGltZVVuaXQsIGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyLmFkZCh0aGlzLmRhdGUsIHVuaXQsIGFtb3VudCk7XG4gIH1cblxuICBzZXQodW5pdDogVGltZVVuaXQgPSAnZGF5JywgdmFsdWU6IG51bWJlcik6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5zZXQodGhpcy5kYXRlLCB1bml0LCB2YWx1ZSk7XG4gIH1cblxuICBkdXJhdGlvbihlbmQ6IERhdGUgfCBBWERhdGVUaW1lLCB1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhUaW1lU3BhbiB7XG4gICAgY29uc3QgcmFuZ2UgPSBuZXcgQVhEYXRlVGltZVJhbmdlKHRoaXMsIEFYRGF0ZVRpbWUuY29udmVydChlbmQsIHRoaXMuY2FsZW5kYXIubmFtZSgpKSk7XG4gICAgcmV0dXJuIHJhbmdlLmR1cmF0aW9uKCk7XG4gIH1cblxuICBzdGFydE9mKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIuc3RhcnRPZih0aGlzLmRhdGUsIHVuaXQpO1xuICB9XG5cbiAgZW5kT2YodW5pdDogVGltZVVuaXQgPSAnZGF5Jyk6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5lbmRPZih0aGlzLmRhdGUsIHVuaXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybWF0S2V5cyA9IHtcbiAgICBzczogKCkgPT4gdGhpcy5wYWQodGhpcy5kYXRlLmdldFNlY29uZHMoKSwgMiksXG4gICAgczogKCkgPT4gdGhpcy5kYXRlLmdldFNlY29uZHMoKS50b1N0cmluZygpLFxuICAgIC8vXG4gICAgZGQ6ICgpID0+IHRoaXMucGFkKHRoaXMuY2FsZW5kYXIuZGF5T2ZNb250aCh0aGlzLmRhdGUpLCAyKSxcbiAgICBkOiAoKSA9PiB0aGlzLmNhbGVuZGFyLmRheU9mTW9udGgodGhpcy5kYXRlKS50b1N0cmluZygpLFxuICAgIC8vXG4gICAgbW06ICgpID0+IHRoaXMucGFkKHRoaXMuZGF0ZS5nZXRNaW51dGVzKCksIDIpLFxuICAgIG06ICgpID0+IHRoaXMuZGF0ZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKSxcbiAgICAvL1xuICAgIE1NTU06ICgpID0+IHRoaXMuY2FsZW5kYXIubW9udGhOYW1lc1t0aGlzLmNhbGVuZGFyLm1vbnRoT2ZZZWFyKHRoaXMuZGF0ZSkgLSAxXSxcbiAgICBNTU06ICgpID0+IHRoaXMuY2FsZW5kYXIubW9udGhTaG9ydE5hbWVzW3RoaXMuY2FsZW5kYXIubW9udGhPZlllYXIodGhpcy5kYXRlKSAtIDFdLFxuICAgIE1NOiAoKSA9PiB0aGlzLnBhZCh0aGlzLmNhbGVuZGFyLm1vbnRoT2ZZZWFyKHRoaXMuZGF0ZSksIDIpLFxuICAgIC8vXG4gICAgRERERDogKCkgPT4gdGhpcy5jYWxlbmRhci5kYXlOYW1lc1t0aGlzLmNhbGVuZGFyLmRheU9mV2Vlayh0aGlzLmRhdGUpIC0gMV0sXG4gICAgREREOiAoKSA9PiB0aGlzLmNhbGVuZGFyLmRheVNob3J0TmFtZXNbdGhpcy5jYWxlbmRhci5kYXlPZldlZWsodGhpcy5kYXRlKSAtIDFdLFxuICAgIC8vXG4gICAgeXl5eTogKCkgPT4gdGhpcy5jYWxlbmRhci55ZWFyKHRoaXMuZGF0ZSkudG9TdHJpbmcoKSxcbiAgICBZWVlZOiAoKSA9PiB0aGlzLmNhbGVuZGFyLnllYXIodGhpcy5kYXRlKS50b1N0cmluZygpLFxuICAgIHl5OiAoKSA9PiB0aGlzLmNhbGVuZGFyLnllYXIodGhpcy5kYXRlKS50b1N0cmluZygpLnN1YnN0cmluZygyKSxcbiAgICBZWTogKCkgPT4gdGhpcy5jYWxlbmRhci55ZWFyKHRoaXMuZGF0ZSkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiksXG4gICAgLy9cbiAgICBISDogKCkgPT4gdGhpcy5wYWQodGhpcy5kYXRlLmdldEhvdXJzKCksIDIpLFxuICAgIEg6ICgpID0+IHRoaXMuZGF0ZS5nZXRIb3VycygpLnRvU3RyaW5nKCksXG4gICAgLy9cbiAgICBoaDogKCkgPT4gdGhpcy5wYWQodGhpcy5kYXRlLmdldEhvdXJzKCkgJSAxMiB8fCAxMiwgMiksXG4gICAgaDogKCkgPT4gKHRoaXMuZGF0ZS5nZXRIb3VycygpICUgMTIgfHwgMTIpLnRvU3RyaW5nKCksXG4gICAgLy9cbiAgICBBOiAoKSA9PiAodGhpcy5kYXRlLmdldEhvdXJzKCkgPCAxMiA/ICdhbScgOiAncG0nKSxcbiAgICBhOiAoKSA9PiAodGhpcy5kYXRlLmdldEhvdXJzKCkgPCAxMiA/ICdhbScgOiAncG0nKSxcbiAgfTtcblxuICBmb3JtYXQoZm9ybWF0OiBzdHJpbmcgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnNob3J0RGF0ZUZvcm1hdCcpKTogc3RyaW5nIHtcbiAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAoXG4gICAgICBfLm9yZGVyQnkoT2JqZWN0LmtleXModGhpcy5fZm9ybWF0S2V5cyksIChjKSA9PiBjLmxlbmd0aCwgWydkZXNjJ10pLmpvaW4oJ3wnKSxcbiAgICAgICdnaSdcbiAgICApO1xuICAgIHJldHVybiBmb3JtYXQucmVwbGFjZShyZSwgKG1hdGNoZWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9mb3JtYXRLZXlzW21hdGNoZWRdKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHBhZChuLCB3aWR0aCwgeiA9ICcwJykge1xuICAgIG4gPSBuICsgJyc7XG4gICAgcmV0dXJuIG4ubGVuZ3RoID49IHdpZHRoID8gbiA6IG5ldyBBcnJheSh3aWR0aCAtIG4ubGVuZ3RoICsgMSkuam9pbih6KSArIG47XG4gIH1cblxuICB0b1N0cmluZyhmb3JtYXQ6IHN0cmluZyA9IEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuc2hvcnREYXRlRm9ybWF0JykpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdChmb3JtYXQpO1xuICB9XG5cbiAgZXF1YWwodmFsdWU6IERhdGUgfCBBWERhdGVUaW1lLCB1bml0OiBUaW1lVW5pdCA9ICdkYXknKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcGFyZSh2YWx1ZSwgdW5pdCkgPT0gMDtcbiAgfVxuXG4gIGNvbXBhcmUodmFsdWU6IERhdGUgfCBBWERhdGVUaW1lLCB1bml0OiBUaW1lVW5pdCA9ICdkYXknKSB7XG4gICAgY29uc3QgdmFsID0gQVhEYXRlVGltZS5jb252ZXJ0KHZhbHVlLCB0aGlzLmNhbGVuZGFyLm5hbWUoKSk7XG4gICAgY29uc3QgZnVuYyA9ICh2MTogbnVtYmVyLCB2MjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAodjEgPT0gdjIpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9IGVsc2UgaWYgKHYxID4gdjIpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgfTtcbiAgICBsZXQgcCA9IDA7XG4gICAgc3dpdGNoICh1bml0KSB7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuIGZ1bmModGhpcy55ZWFyLCB2YWwueWVhcik7XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgcCA9IHRoaXMuY29tcGFyZSh2YWwsICd5ZWFyJyk7XG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMud2Vla09mWWVhciwgdmFsLndlZWtPZlllYXIpIDogcDtcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgcCA9IHRoaXMuY29tcGFyZSh2YWwsICd5ZWFyJyk7XG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMubW9udGhPZlllYXIsIHZhbC5tb250aE9mWWVhcikgOiBwO1xuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgcCA9IHRoaXMuY29tcGFyZSh2YWwsICd5ZWFyJyk7XG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMuZGF5T2ZZZWFyLCB2YWwuZGF5T2ZZZWFyKSA6IHA7XG4gICAgICBjYXNlICdob3VyJzpcbiAgICAgICAgcCA9IHRoaXMuY29tcGFyZSh2YWwsICdkYXknKTtcbiAgICAgICAgcmV0dXJuIHAgPT0gMCA/IGZ1bmModGhpcy5ob3VyLCB2YWwuaG91cikgOiBwO1xuICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgcCA9IHRoaXMuY29tcGFyZSh2YWwsICdob3VyJyk7XG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMubWludXRlLCB2YWwubWludXRlKSA6IHA7XG4gICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICBwID0gdGhpcy5jb21wYXJlKHZhbCwgJ21pbnV0ZScpO1xuICAgICAgICByZXR1cm4gcCA9PSAwID8gZnVuYyh0aGlzLnNlY29uZCwgdmFsLnNlY29uZCkgOiBwO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZ1bmModGhpcy5kYXRlLmdldFRpbWUoKSwgdmFsLmRhdGUuZ2V0VGltZSgpKTtcbiAgICB9XG4gIH1cblxuICBjb252ZXJ0KGNhbGVuZGFyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gQVhEYXRlVGltZS5jb252ZXJ0KHRoaXMsIGNhbGVuZGFyKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck1vbnRoIHtcbiAgcHJpdmF0ZSBfcmFuZ2U6IEFYRGF0ZVRpbWVSYW5nZTtcbiAgcHVibGljIGdldCByYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xuICAgIHJldHVybiB0aGlzLl9yYW5nZTtcbiAgfVxuICBwdWJsaWMgc2V0IHJhbmdlKHY6IEFYRGF0ZVRpbWVSYW5nZSkge1xuICAgIHRoaXMuX3JhbmdlID0gdjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGRhdGU6IEFYRGF0ZVRpbWUpIHtcbiAgICB0aGlzLmluZGV4ID0gZGF0ZS5kYXRlLmdldE1vbnRoKCk7XG4gICAgdGhpcy5uYW1lID0gZGF0ZS5mb3JtYXQoJ01NTU0nKTtcbiAgICB0aGlzLnJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbiAgICAgIG5ldyBBWERhdGVUaW1lKGRhdGUuc3RhcnRPZignbW9udGgnKS5kYXRlLCBkYXRlLmNhbGVuZGFyKSxcbiAgICAgIG5ldyBBWERhdGVUaW1lKGRhdGUuZW5kT2YoJ21vbnRoJykuZGF0ZSwgZGF0ZS5jYWxlbmRhcilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmRleDogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFRpbWVTcGFuVG90YWwge1xuICBtaWxpc2Vjb25kczogbnVtYmVyO1xuICBzZWNvbmRzOiBudW1iZXI7XG4gIG1pbnV0ZXM6IG51bWJlcjtcbiAgaG91cnM6IG51bWJlcjtcbiAgZGF5czogbnVtYmVyO1xuICB3ZWVrczogbnVtYmVyO1xuICBtb250aHM6IG51bWJlcjtcbiAgeWVhcnM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFRpbWVTcGFuIHtcbiAgbWlsaXNlY29uZHM6IG51bWJlcjtcbiAgc2Vjb25kczogbnVtYmVyO1xuICBtaW51dGVzOiBudW1iZXI7XG4gIGhvdXJzOiBudW1iZXI7XG4gIGRheXM6IG51bWJlcjtcbiAgbW9udGhzOiBudW1iZXI7XG4gIHllYXJzOiBudW1iZXI7XG4gIHRvdGFsOiBBWFRpbWVTcGFuVG90YWw7XG59XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUmFuZ2Uge1xuICBwcml2YXRlIF9zdGFydFRpbWU6IEFYRGF0ZVRpbWU7XG4gIHByaXZhdGUgX2VuZFRpbWU6IEFYRGF0ZVRpbWU7XG5cbiAgcHVibGljIGdldCBzdGFydFRpbWUoKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0VGltZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5kVGltZSgpOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gdGhpcy5fZW5kVGltZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHN0YXJ0VGltZTogQVhEYXRlVGltZSwgZW5kVGltZTogQVhEYXRlVGltZSkge1xuICAgIHRoaXMuX3N0YXJ0VGltZSA9IHN0YXJ0VGltZTtcbiAgICB0aGlzLl9lbmRUaW1lID0gZW5kVGltZTtcbiAgfVxuXG4gIGR1cmF0aW9uKCk6IEFYVGltZVNwYW4ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhUaW1lU3BhbiA9IHtcbiAgICAgIG1pbGlzZWNvbmRzOiAwLFxuICAgICAgc2Vjb25kczogMCxcbiAgICAgIG1pbnV0ZXM6IDAsXG4gICAgICBob3VyczogMCxcbiAgICAgIGRheXM6IDAsXG4gICAgICBtb250aHM6IDAsXG4gICAgICB5ZWFyczogMCxcbiAgICAgIHRvdGFsOiB7XG4gICAgICAgIG1pbGlzZWNvbmRzOiAwLFxuICAgICAgICBzZWNvbmRzOiAwLFxuICAgICAgICBtaW51dGVzOiAwLFxuICAgICAgICBob3VyczogMCxcbiAgICAgICAgZGF5czogMCxcbiAgICAgICAgd2Vla3M6IDAsXG4gICAgICAgIG1vbnRoczogMCxcbiAgICAgICAgeWVhcnM6IDAsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBvbmVfc2Vjb25kID0gMTAwMDtcbiAgICBjb25zdCBvbmVfbWluID0gb25lX3NlY29uZCAqIDYwO1xuICAgIGNvbnN0IG9uZV9ob3VyID0gb25lX21pbiAqIDYwO1xuICAgIGNvbnN0IG9uZV9kYXkgPSBvbmVfaG91ciAqIDI0O1xuICAgIGNvbnN0IG9uZV93ZWVrID0gb25lX2RheSAqIDc7XG4gICAgY29uc3Qgb25lX3llYXIgPSAzNjUuMjUgKiBvbmVfZGF5O1xuICAgIGNvbnN0IG9uZV9tb250aCA9IG9uZV95ZWFyIC8gMTI7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gdGhpcy5fc3RhcnRUaW1lLmRhdGUuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGVuZFRpbWUgPSB0aGlzLl9lbmRUaW1lLmRhdGUuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGRpZmYgPSBNYXRoLmFicyhlbmRUaW1lIC0gc3RhcnRUaW1lKTtcbiAgICAvL1xuICAgIHJlc3VsdC50b3RhbC5taWxpc2Vjb25kcyA9IGRpZmY7XG4gICAgcmVzdWx0LnRvdGFsLnNlY29uZHMgPSBOdW1iZXIoKGRpZmYgLyBvbmVfc2Vjb25kKS50b0ZpeGVkKDIpKTtcbiAgICByZXN1bHQudG90YWwubWludXRlcyA9IE51bWJlcigoZGlmZiAvIG9uZV9taW4pLnRvRml4ZWQoMikpO1xuICAgIHJlc3VsdC50b3RhbC5ob3VycyA9IE51bWJlcigoZGlmZiAvIG9uZV9ob3VyKS50b0ZpeGVkKDIpKTtcbiAgICByZXN1bHQudG90YWwuZGF5cyA9IE51bWJlcigoZGlmZiAvIG9uZV9kYXkpLnRvRml4ZWQoMikpO1xuICAgIHJlc3VsdC50b3RhbC53ZWVrcyA9IE51bWJlcigoZGlmZiAvIG9uZV93ZWVrKS50b0ZpeGVkKDIpKTtcbiAgICAvL1xuICAgIC8vIGxldCBtb250aHMgPSAodGhpcy5lbmRUaW1lLnllYXIgLSB0aGlzLnN0YXJ0VGltZS55ZWFyKSAqIDEyO1xuICAgIC8vIG1vbnRocyArPSB0aGlzLmVuZFRpbWUubW9udGhPZlllYXIgLSB0aGlzLnN0YXJ0VGltZS5tb250aE9mWWVhciArIDE7XG4gICAgLy8gaWYgKHRoaXMuZW5kVGltZS5kYXlPZlllYXIgPCB0aGlzLnN0YXJ0VGltZS5kYXlPZlllYXIpIHtcbiAgICAvLyAgICAgbW9udGhzLS07XG4gICAgLy8gfVxuICAgIC8vIHJlc3VsdC50b3RhbC5tb250aHMgPSBNYXRoLmFicyhtb250aHMpO1xuICAgIC8vIFRPRE86IHJldmlld1xuICAgIHJlc3VsdC50b3RhbC5tb250aHMgPSBOdW1iZXIoKGRpZmYgLyBvbmVfbW9udGgpLnRvRml4ZWQoMikpO1xuICAgIHJlc3VsdC50b3RhbC55ZWFycyA9IE51bWJlcigoZGlmZiAvIG9uZV95ZWFyKS50b0ZpeGVkKDIpKTtcbiAgICAvL1xuICAgIHJlc3VsdC5taWxpc2Vjb25kcyA9IHJlc3VsdC50b3RhbC5taWxpc2Vjb25kcyAlIDEwMDA7XG4gICAgcmVzdWx0LnNlY29uZHMgPSBOdW1iZXIoKHJlc3VsdC50b3RhbC5zZWNvbmRzICUgNjApLnRvRml4ZWQoMCkpO1xuICAgIHJlc3VsdC5taW51dGVzID0gTnVtYmVyKChyZXN1bHQudG90YWwubWludXRlcyAlIDYwKS50b0ZpeGVkKDApKTtcbiAgICByZXN1bHQuaG91cnMgPSBOdW1iZXIoKHJlc3VsdC50b3RhbC5ob3VycyAlIDI0KS50b0ZpeGVkKDApKTtcbiAgICAvLyBUT0RPOiByZXZpZXdcbiAgICByZXN1bHQuZGF5cyA9IE51bWJlcigocmVzdWx0LnRvdGFsLmRheXMgJSAzMC40KS50b0ZpeGVkKDApKTtcbiAgICByZXN1bHQubW9udGhzID0gTnVtYmVyKChyZXN1bHQudG90YWwubW9udGhzICUgMTIpLnRvRml4ZWQoMCkpO1xuICAgIHJlc3VsdC55ZWFycyA9IE51bWJlcihyZXN1bHQudG90YWwueWVhcnMudG9GaXhlZCgwKSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGVudW11cmF0ZSh1bml0OiBUaW1lVW5pdCA9ICdkYXknLCBhbW91bnQ6IG51bWJlciA9IDEpOiBBWERhdGVUaW1lW10ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhEYXRlVGltZVtdID0gW107XG4gICAgbGV0IGl0ZW0gPSB0aGlzLl9zdGFydFRpbWUuY2xvbmUoKTtcbiAgICB3aGlsZSAoaXRlbS5jb21wYXJlKHRoaXMuX2VuZFRpbWUsIHVuaXQpIDwgMSkge1xuICAgICAgaWYgKCFyZXN1bHQuc29tZSgoYykgPT4gYy5lcXVhbChpdGVtLCB1bml0KSkpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICB9XG4gICAgICBpdGVtID0gaXRlbS5hZGQodW5pdCwgYW1vdW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGluY2x1ZGVzKHZhbHVlOiBBWERhdGVUaW1lLCB1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogYm9vbGVhbiB7XG4gICAgLy8gVE9ETzogPz9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIGdldFZpZXdDb21wYWlyZSh2aWV3KSB7XG4gIC8vICAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgLy8gICAgICAgICBjYXNlICdkYXknOlxuICAvLyAgICAgICAgICAgICByZXR1cm4gJ1lNRCc7XG4gIC8vICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAvLyAgICAgICAgICAgICByZXR1cm4gJ1lNJztcbiAgLy8gICAgICAgICBjYXNlICd5ZWFyJzpcbiAgLy8gICAgICAgICAgICAgcmV0dXJuICdZJztcbiAgLy8gICAgIH1cbiAgLy8gfVxufVxuIl19
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { AXConfig } from '@acorex/core/config';
|
3
|
+
import { AXDateTimePipe } from './datetime.pipe';
|
4
|
+
import { GeorgianCalendar } from './georgian.calendar';
|
5
|
+
import { JalaliCalendar } from './jalali.calendar';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export class AXDateTimeModule {
|
8
|
+
constructor() {
|
9
|
+
AXConfig.set({
|
10
|
+
dateTime: {
|
11
|
+
calendars: {
|
12
|
+
jalali: {
|
13
|
+
"class": new JalaliCalendar(),
|
14
|
+
weekend: [6, 7]
|
15
|
+
},
|
16
|
+
gregorian: {
|
17
|
+
"class": new GeorgianCalendar(),
|
18
|
+
weekend: [7, 1]
|
19
|
+
}
|
20
|
+
},
|
21
|
+
calendar: 'gregorian',
|
22
|
+
shortDateFormat: 'DDDD, d MMM yyyy'
|
23
|
+
}
|
24
|
+
});
|
25
|
+
}
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
27
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] }); }
|
28
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXDateTimeModule }); }
|
29
|
+
}
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
|
31
|
+
type: NgModule,
|
32
|
+
args: [{
|
33
|
+
imports: [],
|
34
|
+
exports: [AXDateTimePipe],
|
35
|
+
declarations: [AXDateTimePipe],
|
36
|
+
providers: [],
|
37
|
+
}]
|
38
|
+
}], ctorParameters: function () { return []; } });
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2RhdGVUaW1lL3NyYy9saWIvZGF0ZXRpbWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBU25ELE1BQU0sT0FBTyxnQkFBZ0I7SUFFekI7UUFDSSxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ1QsUUFBUSxFQUFFO2dCQUNOLFNBQVMsRUFBRTtvQkFDUCxNQUFNLEVBQUU7d0JBQ0osT0FBTyxFQUFFLElBQUksY0FBYyxFQUFFO3dCQUM3QixPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUNsQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsT0FBTyxFQUFFLElBQUksZ0JBQWdCLEVBQUU7d0JBQy9CLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2xCO2lCQUNKO2dCQUNELFFBQVEsRUFBRSxXQUFXO2dCQUNyQixlQUFlLEVBQUUsa0JBQWtCO2FBQ3RDO1NBQ0osQ0FBQyxDQUFDO0lBRVAsQ0FBQzs4R0FwQlEsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFYsY0FBYyxhQURuQixjQUFjOytHQUlmLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lUGlwZSB9IGZyb20gJy4vZGF0ZXRpbWUucGlwZSc7XG5pbXBvcnQgeyBHZW9yZ2lhbkNhbGVuZGFyIH0gZnJvbSAnLi9nZW9yZ2lhbi5jYWxlbmRhcic7XG5pbXBvcnQgeyBKYWxhbGlDYWxlbmRhciB9IGZyb20gJy4vamFsYWxpLmNhbGVuZGFyJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtBWERhdGVUaW1lUGlwZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbQVhEYXRlVGltZVBpcGVdLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVNb2R1bGUge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIEFYQ29uZmlnLnNldCh7XG4gICAgICAgICAgICBkYXRlVGltZToge1xuICAgICAgICAgICAgICAgIGNhbGVuZGFyczoge1xuICAgICAgICAgICAgICAgICAgICBqYWxhbGk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogbmV3IEphbGFsaUNhbGVuZGFyKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZW5kOiBbNiwgN11cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZ3JlZ29yaWFuOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IG5ldyBHZW9yZ2lhbkNhbGVuZGFyKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZW5kOiBbNywgMV1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY2FsZW5kYXI6ICdncmVnb3JpYW4nLFxuICAgICAgICAgICAgICAgIHNob3J0RGF0ZUZvcm1hdDogJ0REREQsIGQgTU1NIHl5eXknXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { Pipe } from '@angular/core';
|
2
|
+
import { AXConfig } from '@acorex/core/config';
|
3
|
+
import { AXDateTime } from './datetime.class';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class AXDateTimePipe {
|
6
|
+
constructor() { }
|
7
|
+
transform(value, format, calendar) {
|
8
|
+
if (value == null) {
|
9
|
+
return '';
|
10
|
+
}
|
11
|
+
const date = value instanceof AXDateTime ? value.clone() : AXDateTime.convert(value, calendar);
|
12
|
+
if (!format) {
|
13
|
+
return date.format(AXConfig.get('dateTime.shortDateFormat'));
|
14
|
+
}
|
15
|
+
else {
|
16
|
+
return date.format(format);
|
17
|
+
}
|
18
|
+
}
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
20
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" }); }
|
21
|
+
}
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
|
23
|
+
type: Pipe,
|
24
|
+
args: [{ name: 'axDate' }]
|
25
|
+
}], ctorParameters: function () { return []; } });
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9kYXRlVGltZS9zcmMvbGliL2RhdGV0aW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFHOUMsTUFBTSxPQUFPLGNBQWM7SUFDdkIsZ0JBQWdCLENBQUM7SUFFakIsU0FBUyxDQUFDLEtBQVUsRUFBRSxNQUFlLEVBQUUsUUFBaUI7UUFDcEQsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELE1BQU0sSUFBSSxHQUFlLEtBQUssWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztTQUNoRTthQUNJO1lBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzs4R0FkUSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUvY29uZmlnJztcbmltcG9ydCB7IEFYRGF0ZVRpbWUgfSBmcm9tICcuL2RhdGV0aW1lLmNsYXNzJztcblxuQFBpcGUoeyBuYW1lOiAnYXhEYXRlJyB9KVxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBmb3JtYXQ/OiBzdHJpbmcsIGNhbGVuZGFyPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRlOiBBWERhdGVUaW1lID0gdmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lID8gdmFsdWUuY2xvbmUoKSA6IEFYRGF0ZVRpbWUuY29udmVydCh2YWx1ZSwgY2FsZW5kYXIpO1xuICAgICAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUuZm9ybWF0KEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuc2hvcnREYXRlRm9ybWF0JykpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUuZm9ybWF0KGZvcm1hdCk7XG4gICAgICAgIH1cbiAgICB9XG59Il19
|