@acorex/core 6.5.28 → 6.5.30
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 -3
- package/acorex-core.d.ts +5 -0
- package/esm2020/acorex-core.mjs +5 -0
- package/esm2020/lib/classes/base-page.class.mjs +28 -0
- package/esm2020/lib/classes/color.class.mjs +49 -0
- package/esm2020/lib/classes/datetime.class.mjs +314 -0
- package/esm2020/lib/classes/menu.class.mjs +27 -0
- package/esm2020/lib/classes/navigator.class.mjs +2 -0
- package/esm2020/lib/classes/popup.class.mjs +2 -0
- package/esm2020/lib/classes/promise.class.mjs +19 -0
- package/esm2020/lib/classes/sectionlist.class.mjs +2 -0
- package/esm2020/lib/classes/select.class.mjs +3 -0
- package/esm2020/lib/core.module.mjs +27 -0
- package/esm2020/lib/error/error.class.mjs +2 -0
- package/esm2020/lib/error/error.module.mjs +19 -0
- package/esm2020/lib/error/error.service.mjs +21 -0
- package/esm2020/lib/events/keyboard.mjs +2 -0
- package/esm2020/lib/http/http-error.class.mjs +2 -0
- package/esm2020/lib/http/http-events.interceptor.mjs +3 -0
- package/esm2020/lib/http/http-request.class.mjs +2 -0
- package/esm2020/lib/http/http-result.class.mjs +21 -0
- package/esm2020/lib/http/http.module.mjs +37 -0
- package/esm2020/lib/http/http.service.mjs +145 -0
- package/{src → esm2020}/lib/locale/en.json +255 -255
- package/{src → esm2020}/lib/locale/fa.json +245 -245
- package/esm2020/lib/pipe/datetime.pipe.mjs +25 -0
- package/esm2020/lib/pipe/htmlToText.pipe.mjs +25 -0
- package/esm2020/lib/platform/index.mjs +2 -0
- package/esm2020/lib/platform/platform.service.mjs +150 -0
- package/esm2020/lib/services/config.mjs +29 -0
- package/esm2020/lib/services/event.service.mjs +36 -0
- package/esm2020/lib/services/navigator.service.mjs +10 -0
- package/esm2020/lib/services/storage.service.mjs +16 -0
- package/esm2020/lib/translator/translator.mjs +26 -0
- package/esm2020/lib/translator/translator.module.mjs +25 -0
- package/esm2020/lib/translator/translator.pipe.mjs +24 -0
- package/esm2020/lib/translator/translator.service.mjs +21 -0
- package/esm2020/lib/utils/array/array-util.mjs +133 -0
- package/esm2020/lib/utils/html/html-util.mjs +192 -0
- package/esm2020/lib/utils/html/html.module.mjs +19 -0
- package/esm2020/lib/utils/math/math-util.mjs +6 -0
- package/esm2020/lib/utils/object/object-util.mjs +83 -0
- package/esm2020/lib/utils/render/on-demand-preload-strategy.service.mjs +20 -0
- package/esm2020/lib/utils/render/render.service.mjs +103 -0
- package/esm2020/lib/utils/render/rendering.module.mjs +35 -0
- package/esm2020/lib/utils/scroll/scroll.directive.mjs +54 -0
- package/esm2020/lib/utils/scroll/scroll.module.mjs +19 -0
- package/esm2020/lib/utils/separator/separator.module.mjs +19 -0
- package/esm2020/lib/utils/separator/separator.pipe.mjs +33 -0
- package/esm2020/public-api.mjs +44 -0
- package/fesm2015/acorex-core.mjs +2274 -0
- package/fesm2015/acorex-core.mjs.map +1 -0
- package/fesm2020/acorex-core.mjs +2270 -0
- package/fesm2020/acorex-core.mjs.map +1 -0
- package/lib/classes/base-page.class.d.ts +13 -0
- package/lib/classes/color.class.d.ts +17 -0
- package/lib/classes/datetime.class.d.ts +63 -0
- package/lib/classes/menu.class.d.ts +34 -0
- package/{src/lib/classes/navigator.class.ts → lib/classes/navigator.class.d.ts} +5 -5
- package/{src/lib/classes/popup.class.ts → lib/classes/popup.class.d.ts} +12 -14
- package/lib/classes/promise.class.d.ts +7 -0
- package/{src/lib/classes/sectionlist.class.ts → lib/classes/sectionlist.class.d.ts} +8 -8
- package/lib/classes/select.class.d.ts +7 -0
- package/lib/core.module.d.ts +9 -0
- package/{src/lib/error/error.class.ts → lib/error/error.class.d.ts} +4 -4
- package/lib/error/error.module.d.ts +7 -0
- package/lib/error/error.service.d.ts +13 -0
- package/{src/lib/events/keyboard.ts → lib/events/keyboard.d.ts} +2 -5
- package/{src/lib/http/http-error.class.ts → lib/http/http-error.class.d.ts} +7 -7
- package/{src/lib/http/http-events.interceptor.ts → lib/http/http-events.interceptor.d.ts} +10 -14
- package/{src/lib/http/http-request.class.ts → lib/http/http-request.class.d.ts} +14 -14
- package/lib/http/http-result.class.d.ts +11 -0
- package/lib/http/http.module.d.ts +10 -0
- package/lib/http/http.service.d.ts +23 -0
- package/lib/pipe/datetime.pipe.d.ts +8 -0
- package/lib/pipe/htmlToText.pipe.d.ts +7 -0
- package/lib/platform/index.d.ts +1 -0
- package/lib/platform/platform.service.d.ts +26 -0
- package/lib/services/config.d.ts +9 -0
- package/lib/services/event.service.d.ts +9 -0
- package/lib/services/navigator.service.d.ts +8 -0
- package/lib/services/storage.service.d.ts +7 -0
- package/lib/translator/translator.d.ts +9 -0
- package/lib/translator/translator.module.d.ts +8 -0
- package/lib/translator/translator.pipe.d.ts +8 -0
- package/lib/translator/translator.service.d.ts +8 -0
- package/lib/utils/array/array-util.d.ts +6 -0
- package/lib/utils/html/html-util.d.ts +62 -0
- package/lib/utils/html/html.module.d.ts +8 -0
- package/lib/utils/math/math-util.d.ts +3 -0
- package/lib/utils/object/object-util.d.ts +7 -0
- package/lib/utils/render/on-demand-preload-strategy.service.d.ts +10 -0
- package/lib/utils/render/render.service.d.ts +18 -0
- package/lib/utils/render/rendering.module.d.ts +8 -0
- package/lib/utils/scroll/scroll.directive.d.ts +18 -0
- package/lib/utils/scroll/scroll.module.d.ts +8 -0
- package/lib/utils/separator/separator.module.d.ts +8 -0
- package/lib/utils/separator/separator.pipe.d.ts +8 -0
- package/package.json +33 -13
- package/{src/public-api.ts → public-api.d.ts} +43 -53
- package/karma.conf.js +0 -32
- package/ng-package.json +0 -10
- package/src/lib/classes/base-page.class.ts +0 -29
- package/src/lib/classes/color.class.ts +0 -61
- package/src/lib/classes/datetime.class.ts +0 -373
- package/src/lib/classes/menu.class.ts +0 -37
- package/src/lib/classes/promise.class.ts +0 -25
- package/src/lib/classes/select.class.ts +0 -7
- package/src/lib/core.module.ts +0 -21
- package/src/lib/error/error.module.ts +0 -13
- package/src/lib/error/error.service.ts +0 -23
- package/src/lib/error/index.ts +0 -3
- package/src/lib/http/http-result.class.ts +0 -34
- package/src/lib/http/http.module.ts +0 -25
- package/src/lib/http/http.service.ts +0 -159
- package/src/lib/pipe/datetime.pipe.ts +0 -20
- package/src/lib/pipe/htmlToText.pipe.ts +0 -18
- package/src/lib/platform/index.ts +0 -1
- package/src/lib/platform/platform.service.ts +0 -223
- package/src/lib/services/config.ts +0 -36
- package/src/lib/services/event.service.ts +0 -31
- package/src/lib/services/navigator.service.ts +0 -8
- package/src/lib/services/storage.service.ts +0 -11
- package/src/lib/translator/translator.module.ts +0 -19
- package/src/lib/translator/translator.pipe.ts +0 -22
- package/src/lib/translator/translator.service.ts +0 -19
- package/src/lib/translator/translator.ts +0 -31
- package/src/lib/utils/array/array-util.ts +0 -140
- package/src/lib/utils/html/html-util.ts +0 -264
- package/src/lib/utils/html/html.module.ts +0 -11
- package/src/lib/utils/math/math-util.ts +0 -5
- package/src/lib/utils/object/object-util.ts +0 -87
- package/src/lib/utils/render/on-demand-preload-strategy.service.ts +0 -25
- package/src/lib/utils/render/render.service.ts +0 -110
- package/src/lib/utils/render/rendering.module.ts +0 -25
- package/src/lib/utils/scroll/scroll.directive.ts +0 -35
- package/src/lib/utils/scroll/scroll.module.ts +0 -11
- package/src/lib/utils/separator/separator.module.ts +0 -11
- package/src/lib/utils/separator/separator.pipe.ts +0 -27
- package/src/test.ts +0 -28
- package/tsconfig.lib.json +0 -25
- package/tsconfig.lib.prod.json +0 -6
- package/tsconfig.spec.json +0 -18
- package/tslint.json +0 -17
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL2V2ZW50cy9rZXlib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBWEtleWJvYXJkRXZlbnQgZXh0ZW5kcyBLZXlib2FyZEV2ZW50IHtcblxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvaHR0cC9odHRwLWVycm9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElIdHRwRXJyb3Ige1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogbnVtYmVyO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgaGFuZGxlZDogYm9vbGVhbjtcbiAgICBlcnJvcjogYW55IHwgbnVsbFxufSJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken('ax.http.events');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ldmVudHMuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL2h0dHAvaHR0cC1ldmVudHMuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIdHRwRXJyb3IgfSBmcm9tICcuL2h0dHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYSHR0cFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi9odHRwLXJlcXVlc3QuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgQVhfSFRUUF9FVkVOVF9JTlRFUkNFUFRPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWEh0dHBFdmVudEludGVyY2VwdG9yPignYXguaHR0cC5ldmVudHMnKTtcblxuZXhwb3J0IGludGVyZmFjZSBBWEh0dHBFdmVudEludGVyY2VwdG9yIHtcbiAgICBiZWdpbihyZXF1ZXN0OiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8QVhIdHRwUmVxdWVzdE9wdGlvbnM+O1xuICAgIHN1Y2Nlc3MocmVxdWVzdDogQVhIdHRwUmVxdWVzdE9wdGlvbnMsIHJlc3VsdDogYW55KTogUHJvbWlzZTxhbnk+O1xuICAgIGNvbXBsZXRlKHJlcXVlc3Q6IEFYSHR0cFJlcXVlc3RPcHRpb25zKTtcbiAgICBlcnJvcihyZXF1ZXN0OiBBWEh0dHBSZXF1ZXN0T3B0aW9ucywgZXJyb3I6IElIdHRwRXJyb3IpO1xufVxuXG5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi9odHRwL2h0dHAtcmVxdWVzdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBWEh0dHBSZXF1ZXN0T3B0aW9ucyB7XG4gICAgdXJsPzogYW55LFxuICAgIHBhcmFtcz86IHtcbiAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBhbnk7XG4gICAgfSxcbiAgICBib2R5Pzoge1xuICAgICAgICBbcGFyYW06IHN0cmluZ106IGFueTtcbiAgICB9LFxuICAgIGhlYWRlcnM/OiB7XG4gICAgICAgIFtoZWFkZXI6IHN0cmluZ106IGFueTtcbiAgICB9LFxuICAgIG1ldGhvZD86ICdnZXQnIHwgJ3Bvc3QnIHwgJ3B1dCcgfCAnZGVsZXRlJztcbiAgICByZXNwb25zZVR5cGU/OiBhbnk7XG59Il19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class HttpResult {
|
|
2
|
+
constructor(executor) {
|
|
3
|
+
this._executor = executor;
|
|
4
|
+
setTimeout(() => {
|
|
5
|
+
this._executor(this.resultAction, this.errorAction, this.completeAction);
|
|
6
|
+
}, 50);
|
|
7
|
+
}
|
|
8
|
+
result(action) {
|
|
9
|
+
this.resultAction = action;
|
|
10
|
+
return this;
|
|
11
|
+
}
|
|
12
|
+
error(action) {
|
|
13
|
+
this.errorAction = action;
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
complete(action) {
|
|
17
|
+
this.completeAction = action;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXN1bHQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL2h0dHAvaHR0cC1yZXN1bHQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFVBQVU7SUFFbkIsWUFDSSxRQUlTO1FBRVQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM3RSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBTUQsTUFBTSxDQUFDLE1BQXVCO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLENBQUMsTUFBZ0M7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFrQjtRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSHR0cEVycm9yIH0gZnJvbSAnLi9odHRwLWVycm9yLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIEh0dHBSZXN1bHQ8VD4ge1xuICAgIHByaXZhdGUgX2V4ZWN1dG9yOiAocmVzdWx0OiAoZT86IFQpID0+IHZvaWQsIGVycm9yOiAoZT86IElIdHRwRXJyb3IpID0+IHZvaWQsIGNvbXBsZXRlOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBleGVjdXRvcjogKFxuICAgICAgICAgICAgcmVzdWx0OiAoZT86IFQpID0+IHZvaWQsXG4gICAgICAgICAgICBlcnJvcjogKGU/OiBJSHR0cEVycm9yKSA9PiB2b2lkLFxuICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHZvaWRcbiAgICAgICAgKSA9PiB2b2lkXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2V4ZWN1dG9yID0gZXhlY3V0b3I7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZXhlY3V0b3IodGhpcy5yZXN1bHRBY3Rpb24sIHRoaXMuZXJyb3JBY3Rpb24sIHRoaXMuY29tcGxldGVBY3Rpb24pO1xuICAgICAgICB9LCA1MCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN1bHRBY3Rpb246IChlPzogVCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIGVycm9yQWN0aW9uOiAoZT86IElIdHRwRXJyb3IpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBjb21wbGV0ZUFjdGlvbjogKCkgPT4gdm9pZDtcblxuICAgIHJlc3VsdChhY3Rpb246IChlPzogVCkgPT4gdm9pZCk6IEh0dHBSZXN1bHQ8VD4geyBcbiAgICAgICAgdGhpcy5yZXN1bHRBY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBlcnJvcihhY3Rpb246IChlPzogSUh0dHBFcnJvcikgPT4gdm9pZCk6IEh0dHBSZXN1bHQ8VD4ge1xuICAgICAgICB0aGlzLmVycm9yQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgY29tcGxldGUoYWN0aW9uOiAoKSA9PiB2b2lkKTogSHR0cFJlc3VsdDxUPiB7XG4gICAgICAgIHRoaXMuY29tcGxldGVBY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
4
|
+
import { AXHttpService } from './http.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class AXHttpModule {
|
|
7
|
+
static forRoot() {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: AXHttpModule,
|
|
10
|
+
providers: [AXHttpService]
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
AXHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
AXHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
|
|
16
|
+
HttpClientModule], exports: [HttpClientModule] });
|
|
17
|
+
AXHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHttpModule, providers: [
|
|
18
|
+
AXHttpService
|
|
19
|
+
], imports: [[
|
|
20
|
+
CommonModule,
|
|
21
|
+
HttpClientModule
|
|
22
|
+
], HttpClientModule] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHttpModule, decorators: [{
|
|
24
|
+
type: NgModule,
|
|
25
|
+
args: [{
|
|
26
|
+
declarations: [],
|
|
27
|
+
imports: [
|
|
28
|
+
CommonModule,
|
|
29
|
+
HttpClientModule
|
|
30
|
+
],
|
|
31
|
+
exports: [HttpClientModule],
|
|
32
|
+
providers: [
|
|
33
|
+
AXHttpService
|
|
34
|
+
]
|
|
35
|
+
}]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL2h0dHAvaHR0cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjL0MsTUFBTSxPQUFPLFlBQVk7SUFDdkIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFlBQVk7WUFDdEIsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQzNCLENBQUM7SUFDSixDQUFDOzswR0FOVSxZQUFZOzJHQUFaLFlBQVksWUFSckIsWUFBWTtRQUNaLGdCQUFnQixhQUVSLGdCQUFnQjsyR0FLZixZQUFZLGFBSlo7UUFDVCxhQUFhO0tBQ2QsWUFQUTtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7U0FDakIsRUFDUyxnQkFBZ0I7NEZBS2YsWUFBWTtrQkFYeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsU0FBUyxFQUFFO3dCQUNULGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBWEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYSHR0cFNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBWEh0dHBNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYSHR0cE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQVhIdHRwTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbQVhIdHRwU2VydmljZV1cbiAgICB9O1xuICB9XG59Il19
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
|
3
|
+
import { HttpResult } from './http-result.class';
|
|
4
|
+
import { AX_HTTP_EVENT_INTERCEPTOR } from './http-events.interceptor';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';
|
|
8
|
+
// import { of, concat, throwError } from 'rxjs';
|
|
9
|
+
export class AXHttpService {
|
|
10
|
+
constructor(http, injector) {
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.injector = injector;
|
|
13
|
+
this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);
|
|
14
|
+
}
|
|
15
|
+
get(url, config = {}) {
|
|
16
|
+
config.url = url;
|
|
17
|
+
config.method = "get";
|
|
18
|
+
return this.request(config);
|
|
19
|
+
}
|
|
20
|
+
post(url, config = {}) {
|
|
21
|
+
config.url = url;
|
|
22
|
+
config.method = "post";
|
|
23
|
+
return this.request(config);
|
|
24
|
+
}
|
|
25
|
+
delete(url, config = {}) {
|
|
26
|
+
config.url = url;
|
|
27
|
+
config.method = "delete";
|
|
28
|
+
return this.request(config);
|
|
29
|
+
}
|
|
30
|
+
put(url, config = {}) {
|
|
31
|
+
config.url = url;
|
|
32
|
+
config.method = "put";
|
|
33
|
+
return this.request(config);
|
|
34
|
+
}
|
|
35
|
+
request(config) {
|
|
36
|
+
return new HttpResult((result, error, complete) => {
|
|
37
|
+
this.handleBegin(config).then(c => {
|
|
38
|
+
this.http
|
|
39
|
+
.request(config.method, config.url, this.mapOptions(config))
|
|
40
|
+
//.pipe(this.retry)
|
|
41
|
+
.subscribe(data => {
|
|
42
|
+
this.handleResult(data, result, complete, config);
|
|
43
|
+
}, c => {
|
|
44
|
+
this.handleError(c, error, complete, config);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
handleResult(data, result, complete, config) {
|
|
50
|
+
if (this.interceptor) {
|
|
51
|
+
this.interceptor.success(config, data).then(c => {
|
|
52
|
+
if (result)
|
|
53
|
+
result(c);
|
|
54
|
+
this.handleComplete(complete, config);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
//
|
|
59
|
+
if (result)
|
|
60
|
+
result(data);
|
|
61
|
+
this.handleComplete(complete, config);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
handleBegin(config) {
|
|
65
|
+
return new Promise((resolve) => {
|
|
66
|
+
if (!config.headers)
|
|
67
|
+
config.headers = {};
|
|
68
|
+
if (!config.params)
|
|
69
|
+
config.params = {};
|
|
70
|
+
//
|
|
71
|
+
if (this.interceptor) {
|
|
72
|
+
this.interceptor.begin(config).then(c => {
|
|
73
|
+
resolve(c);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
resolve(config);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
handleComplete(complete, config) {
|
|
82
|
+
if (complete)
|
|
83
|
+
complete();
|
|
84
|
+
if (this.interceptor)
|
|
85
|
+
this.interceptor.complete(config);
|
|
86
|
+
}
|
|
87
|
+
handleError(c, error, complete, config) {
|
|
88
|
+
let r = {
|
|
89
|
+
message: c.message,
|
|
90
|
+
status: c.status,
|
|
91
|
+
code: c.status?.toString(),
|
|
92
|
+
handled: false,
|
|
93
|
+
error: c.error
|
|
94
|
+
};
|
|
95
|
+
if (error) {
|
|
96
|
+
error(r);
|
|
97
|
+
}
|
|
98
|
+
if (!r.handled) {
|
|
99
|
+
if (this.interceptor)
|
|
100
|
+
this.interceptor.error(config, r);
|
|
101
|
+
}
|
|
102
|
+
this.handleComplete(complete, config);
|
|
103
|
+
}
|
|
104
|
+
mapOptions(options) {
|
|
105
|
+
let headers = new HttpHeaders();
|
|
106
|
+
for (const key in options.headers) {
|
|
107
|
+
if (options.headers.hasOwnProperty(key)) {
|
|
108
|
+
const value = options.headers[key];
|
|
109
|
+
headers = headers.set(key, value);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
let params = new HttpParams();
|
|
113
|
+
for (const key in options.params) {
|
|
114
|
+
if (options.params.hasOwnProperty(key)) {
|
|
115
|
+
const value = options.params[key];
|
|
116
|
+
params = params.set(key, value);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
headers: headers,
|
|
121
|
+
params: params,
|
|
122
|
+
body: options.body,
|
|
123
|
+
responseType: options.responseType || 'json'
|
|
124
|
+
};
|
|
125
|
+
// if (options.method == "get") {
|
|
126
|
+
// return {
|
|
127
|
+
// headers: headers,
|
|
128
|
+
// params: params
|
|
129
|
+
// };
|
|
130
|
+
// }
|
|
131
|
+
// else {
|
|
132
|
+
// return {
|
|
133
|
+
// headers: headers,
|
|
134
|
+
// params: params,
|
|
135
|
+
// body: options.body
|
|
136
|
+
// };
|
|
137
|
+
// }
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
141
|
+
AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHttpService });
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHttpService, decorators: [{
|
|
143
|
+
type: Injectable
|
|
144
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi9odHRwL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2pELE9BQU8sRUFDSCx5QkFBeUIsRUFDNUIsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBQ25DLHVIQUF1SDtBQUN2SCxpREFBaUQ7QUFJakQsTUFBTSxPQUFPLGFBQWE7SUFHdEIsWUFBb0IsSUFBZ0IsRUFBVSxRQUFrQjtRQUE1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUdELEdBQUcsQ0FBSSxHQUFXLEVBQUUsU0FBK0IsRUFBRTtRQUNqRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksQ0FBSSxHQUFXLEVBQUUsU0FBK0IsRUFBRTtRQUNsRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMs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O1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDcEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ25DO1NBQ0o7UUFDRCxPQUFPO1lBQ0gsT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksTUFBTTtTQUMvQyxDQUFDO1FBQ0YsaUNBQWlDO1FBQ2pDLGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLFNBQVM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUNULGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLDZCQUE2QjtRQUM3QixTQUFTO1FBQ1QsSUFBSTtJQUNSLENBQUM7OzJHQS9JUSxhQUFhOytHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBJbmplY3RGbGFncyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSHR0cFJlc3VsdCB9IGZyb20gJy4vaHR0cC1yZXN1bHQuY2xhc3MnO1xuaW1wb3J0IHsgSUh0dHBFcnJvciB9IGZyb20gJy4vaHR0cC1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBBWEh0dHBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LmNsYXNzJztcbmltcG9ydCB7XG4gICAgQVhfSFRUUF9FVkVOVF9JTlRFUkNFUFRPUiwgQVhIdHRwRXZlbnRJbnRlcmNlcHRvclxufSBmcm9tICcuL2h0dHAtZXZlbnRzLmludGVyY2VwdG9yJztcbi8vIGltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5LCByZXRyeVdoZW4sIG1lcmdlTWFwLCBkZWxheSwgc3dpdGNoTWFwLCBzY2FuLCB0YWtlV2hpbGUsIGZsYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG4vLyBpbXBvcnQgeyBvZiwgY29uY2F0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYSHR0cFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBpbnRlcmNlcHRvcjogQVhIdHRwRXZlbnRJbnRlcmNlcHRvcjtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHRoaXMuaW50ZXJjZXB0b3IgPSB0aGlzLmluamVjdG9yLmdldChBWF9IVFRQX0VWRU5UX0lOVEVSQ0VQVE9SKTtcbiAgICB9XG5cblxuICAgIGdldDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgICAgIGNvbmZpZy51cmwgPSB1cmw7XG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcImdldFwiO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcG9zdDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgICAgIGNvbmZpZy51cmwgPSB1cmw7XG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcInBvc3RcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xuICAgIH1cblxuICAgIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgICAgIGNvbmZpZy51cmwgPSB1cmw7XG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcImRlbGV0ZVwiO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHV0PFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcbiAgICAgICAgY29uZmlnLm1ldGhvZCA9IFwicHV0XCI7XG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcbiAgICB9XG5cblxuICAgIHJlcXVlc3Q8VD4oY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyk6IEh0dHBSZXN1bHQ8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IEh0dHBSZXN1bHQ8VD4oKHJlc3VsdD8sIGVycm9yPywgY29tcGxldGU/KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUJlZ2luKGNvbmZpZykudGhlbihjID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLnJlcXVlc3Q8VD4oY29uZmlnLm1ldGhvZCwgY29uZmlnLnVybCwgdGhpcy5tYXBPcHRpb25zKGNvbmZpZykpXG4gICAgICAgICAgICAgICAgICAgIC8vLnBpcGUodGhpcy5yZXRyeSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzdWx0KGRhdGEsIHJlc3VsdCwgY29tcGxldGUsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihjLCBlcnJvciwgY29tcGxldGUsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGhhbmRsZVJlc3VsdChkYXRhLCByZXN1bHQsIGNvbXBsZXRlLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XG4gICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB7XG4gICAgICAgICAgICB0aGlzLmludGVyY2VwdG9yLnN1Y2Nlc3MoY29uZmlnLCBkYXRhKS50aGVuKGMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdChjKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgICAgICAgICByZXN1bHQoZGF0YSk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVCZWdpbihjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxBWEh0dHBSZXF1ZXN0T3B0aW9ucz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGlmICghY29uZmlnLmhlYWRlcnMpXG4gICAgICAgICAgICAgICAgY29uZmlnLmhlYWRlcnMgPSB7fTtcbiAgICAgICAgICAgIGlmICghY29uZmlnLnBhcmFtcylcbiAgICAgICAgICAgICAgICBjb25maWcucGFyYW1zID0ge307XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKHRoaXMuaW50ZXJjZXB0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmludGVyY2VwdG9yLmJlZ2luKGNvbmZpZykudGhlbihjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoY29uZmlnKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29tcGxldGUoY29tcGxldGU6IEZ1bmN0aW9uLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XG4gICAgICAgIGlmIChjb21wbGV0ZSlcbiAgICAgICAgICAgIGNvbXBsZXRlKCk7XG4gICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKVxuICAgICAgICAgICAgdGhpcy5pbnRlcmNlcHRvci5jb21wbGV0ZShjb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoYzogSHR0cEVycm9yUmVzcG9uc2UsIGVycm9yOiBGdW5jdGlvbiwgY29tcGxldGU6IEZ1bmN0aW9uLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XG4gICAgICAgIGxldCByOiBJSHR0cEVycm9yID0ge1xuICAgICAgICAgICAgbWVzc2FnZTogYy5tZXNzYWdlLFxuICAgICAgICAgICAgc3RhdHVzOiBjLnN0YXR1cyxcbiAgICAgICAgICAgIGNvZGU6IGMuc3RhdHVzPy50b1N0cmluZygpLFxuICAgICAgICAgICAgaGFuZGxlZDogZmFsc2UsXG4gICAgICAgICAgICBlcnJvcjogYy5lcnJvclxuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgZXJyb3Iocik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyLmhhbmRsZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKVxuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3IuZXJyb3IoY29uZmlnLCByKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFwT3B0aW9ucyhvcHRpb25zOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xuICAgICAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMuaGVhZGVycykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLmhlYWRlcnNba2V5XTtcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoa2V5LCB2YWx1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucy5wYXJhbXMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnBhcmFtcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLnBhcmFtc1trZXldO1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgICAgIGJvZHk6IG9wdGlvbnMuYm9keSxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogb3B0aW9ucy5yZXNwb25zZVR5cGUgfHwgJ2pzb24nXG4gICAgICAgIH07XG4gICAgICAgIC8vIGlmIChvcHRpb25zLm1ldGhvZCA9PSBcImdldFwiKSB7XG4gICAgICAgIC8vICAgICByZXR1cm4ge1xuICAgICAgICAvLyAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgIC8vICAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgICAgLy8gICAgIH07XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gZWxzZSB7XG4gICAgICAgIC8vICAgICByZXR1cm4ge1xuICAgICAgICAvLyAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgIC8vICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICAgIC8vICAgICAgICAgYm9keTogb3B0aW9ucy5ib2R5XG4gICAgICAgIC8vICAgICB9O1xuICAgICAgICAvLyB9XG4gICAgfVxuXG59Il19
|