@acorex/core 6.0.10 → 6.0.15

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.
Files changed (37) hide show
  1. package/esm2020/file/public-api.mjs +1 -2
  2. package/esm2020/file/src/file.service.mjs +12 -3
  3. package/esm2020/http/src/http.service.mjs +4 -3
  4. package/esm2020/image/public-api.mjs +1 -2
  5. package/esm2020/image/src/image.service.mjs +4 -3
  6. package/esm2020/platform/src/platform.service.mjs +3 -3
  7. package/fesm2015/acorex-core-file.mjs +13 -20
  8. package/fesm2015/acorex-core-file.mjs.map +1 -1
  9. package/fesm2015/acorex-core-http.mjs +3 -2
  10. package/fesm2015/acorex-core-http.mjs.map +1 -1
  11. package/fesm2015/acorex-core-image.mjs +5 -20
  12. package/fesm2015/acorex-core-image.mjs.map +1 -1
  13. package/fesm2015/acorex-core-platform.mjs +2 -2
  14. package/fesm2015/acorex-core-platform.mjs.map +1 -1
  15. package/fesm2020/acorex-core-file.mjs +13 -20
  16. package/fesm2020/acorex-core-file.mjs.map +1 -1
  17. package/fesm2020/acorex-core-http.mjs +3 -2
  18. package/fesm2020/acorex-core-http.mjs.map +1 -1
  19. package/fesm2020/acorex-core-image.mjs +5 -20
  20. package/fesm2020/acorex-core-image.mjs.map +1 -1
  21. package/fesm2020/acorex-core-platform.mjs +2 -2
  22. package/fesm2020/acorex-core-platform.mjs.map +1 -1
  23. package/file/public-api.d.ts +0 -1
  24. package/file/src/file.service.d.ts +1 -0
  25. package/image/public-api.d.ts +0 -1
  26. package/package.json +1 -1
  27. package/esm2020/file/src/file.module.mjs +0 -19
  28. package/esm2020/image/src/image.module.mjs +0 -19
  29. package/file/acorex-core-file.d.ts.map +0 -1
  30. package/file/public-api.d.ts.map +0 -1
  31. package/file/src/file-download-ref.class.d.ts.map +0 -1
  32. package/file/src/file-download-result.class.d.ts.map +0 -1
  33. package/file/src/file-upload-ref.class.d.ts.map +0 -1
  34. package/file/src/file.module.d.ts +0 -7
  35. package/file/src/file.module.d.ts.map +0 -1
  36. package/file/src/file.service.d.ts.map +0 -1
  37. package/image/src/image.module.d.ts +0 -7
@@ -2,5 +2,4 @@ export * from './src/file-download-ref.class';
2
2
  export * from './src/file-download-result.class';
3
3
  export * from './src/file-upload-ref.class';
4
4
  export * from './src/file.service';
5
- export * from './src/file.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ZpbGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIgZXhwb3J0ICogZnJvbSAnLi9zcmMvZmlsZS1kb3dubG9hZC1yZWYuY2xhc3MnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvZmlsZS1kb3dubG9hZC1yZXN1bHQuY2xhc3MnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvZmlsZS11cGxvYWQtcmVmLmNsYXNzJztcclxuIGV4cG9ydCAqIGZyb20gJy4vc3JjL2ZpbGUuc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL3NyYy9maWxlLm1vZHVsZSc7Il19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ZpbGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIGV4cG9ydCAqIGZyb20gJy4vc3JjL2ZpbGUtZG93bmxvYWQtcmVmLmNsYXNzJztcclxuIGV4cG9ydCAqIGZyb20gJy4vc3JjL2ZpbGUtZG93bmxvYWQtcmVzdWx0LmNsYXNzJztcclxuIGV4cG9ydCAqIGZyb20gJy4vc3JjL2ZpbGUtdXBsb2FkLXJlZi5jbGFzcyc7XHJcbiBleHBvcnQgKiBmcm9tICcuL3NyYy9maWxlLnNlcnZpY2UnOyJdfQ==
@@ -8,6 +8,14 @@ import * as i1 from "@angular/common/http";
8
8
  export class AXFileService {
9
9
  constructor(_httpClient) {
10
10
  this._httpClient = _httpClient;
11
+ this.blobToBase64 = (blob) => new Promise((resolve, reject) => {
12
+ const reader = new FileReader;
13
+ reader.onerror = reject;
14
+ reader.onload = () => {
15
+ resolve(reader.result);
16
+ };
17
+ reader.readAsDataURL(blob);
18
+ });
11
19
  }
12
20
  download(request) {
13
21
  let s;
@@ -72,8 +80,9 @@ export class AXFileService {
72
80
  }
73
81
  }
74
82
  AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
75
- AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService });
83
+ AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, providedIn: 'root' });
76
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, decorators: [{
77
- type: Injectable
85
+ type: Injectable,
86
+ args: [{ providedIn: 'root' }]
78
87
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZmlsZS9zcmMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFJMUQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFBSSxDQUFDO0lBRXpDLFFBQVEsQ0FBQyxPQUFrQztRQUM5QyxJQUFJLENBQWUsQ0FBQztRQUNwQixNQUFNLFdBQVcsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwQyxnQ0FBZ0M7WUFDaEMseUVBQXlFO1lBQ3pFLElBQUksQ0FBbUIsQ0FBQztZQUN4QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtnQkFDN0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQy9EO2lCQUNJLElBQUksQ0FBQyxhQUFZLFVBQWdCLENBQUEsRUFBRTtnQkFDcEMsQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUNmO1lBQ0QsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQzFCLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxHQUFHLElBQUksaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUU7WUFDWCxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFVLEdBQVcsRUFBRSxLQUFhO1FBQzdDLElBQUksQ0FBZSxDQUFDO1FBQ3BCLElBQUksUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNkLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFnQixDQUFDO1lBQ3JCLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFNUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDMUIsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUU7WUFDWCxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlEO1FBQzNELE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNwQixLQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDOUIsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFO2dCQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDakMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQTtZQUNELEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNWLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUM7WUFDRixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzswR0FyRVEsYUFBYTs4R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQ29udGV4dCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYRmlsZURvd25sb2FkUmVmIH0gZnJvbSAnLi9maWxlLWRvd25sb2FkLXJlZi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRmlsZURvd25sb2FkUmVzdWx0IH0gZnJvbSAnLi9maWxlLWRvd25sb2FkLXJlc3VsdC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRmlsZVVwbG9hZFJlZiB9IGZyb20gJy4vZmlsZS11cGxvYWQtcmVmLmNsYXNzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWEZpbGVTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICAgIHB1YmxpYyBkb3dubG9hZChyZXF1ZXN0OiBzdHJpbmcgfCBPYnNlcnZhYmxlPEJsb2I+KTogQVhGaWxlRG93bmxvYWRSZWYge1xyXG4gICAgICAgIGxldCBzOiBTdWJzY3JpcHRpb247XHJcbiAgICAgICAgY29uc3QgcHJvbWlzZUZ1bmMgPSAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIC8vVE9ETzogYWRkIGN1c3RvbWUgaHR0cCByZXF1ZXN0XHJcbiAgICAgICAgICAgIC8vY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnYXV0aG9yaXphdGlvbicsJ0JlYXJlciAnK3Rva2VuKTtcclxuICAgICAgICAgICAgbGV0IGI6IE9ic2VydmFibGU8QmxvYj47XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIGIgPSB0aGlzLl9odHRwQ2xpZW50LmdldChyZXF1ZXN0LCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGIgaW5zdGFuY2VvZiBPYnNlcnZhYmxlPEJsb2I+KSB7XHJcbiAgICAgICAgICAgICAgICBiID0gcmVxdWVzdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzID0gYj8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgIG5leHQ6ICh2KSA9PiByZXNvbHZlKG5ldyBBWEZpbGVEb3dubG9hZFJlc3VsdCh2KSksXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogKGUpID0+IHJlamVjdChlKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IGEgPSBuZXcgQVhGaWxlRG93bmxvYWRSZWYocHJvbWlzZUZ1bmMpO1xyXG4gICAgICAgIGEuYWJvcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwbG9hZDxUID0gYW55Pih1cmw6IHN0cmluZywgZmlsZXM6IEZpbGVbXSk6IEFYRmlsZVVwbG9hZFJlZjxUPiB7XHJcbiAgICAgICAgbGV0IHM6IFN1YnNjcmlwdGlvbjtcclxuICAgICAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgICBmaWxlcy5mb3JFYWNoKGYgPT4ge1xyXG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlc1wiLCBmKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNvbnN0IHByb21pc2VGdW5jID0gKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgYjogT2JzZXJ2YWJsZTxUPjtcclxuICAgICAgICAgICAgYiA9IHRoaXMuX2h0dHBDbGllbnQucG9zdDxUPih1cmwsIGZvcm1EYXRhKTtcclxuXHJcbiAgICAgICAgICAgIHMgPSBiPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgICAgbmV4dDogKHYpID0+IHJlc29sdmUodiksXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogKGUpID0+IHJlamVjdChlKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IGEgPSBuZXcgQVhGaWxlVXBsb2FkUmVmKHByb21pc2VGdW5jKTtcclxuICAgICAgICBhLmFib3J0ID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIGE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNob29zZShvcHRpb25zPzogeyBhY2NlcHQ/OiBzdHJpbmcsIG11bHRpcGxlPzogYm9vbGVhbiB9KTogUHJvbWlzZTxGaWxlW10+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8RmlsZVtdPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHsgbXVsdGlwbGU6IGZhbHNlIH0sIG9wdGlvbnMpO1xyXG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtcclxuICAgICAgICAgICAgaW5wdXQudHlwZSA9ICdmaWxlJztcclxuICAgICAgICAgICAgaW5wdXQuYWNjZXB0ID0gb3B0aW9ucy5hY2NlcHQ7XHJcbiAgICAgICAgICAgIGlucHV0Lm11bHRpcGxlID0gb3B0aW9ucy5tdWx0aXBsZTtcclxuICAgICAgICAgICAgaW5wdXQub25jaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKEFycmF5LmZyb20oaW5wdXQuZmlsZXMpKTtcclxuICAgICAgICAgICAgICAgIGlucHV0LnJlbW92ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0Lm9uZXJyb3IgPSAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xyXG4gICAgICAgICAgICAgICAgaW5wdXQucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlucHV0LmNsaWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZmlsZS9zcmMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFJMUQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFzRTNDLGlCQUFZLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25FLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQWdCLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBN0U0QyxDQUFDO0lBRXpDLFFBQVEsQ0FBQyxPQUFrQztRQUM5QyxJQUFJLENBQWUsQ0FBQztRQUNwQixNQUFNLFdBQVcsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwQyxnQ0FBZ0M7WUFDaEMseUVBQXlFO1lBQ3pFLElBQUksQ0FB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QUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNWLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUM7WUFDRixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzswR0FyRVEsYUFBYTs4R0FBYixhQUFhLGNBREEsTUFBTTsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQ29udGV4dCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYRmlsZURvd25sb2FkUmVmIH0gZnJvbSAnLi9maWxlLWRvd25sb2FkLXJlZi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRmlsZURvd25sb2FkUmVzdWx0IH0gZnJvbSAnLi9maWxlLWRvd25sb2FkLXJlc3VsdC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRmlsZVVwbG9hZFJlZiB9IGZyb20gJy4vZmlsZS11cGxvYWQtcmVmLmNsYXNzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQVhGaWxlU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgICBwdWJsaWMgZG93bmxvYWQocmVxdWVzdDogc3RyaW5nIHwgT2JzZXJ2YWJsZTxCbG9iPik6IEFYRmlsZURvd25sb2FkUmVmIHtcclxuICAgICAgICBsZXQgczogU3Vic2NyaXB0aW9uO1xyXG4gICAgICAgIGNvbnN0IHByb21pc2VGdW5jID0gKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAvL1RPRE86IGFkZCBjdXN0b21lIGh0dHAgcmVxdWVzdFxyXG4gICAgICAgICAgICAvL2NvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ2F1dGhvcml6YXRpb24nLCdCZWFyZXIgJyt0b2tlbik7XHJcbiAgICAgICAgICAgIGxldCBiOiBPYnNlcnZhYmxlPEJsb2I+O1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcXVlc3QgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICBiID0gdGhpcy5faHR0cENsaWVudC5nZXQocmVxdWVzdCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChiIGluc3RhbmNlb2YgT2JzZXJ2YWJsZTxCbG9iPikge1xyXG4gICAgICAgICAgICAgICAgYiA9IHJlcXVlc3Q7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcyA9IGI/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiAodikgPT4gcmVzb2x2ZShuZXcgQVhGaWxlRG93bmxvYWRSZXN1bHQodikpLFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlKSA9PiByZWplY3QoZSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBhID0gbmV3IEFYRmlsZURvd25sb2FkUmVmKHByb21pc2VGdW5jKTtcclxuICAgICAgICBhLmFib3J0ID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBhO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGxvYWQ8VCA9IGFueT4odXJsOiBzdHJpbmcsIGZpbGVzOiBGaWxlW10pOiBBWEZpbGVVcGxvYWRSZWY8VD4ge1xyXG4gICAgICAgIGxldCBzOiBTdWJzY3JpcHRpb247XHJcbiAgICAgICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgZmlsZXMuZm9yRWFjaChmID0+IHtcclxuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZmlsZXNcIiwgZik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjb25zdCBwcm9taXNlRnVuYyA9IChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgbGV0IGI6IE9ic2VydmFibGU8VD47XHJcbiAgICAgICAgICAgIGIgPSB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8VD4odXJsLCBmb3JtRGF0YSk7XHJcblxyXG4gICAgICAgICAgICBzID0gYj8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgIG5leHQ6ICh2KSA9PiByZXNvbHZlKHYpLFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlKSA9PiByZWplY3QoZSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBhID0gbmV3IEFYRmlsZVVwbG9hZFJlZihwcm9taXNlRnVuYyk7XHJcbiAgICAgICAgYS5hYm9ydCA9ICgpID0+IHtcclxuICAgICAgICAgICAgcz8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBhO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaG9vc2Uob3B0aW9ucz86IHsgYWNjZXB0Pzogc3RyaW5nLCBtdWx0aXBsZT86IGJvb2xlYW4gfSk6IFByb21pc2U8RmlsZVtdPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPEZpbGVbXT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7IG11bHRpcGxlOiBmYWxzZSB9LCBvcHRpb25zKTtcclxuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XHJcbiAgICAgICAgICAgIGlucHV0LnR5cGUgPSAnZmlsZSc7XHJcbiAgICAgICAgICAgIGlucHV0LmFjY2VwdCA9IG9wdGlvbnMuYWNjZXB0O1xyXG4gICAgICAgICAgICBpbnB1dC5tdWx0aXBsZSA9IG9wdGlvbnMubXVsdGlwbGU7XHJcbiAgICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShBcnJheS5mcm9tKGlucHV0LmZpbGVzKSk7XHJcbiAgICAgICAgICAgICAgICBpbnB1dC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dC5vbmVycm9yID0gKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlamVjdChlKTtcclxuICAgICAgICAgICAgICAgIGlucHV0LnJlbW92ZSgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpbnB1dC5jbGljaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGJsb2JUb0Jhc2U2NCA9IChibG9iOiBCbG9iKSA9PiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcjtcclxuICAgICAgICByZWFkZXIub25lcnJvciA9IHJlamVjdDtcclxuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICByZXNvbHZlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -140,8 +140,9 @@ export class AXHttpService {
140
140
  }
141
141
  }
142
142
  AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
143
- AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService });
143
+ AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, providedIn: 'root' });
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, decorators: [{
145
- type: Injectable
145
+ type: Injectable,
146
+ args: [{ providedIn: 'root' }]
146
147
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvaHR0cC9zcmMvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxPQUFPLEVBQ0gseUJBQXlCLEVBQzVCLE1BQU0sMkJBQTJCLENBQUM7OztBQUNuQyx1SEFBdUg7QUFDdkgsaURBQWlEO0FBSWpELE1BQU0sT0FBTyxhQUFhO0lBR3RCLFlBQW9CLElBQWdCLEVBQVUsUUFBa0I7UUFBNUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDNUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFHRCxHQUFHLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDakQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDbEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUksR0FB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Q0o7UUFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDbkM7U0FDSjtRQUNELE9BQU87WUFDSCxPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxNQUFNO1NBQy9DLENBQUM7UUFDRixpQ0FBaUM7UUFDakMsZUFBZTtRQUNmLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsU0FBUztRQUNULElBQUk7UUFDSixTQUFTO1FBQ1QsZUFBZTtRQUNmLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsNkJBQTZCO1FBQzdCLFNBQVM7UUFDVCxJQUFJO0lBQ1IsQ0FBQzs7MEdBakpRLGFBQWE7OEdBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIEluamVjdEZsYWdzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSHR0cFJlc3VsdCB9IGZyb20gJy4vaHR0cC1yZXN1bHQuY2xhc3MnO1xyXG5pbXBvcnQgeyBJSHR0cEVycm9yIH0gZnJvbSAnLi9odHRwLWVycm9yLmNsYXNzJztcclxuaW1wb3J0IHsgQVhIdHRwUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBWF9IVFRQX0VWRU5UX0lOVEVSQ0VQVE9SLCBBWEh0dHBFdmVudEludGVyY2VwdG9yXHJcbn0gZnJvbSAnLi9odHRwLWV2ZW50cy5pbnRlcmNlcHRvcic7XHJcbi8vIGltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5LCByZXRyeVdoZW4sIG1lcmdlTWFwLCBkZWxheSwgc3dpdGNoTWFwLCBzY2FuLCB0YWtlV2hpbGUsIGZsYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbi8vIGltcG9ydCB7IG9mLCBjb25jYXQsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWEh0dHBTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGludGVyY2VwdG9yOiBBWEh0dHBFdmVudEludGVyY2VwdG9yO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHRoaXMuaW50ZXJjZXB0b3IgPSB0aGlzLmluamVjdG9yLmdldChBWF9IVFRQX0VWRU5UX0lOVEVSQ0VQVE9SKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZ2V0PFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcclxuICAgICAgICBjb25maWcudXJsID0gdXJsO1xyXG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcImdldFwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBwb3N0PFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcclxuICAgICAgICBjb25maWcudXJsID0gdXJsO1xyXG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcInBvc3RcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcclxuICAgICAgICBjb25maWcudXJsID0gdXJsO1xyXG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcImRlbGV0ZVwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBwdXQ8VD4odXJsOiBzdHJpbmcsIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMgPSB7fSk6IEh0dHBSZXN1bHQ8VD4ge1xyXG4gICAgICAgIGNvbmZpZy51cmwgPSB1cmw7XHJcbiAgICAgICAgY29uZmlnLm1ldGhvZCA9IFwicHV0XCI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICByZXF1ZXN0PFQ+KGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpOiBIdHRwUmVzdWx0PFQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBSZXN1bHQ8VD4oKHJlc3VsdD8sIGVycm9yPywgY29tcGxldGU/KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQmVnaW4oY29uZmlnKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAgICAgICAgICAgLy9UT0RPOiBjaGVjayB0cyBlcnJvclxyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIC5yZXF1ZXN0PFQ+KGNvbmZpZy5tZXRob2QsIGNvbmZpZy51cmwsIHRoaXMubWFwT3B0aW9ucyhjb25maWcpKVxyXG4gICAgICAgICAgICAgICAgICAgIC8vLnBpcGUodGhpcy5yZXRyeSlcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3VsdChkYXRhLCByZXN1bHQsIGNvbXBsZXRlLCBjb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGMsIGVycm9yLCBjb21wbGV0ZSwgY29uZmlnKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVSZXN1bHQoZGF0YSwgcmVzdWx0LCBjb21wbGV0ZSwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xyXG4gICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3Iuc3VjY2Vzcyhjb25maWcsIGRhdGEpLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KVxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdChjKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29tcGxldGUoY29tcGxldGUsIGNvbmZpZyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgICAgICAgIHJlc3VsdChkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDb21wbGV0ZShjb21wbGV0ZSwgY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVCZWdpbihjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxBWEh0dHBSZXF1ZXN0T3B0aW9ucz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5oZWFkZXJzKVxyXG4gICAgICAgICAgICAgICAgY29uZmlnLmhlYWRlcnMgPSB7fTtcclxuICAgICAgICAgICAgaWYgKCFjb25maWcucGFyYW1zKVxyXG4gICAgICAgICAgICAgICAgY29uZmlnLnBhcmFtcyA9IHt9O1xyXG4gICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pbnRlcmNlcHRvcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcmNlcHRvci5iZWdpbihjb25maWcpLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShjb25maWcpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlQ29tcGxldGUoY29tcGxldGU6IEZ1bmN0aW9uLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XHJcbiAgICAgICAgaWYgKGNvbXBsZXRlKVxyXG4gICAgICAgICAgICBjb21wbGV0ZSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKVxyXG4gICAgICAgICAgICB0aGlzLmludGVyY2VwdG9yLmNvbXBsZXRlKGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihjOiBIdHRwRXJyb3JSZXNwb25zZSwgZXJyb3I6IEZ1bmN0aW9uLCBjb21wbGV0ZTogRnVuY3Rpb24sIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpIHtcclxuICAgICAgICBsZXQgcjogSUh0dHBFcnJvciA9IHtcclxuICAgICAgICAgICAgbWVzc2FnZTogYy5tZXNzYWdlLFxyXG4gICAgICAgICAgICBzdGF0dXM6IGMuc3RhdHVzLFxyXG4gICAgICAgICAgICBjb2RlOiBjLnN0YXR1cz8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaGFuZGxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGVycm9yOiBjLmVycm9yXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgICBlcnJvcihyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFyLmhhbmRsZWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaW50ZXJjZXB0b3IpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmludGVyY2VwdG9yLmVycm9yKGNvbmZpZywgcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaGFuZGxlQ29tcGxldGUoY29tcGxldGUsIGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtYXBPcHRpb25zKG9wdGlvbnM6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XHJcbiAgICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucy5oZWFkZXJzKSB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLmhlYWRlcnNba2V5XTtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChrZXksIHZhbHVlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMucGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnBhcmFtcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbnMucGFyYW1zW2tleV07XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgdmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgICAgICAgICBib2R5OiBvcHRpb25zLmJvZHksXHJcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogb3B0aW9ucy5yZXNwb25zZVR5cGUgfHwgJ2pzb24nXHJcbiAgICAgICAgfTtcclxuICAgICAgICAvLyBpZiAob3B0aW9ucy5tZXRob2QgPT0gXCJnZXRcIikge1xyXG4gICAgICAgIC8vICAgICByZXR1cm4ge1xyXG4gICAgICAgIC8vICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcclxuICAgICAgICAvLyAgICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgICAgLy8gICAgIH07XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGVsc2Uge1xyXG4gICAgICAgIC8vICAgICByZXR1cm4ge1xyXG4gICAgICAgIC8vICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcclxuICAgICAgICAvLyAgICAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgICAgIC8vICAgICAgICAgYm9keTogb3B0aW9ucy5ib2R5XHJcbiAgICAgICAgLy8gICAgIH07XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxufSJdfQ==
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvaHR0cC9zcmMvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxPQUFPLEVBQ0gseUJBQXlCLEVBQzVCLE1BQU0sMkJBQTJCLENBQUM7OztBQUNuQyx1SEFBdUg7QUFDdkgsaURBQWlEO0FBSWpELE1BQU0sT0FBTyxhQUFhO0lBR3RCLFlBQW9CLElBQWdCLEVBQVUsUUFBa0I7UUFBNUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDNUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFHRCxHQUFHLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDakQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDbEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUksR0FB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Q0o7UUFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDbkM7U0FDSjtRQUNELE9BQU87WUFDSCxPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxNQUFNO1NBQy9DLENBQUM7UUFDRixpQ0FBaUM7UUFDakMsZUFBZTtRQUNmLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsU0FBUztRQUNULElBQUk7UUFDSixTQUFTO1FBQ1QsZUFBZTtRQUNmLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsNkJBQTZCO1FBQzdCLFNBQVM7UUFDVCxJQUFJO0lBQ1IsQ0FBQzs7MEdBakpRLGFBQWE7OEdBQWIsYUFBYSxjQURBLE1BQU07MkZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIEluamVjdEZsYWdzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSHR0cFJlc3VsdCB9IGZyb20gJy4vaHR0cC1yZXN1bHQuY2xhc3MnO1xyXG5pbXBvcnQgeyBJSHR0cEVycm9yIH0gZnJvbSAnLi9odHRwLWVycm9yLmNsYXNzJztcclxuaW1wb3J0IHsgQVhIdHRwUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBWF9IVFRQX0VWRU5UX0lOVEVSQ0VQVE9SLCBBWEh0dHBFdmVudEludGVyY2VwdG9yXHJcbn0gZnJvbSAnLi9odHRwLWV2ZW50cy5pbnRlcmNlcHRvcic7XHJcbi8vIGltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5LCByZXRyeVdoZW4sIG1lcmdlTWFwLCBkZWxheSwgc3dpdGNoTWFwLCBzY2FuLCB0YWtlV2hpbGUsIGZsYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbi8vIGltcG9ydCB7IG9mLCBjb25jYXQsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQVhIdHRwU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBpbnRlcmNlcHRvcjogQVhIdHRwRXZlbnRJbnRlcmNlcHRvcjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICB0aGlzLmludGVyY2VwdG9yID0gdGhpcy5pbmplY3Rvci5nZXQoQVhfSFRUUF9FVkVOVF9JTlRFUkNFUFRPUik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcclxuICAgICAgICBjb25maWcubWV0aG9kID0gXCJnZXRcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zdDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcclxuICAgICAgICBjb25maWcubWV0aG9kID0gXCJwb3N0XCI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcclxuICAgICAgICBjb25maWcubWV0aG9kID0gXCJkZWxldGVcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHV0PFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcclxuICAgICAgICBjb25maWcudXJsID0gdXJsO1xyXG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcInB1dFwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcmVxdWVzdDxUPihjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwUmVzdWx0PFQ+KChyZXN1bHQ/LCBlcnJvcj8sIGNvbXBsZXRlPykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUJlZ2luKGNvbmZpZykudGhlbihjID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAgICAgICAgIC8vVE9ETzogY2hlY2sgdHMgZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICAucmVxdWVzdDxUPihjb25maWcubWV0aG9kLCBjb25maWcudXJsLCB0aGlzLm1hcE9wdGlvbnMoY29uZmlnKSlcclxuICAgICAgICAgICAgICAgICAgICAvLy5waXBlKHRoaXMucmV0cnkpXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXN1bHQoZGF0YSwgcmVzdWx0LCBjb21wbGV0ZSwgY29uZmlnKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCBjID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihjLCBlcnJvciwgY29tcGxldGUsIGNvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlUmVzdWx0KGRhdGEsIHJlc3VsdCwgY29tcGxldGUsIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpIHtcclxuICAgICAgICBpZiAodGhpcy5pbnRlcmNlcHRvcikge1xyXG4gICAgICAgICAgICB0aGlzLmludGVyY2VwdG9yLnN1Y2Nlc3MoY29uZmlnLCBkYXRhKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQoYyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQpXHJcbiAgICAgICAgICAgICAgICByZXN1bHQoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29tcGxldGUoY29tcGxldGUsIGNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlQmVnaW4oY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8QVhIdHRwUmVxdWVzdE9wdGlvbnM+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFjb25maWcuaGVhZGVycylcclxuICAgICAgICAgICAgICAgIGNvbmZpZy5oZWFkZXJzID0ge307XHJcbiAgICAgICAgICAgIGlmICghY29uZmlnLnBhcmFtcylcclxuICAgICAgICAgICAgICAgIGNvbmZpZy5wYXJhbXMgPSB7fTtcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgaWYgKHRoaXMuaW50ZXJjZXB0b3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3IuYmVnaW4oY29uZmlnKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoY29uZmlnKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlOiBGdW5jdGlvbiwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xyXG4gICAgICAgIGlmIChjb21wbGV0ZSlcclxuICAgICAgICAgICAgY29tcGxldGUoKTtcclxuICAgICAgICBpZiAodGhpcy5pbnRlcmNlcHRvcilcclxuICAgICAgICAgICAgdGhpcy5pbnRlcmNlcHRvci5jb21wbGV0ZShjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoYzogSHR0cEVycm9yUmVzcG9uc2UsIGVycm9yOiBGdW5jdGlvbiwgY29tcGxldGU6IEZ1bmN0aW9uLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XHJcbiAgICAgICAgbGV0IHI6IElIdHRwRXJyb3IgPSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IGMubWVzc2FnZSxcclxuICAgICAgICAgICAgc3RhdHVzOiBjLnN0YXR1cyxcclxuICAgICAgICAgICAgY29kZTogYy5zdGF0dXM/LnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGhhbmRsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBlcnJvcjogYy5lcnJvclxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICAgICAgZXJyb3Iocik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghci5oYW5kbGVkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcmNlcHRvci5lcnJvcihjb25maWcsIHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbWFwT3B0aW9ucyhvcHRpb25zOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xyXG4gICAgICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMuaGVhZGVycykge1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5oZWFkZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucy5oZWFkZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoa2V5LCB2YWx1ZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zLnBhcmFtcykge1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5wYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLnBhcmFtc1trZXldO1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICAgICAgYm9keTogb3B0aW9ucy5ib2R5LFxyXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6IG9wdGlvbnMucmVzcG9uc2VUeXBlIHx8ICdqc29uJ1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy8gaWYgKG9wdGlvbnMubWV0aG9kID09IFwiZ2V0XCIpIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHtcclxuICAgICAgICAvLyAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgICAgLy8gICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgIC8vICAgICB9O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBlbHNlIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHtcclxuICAgICAgICAvLyAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgICAgLy8gICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICAvLyAgICAgICAgIGJvZHk6IG9wdGlvbnMuYm9keVxyXG4gICAgICAgIC8vICAgICB9O1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbn0iXX0=
@@ -1,3 +1,2 @@
1
1
  export * from './src/image.service';
2
- export * from './src/image.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIGV4cG9ydCAqIGZyb20gJy4vc3JjL2ltYWdlLnNlcnZpY2UnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9zcmMvaW1hZ2UubW9kdWxlJzsiXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiBleHBvcnQgKiBmcm9tICcuL3NyYy9pbWFnZS5zZXJ2aWNlJzsiXX0=
@@ -36,8 +36,9 @@ export class AXImageService {
36
36
  }
37
37
  }
38
38
  AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
- AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService });
39
+ AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, providedIn: 'root' });
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, decorators: [{
41
- type: Injectable
41
+ type: Injectable,
42
+ args: [{ providedIn: 'root' }]
42
43
  }], ctorParameters: function () { return []; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3NyYy9pbWFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLGdCQUFnQixDQUFDO0lBR2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBaUk7UUFDMUksUUFBUSxDQUFBO1FBQ1IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwRSxJQUFJLEtBQXVCLENBQUM7UUFDNUIsSUFBSSxPQUFPLENBQUMsTUFBTSxZQUFZLElBQUksRUFBRTtZQUNoQyxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1lBQ25CLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsTUFBTSxJQUFJLE9BQU8sQ0FBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNsRCxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2I7YUFDSTtZQUNELEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQzFCO1FBRUQsbUJBQW1CO1FBQ25CLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQ3pDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxFQUNuQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEtBQUssR0FBRyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDekIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNsQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUMzQjtTQUNKO2FBQU07WUFDSCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUMxQixLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ2xDLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQzVCO1NBQ0o7UUFDRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDOzsyR0F0Q1EsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWEltYWdlU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuXHJcbiAgICBhc3luYyByZXNpemUob3B0aW9uczogeyBtYXhTaXplOiBudW1iZXIsIHNvdXJjZTogSFRNTEltYWdlRWxlbWVudCB8IEZpbGUsIHR5cGU/OiAnaW1hZ2UvcG5nJyB8ICdpbWFnZS9qcGVnJyB8ICdpbWFnZS93ZWJwJywgcXVhbGl0eT86IG51bWJlciB9KTogUHJvbWlzZTxCbG9iPiB7XHJcbiAgICAgICAgZGVidWdnZXJcclxuICAgICAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7IHR5cGU6ICdpbWFnZS9wbmcnLCBxdWFsaXR5OiAxIH0sIG9wdGlvbnMpO1xyXG5cclxuICAgICAgICBsZXQgaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMuc291cmNlIGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICAgICAgICB2YXIgYSA9IG5ldyBJbWFnZSgpXHJcbiAgICAgICAgICAgIGEuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChvcHRpb25zLnNvdXJjZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPEV2ZW50PigocmVzKSA9PiBhLm9ubG9hZCA9IHJlcyk7XHJcbiAgICAgICAgICAgIGltYWdlID0gYTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGltYWdlID0gb3B0aW9ucy5zb3VyY2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBSZXNpemUgdGhlIGltYWdlXHJcbiAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLFxyXG4gICAgICAgICAgICB3aWR0aCA9IGltYWdlLndpZHRoLFxyXG4gICAgICAgICAgICBoZWlnaHQgPSBpbWFnZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKHdpZHRoID4gaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIGlmICh3aWR0aCA+IG9wdGlvbnMubWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0ICo9IG9wdGlvbnMubWF4U2l6ZSAvIHdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGggPSBvcHRpb25zLm1heFNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaGVpZ2h0ID4gb3B0aW9ucy5tYXhTaXplKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aCAqPSBvcHRpb25zLm1heFNpemUgLyBoZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBvcHRpb25zLm1heFNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FudmFzLndpZHRoID0gd2lkdGg7XHJcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcclxuICAgICAgICBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gY2FudmFzLnRvQmxvYihyZXNvbHZlLCBvcHRpb25zLnR5cGUsIG9wdGlvbnMucXVhbGl0eSkpO1xyXG4gICAgfVxyXG59Il19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3NyYy9pbWFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLGdCQUFnQixDQUFDO0lBR2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBaUk7UUFDMUksUUFBUSxDQUFBO1FBQ1IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwRSxJQUFJLEtBQXVCLENBQUM7UUFDNUIsSUFBSSxPQUFPLENBQUMsTUFBTSxZQUFZLElBQUksRUFBRTtZQUNoQyxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1lBQ25CLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsTUFBTSxJQUFJLE9BQU8sQ0FBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNsRCxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2I7YUFDSTtZQUNELEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQzFCO1FBRUQsbUJBQW1CO1FBQ25CLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQ3pDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxFQUNuQixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEtBQUssR0FBRyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDekIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNsQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUMzQjtTQUNKO2FBQU07WUFDSCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUMxQixLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ2xDLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQzVCO1NBQ0o7UUFDRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDOzsyR0F0Q1EsY0FBYzsrR0FBZCxjQUFjLGNBREQsTUFBTTsyRkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQVhJbWFnZVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcblxyXG4gICAgYXN5bmMgcmVzaXplKG9wdGlvbnM6IHsgbWF4U2l6ZTogbnVtYmVyLCBzb3VyY2U6IEhUTUxJbWFnZUVsZW1lbnQgfCBGaWxlLCB0eXBlPzogJ2ltYWdlL3BuZycgfCAnaW1hZ2UvanBlZycgfCAnaW1hZ2Uvd2VicCcsIHF1YWxpdHk/OiBudW1iZXIgfSk6IFByb21pc2U8QmxvYj4ge1xyXG4gICAgICAgIGRlYnVnZ2VyXHJcbiAgICAgICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oeyB0eXBlOiAnaW1hZ2UvcG5nJywgcXVhbGl0eTogMSB9LCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgbGV0IGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xyXG4gICAgICAgIGlmIChvcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIEZpbGUpIHtcclxuICAgICAgICAgICAgdmFyIGEgPSBuZXcgSW1hZ2UoKVxyXG4gICAgICAgICAgICBhLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwob3B0aW9ucy5zb3VyY2UpO1xyXG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTxFdmVudD4oKHJlcykgPT4gYS5vbmxvYWQgPSByZXMpO1xyXG4gICAgICAgICAgICBpbWFnZSA9IGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpbWFnZSA9IG9wdGlvbnMuc291cmNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUmVzaXplIHRoZSBpbWFnZVxyXG4gICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKSxcclxuICAgICAgICAgICAgd2lkdGggPSBpbWFnZS53aWR0aCxcclxuICAgICAgICAgICAgaGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0O1xyXG4gICAgICAgIGlmICh3aWR0aCA+IGhlaWdodCkge1xyXG4gICAgICAgICAgICBpZiAod2lkdGggPiBvcHRpb25zLm1heFNpemUpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodCAqPSBvcHRpb25zLm1heFNpemUgLyB3aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoID0gb3B0aW9ucy5tYXhTaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGhlaWdodCA+IG9wdGlvbnMubWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGggKj0gb3B0aW9ucy5tYXhTaXplIC8gaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0ID0gb3B0aW9ucy5tYXhTaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoO1xyXG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICAgICAgY2FudmFzLmdldENvbnRleHQoJzJkJykuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCB3aWR0aCwgaGVpZ2h0KTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IGNhbnZhcy50b0Jsb2IocmVzb2x2ZSwgb3B0aW9ucy50eXBlLCBvcHRpb25zLnF1YWxpdHkpKTtcclxuICAgIH1cclxufSJdfQ==
@@ -141,11 +141,11 @@ export class AXPlatform {
141
141
  }
142
142
  }
143
143
  AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
144
- AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, providedIn: 'platform' });
144
+ AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, providedIn: 'root' });
145
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, decorators: [{
146
146
  type: Injectable,
147
147
  args: [{
148
- providedIn: 'platform',
148
+ providedIn: 'root',
149
149
  }]
150
150
  }], ctorParameters: function () { return []; } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3BsYXRmb3JtL3NyYy9wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWNwRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUUzRSxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3RDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVoRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdB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QUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQStEO1FBQ2hFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLFFBQVE7YUFDTCxhQUFhLENBQWMsT0FBTyxDQUFDO1lBQ3BDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7dUdBdkNVLFVBQVU7MkdBQVYsVUFBVSxjQUZULFVBQVU7MkZBRVgsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsVUFBVTtpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhQbGF0Zm9ybXMgPSAnQW5kcm9pZCcgfCAnRGVza3RvcCcgfCAnaU9TJyB8ICdNb2JpbGUnO1xyXG5leHBvcnQgdHlwZSBBWEJyb3dzZXJzID1cclxuICB8ICdDaHJvbWUnXHJcbiAgfCAnU2FmYXJpJ1xyXG4gIHwgJ0VkZ2UnXHJcbiAgfCAnRmlyZWZveCdcclxuICB8ICdPcGVyYSdcclxuICB8ICdNU0lFJztcclxuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCc7XHJcblxyXG5jb25zdCBpc0Nocm9tZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9DaHJvbWUvaSk7XHJcblxyXG5jb25zdCBpc0ZpcmVmb3ggPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvRmlyZWZveC9pKTtcclxuXHJcbmNvbnN0IGlzRWRnZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9FZGdlL2kpO1xyXG5cclxuY29uc3QgaXNTYWZhcmkgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvU2FmYXJpL2kpO1xyXG5cclxuY29uc3QgaXNPcGVyYSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL09wZXJhL2kpIHx8IHRlc3RVc2VyQWdlbnQod2luLCAvT1BSL2kpO1xyXG5cclxuY29uc3QgaXNNU0lFID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gIHRlc3RVc2VyQWdlbnQod2luLCAvTVNJRS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL1RyaWRlbnQvaSk7XHJcblxyXG5jb25zdCBpc01vYmlsZVdlYiA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gaXNNb2JpbGUod2luKSAmJiAhaXNIeWJyaWQod2luKTtcclxuXHJcbmNvbnN0IGlzSXBhZCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIC8vIGlPUyAxMiBhbmQgYmVsb3dcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9pUGFkL2kpKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIGlPUyAxMytcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9NYWNpbnRvc2gvaSkgJiYgaXNNb2JpbGUod2luKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5jb25zdCBpc0lwaG9uZSA9ICh3aW46IFdpbmRvdykgPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9pUGhvbmUvaSk7XHJcblxyXG5jb25zdCBpc0lPUyA9ICh3aW46IFdpbmRvdykgPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xyXG5cclxuY29uc3QgaXNBbmRyb2lkID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2FuZHJvaWR8c2luay9pKTtcclxuXHJcbmNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIHJldHVybiBpc0FuZHJvaWQod2luKSAmJiAhdGVzdFVzZXJBZ2VudCh3aW4sIC9tb2JpbGUvaSk7XHJcbn07XHJcblxyXG5jb25zdCBpc1BoYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xyXG4gIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcclxuICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xyXG4gIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgcmV0dXJuIHNtYWxsZXN0ID4gMzkwICYmIHNtYWxsZXN0IDwgNTIwICYmIGxhcmdlc3QgPiA2MjAgJiYgbGFyZ2VzdCA8IDgwMDtcclxufTtcclxuXHJcbmNvbnN0IGlzVGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgY29uc3Qgd2lkdGggPSB3aW4uaW5uZXJXaWR0aDtcclxuICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XHJcbiAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcclxuICBjb25zdCBsYXJnZXN0ID0gTWF0aC5tYXgod2lkdGgsIGhlaWdodCk7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICBpc0lwYWQod2luKSB8fFxyXG4gICAgaXNBbmRyb2lkVGFibGV0KHdpbikgfHxcclxuICAgIChzbWFsbGVzdCA+IDQ2MCAmJiBzbWFsbGVzdCA8IDgyMCAmJiBsYXJnZXN0ID4gNzgwICYmIGxhcmdlc3QgPCAxNDAwKVxyXG4gICk7XHJcbn07XHJcblxyXG5jb25zdCBpc01vYmlsZSA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xyXG5cclxuY29uc3QgaXNEZXNrdG9wID0gKHdpbjogV2luZG93KSA9PiAhaXNNb2JpbGUod2luKTtcclxuXHJcbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PiBpc0NvcmRvdmEod2luKSB8fCBpc0NhcGFjaXRvck5hdGl2ZSh3aW4pO1xyXG5cclxuY29uc3QgaXNDb3Jkb3ZhID0gKHdpbjogYW55KTogYm9vbGVhbiA9PlxyXG4gICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xyXG5cclxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcclxuICBjb25zdCBjYXBhY2l0b3IgPSB3aW5bJ0NhcGFjaXRvciddO1xyXG4gIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcclxufTtcclxuXHJcbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvZWxlY3Ryb24vaSk7XHJcblxyXG5jb25zdCBpc1BXQSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICAhIShcclxuICAgIHdpbi5tYXRjaE1lZGlhKCcoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKScpLm1hdGNoZXMgfHxcclxuICAgICh3aW4ubmF2aWdhdG9yIGFzIGFueSkuc3RhbmRhbG9uZVxyXG4gICk7XHJcblxyXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PlxyXG4gIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcblxyXG5jb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PlxyXG4gIHdpbi5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xyXG5cclxuXHJcbmNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XHJcbmNvbnN0IGlzTURTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNzY4cHgpJyk7XHJcbmNvbnN0IGlzTEdTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTAyNHB4KScpO1xyXG5jb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcclxuY29uc3QgaXMyWExTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTUzNnB4KScpO1xyXG5cclxuY29uc3QgUExBVEZPUk1TX01BUDogYW55ID0ge1xyXG4gIEFuZHJvaWQ6IGlzQW5kcm9pZCxcclxuICBpT1M6IGlzSU9TLFxyXG4gIERlc2t0b3A6IGlzRGVza3RvcCxcclxuICBNb2JpbGU6IGlzTW9iaWxlLFxyXG4gIENocm9tZTogaXNDaHJvbWUsXHJcbiAgRmlyZWZveDogaXNGaXJlZm94LFxyXG4gIFNhZmFyaTogaXNTYWZhcmksXHJcbiAgRWRnZTogaXNFZGdlLFxyXG4gIE9wZXJhOiBpc09wZXJhLFxyXG4gIEh5YnJpZDogaXNIeWJyaWQsXHJcbiAgUFdBOiBpc1BXQSxcclxuICBFbGVjdHJvbjogaXNFbGVjdHJvbixcclxuICBTTTogaXNTTVNjcmVlbixcclxuICBNRDogaXNNRFNjcmVlbixcclxuICBMRzogaXNMR1NjcmVlbixcclxuICBYTDogaXNYTFNjcmVlbixcclxuICBcIjJYTFwiOiBpczJYTFNjcmVlbixcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtRXZlbnQge1xyXG4gIG5hdGl2ZUV2ZW50ITogVUlFdmVudCB8IEV2ZW50O1xyXG4gIHNvdXJjZSE6IEFYUGxhdGZvcm07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncGxhdGZvcm0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQbGF0Zm9ybSB7XHJcbiAgcmVzaXplOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XHJcbiAgY2xpY2s6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcclxuICBzY3JvbGw6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcclxuXHJcbiAgaXNSdGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkb2N1bWVudC5kaXIgPT0gJ3J0bCcgfHxcclxuICAgICAgZG9jdW1lbnQuYm9keS5kaXIgPT0gJ3J0bCcgfHxcclxuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24gPT0gJ3J0bCdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc0xhbmRzY2FwZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQgPCB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIGlzUG9ydHJhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNMYW5kc2NhcGUoKTtcclxuICB9XHJcblxyXG4gIGlzKG5hbWU6IEFYUGxhdGZvcm1zIHwgQVhCcm93c2VycyB8IEFYVGVjaG5vbG9naWVzIHwgQVhTY3JlZW5TaXplcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFBMQVRGT1JNU19NQVBbbmFtZV0od2luZG93KSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN3aXRjaERhcmtNb2RlKCkge1xyXG4gICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xyXG4gICAgX2h0bWwuY2xhc3NMaXN0LmFkZCgnYXgtZGFyaycpO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoTGlnaHRNb2RlKCkge1xyXG4gICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xyXG4gICAgX2h0bWwuY2xhc3NMaXN0LnJlbW92ZSgnYXgtZGFyaycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0RnVsbEhlaWdodFJhdGlvKCkge1xyXG4gICAgZG9jdW1lbnRcclxuICAgICAgLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCc6cm9vdCcpXHJcbiAgICAgID8uc3R5bGUuc2V0UHJvcGVydHkoJy0tYXgtdmgnLCB3aW5kb3cuaW5uZXJIZWlnaHQgLyAxMDAgKyAncHgnKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgZnJvbUV2ZW50PFVJRXZlbnQ+KHdpbmRvdywgJ3Jlc2l6ZScpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxyXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZXNpemUubmV4dCh7XHJcbiAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgICB9KTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIHRoaXMuX3NldEZ1bGxIZWlnaHRSYXRpbygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAnY2xpY2snLFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xpY2submV4dCh7XHJcbiAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAnc2Nyb2xsJyxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgICB0aGlzLnNjcm9sbC5uZXh0KHtcclxuICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxyXG4gICAgICAgICAgc291cmNlOiB0aGlzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICB0cnVlXHJcbiAgICApO1xyXG4gICAgLy8gaW5pdCBmdW5jdGlvbnNcclxuICAgIHRoaXMuX3NldEZ1bGxIZWlnaHRSYXRpbygpO1xyXG4gIH1cclxufVxyXG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3BsYXRmb3JtL3NyYy9wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWNwRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUUzRSxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3RDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVoRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdB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QUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQStEO1FBQ2hFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLFFBQVE7YUFDTCxhQUFhLENBQWMsT0FBTyxDQUFDO1lBQ3BDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7dUdBdkNVLFVBQVU7MkdBQVYsVUFBVSxjQUZULE1BQU07MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhQbGF0Zm9ybXMgPSAnQW5kcm9pZCcgfCAnRGVza3RvcCcgfCAnaU9TJyB8ICdNb2JpbGUnO1xyXG5leHBvcnQgdHlwZSBBWEJyb3dzZXJzID1cclxuICB8ICdDaHJvbWUnXHJcbiAgfCAnU2FmYXJpJ1xyXG4gIHwgJ0VkZ2UnXHJcbiAgfCAnRmlyZWZveCdcclxuICB8ICdPcGVyYSdcclxuICB8ICdNU0lFJztcclxuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCc7XHJcblxyXG5jb25zdCBpc0Nocm9tZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9DaHJvbWUvaSk7XHJcblxyXG5jb25zdCBpc0ZpcmVmb3ggPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvRmlyZWZveC9pKTtcclxuXHJcbmNvbnN0IGlzRWRnZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9FZGdlL2kpO1xyXG5cclxuY29uc3QgaXNTYWZhcmkgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvU2FmYXJpL2kpO1xyXG5cclxuY29uc3QgaXNPcGVyYSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL09wZXJhL2kpIHx8IHRlc3RVc2VyQWdlbnQod2luLCAvT1BSL2kpO1xyXG5cclxuY29uc3QgaXNNU0lFID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gIHRlc3RVc2VyQWdlbnQod2luLCAvTVNJRS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL1RyaWRlbnQvaSk7XHJcblxyXG5jb25zdCBpc01vYmlsZVdlYiA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gaXNNb2JpbGUod2luKSAmJiAhaXNIeWJyaWQod2luKTtcclxuXHJcbmNvbnN0IGlzSXBhZCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIC8vIGlPUyAxMiBhbmQgYmVsb3dcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9pUGFkL2kpKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIGlPUyAxMytcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9NYWNpbnRvc2gvaSkgJiYgaXNNb2JpbGUod2luKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5jb25zdCBpc0lwaG9uZSA9ICh3aW46IFdpbmRvdykgPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9pUGhvbmUvaSk7XHJcblxyXG5jb25zdCBpc0lPUyA9ICh3aW46IFdpbmRvdykgPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xyXG5cclxuY29uc3QgaXNBbmRyb2lkID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2FuZHJvaWR8c2luay9pKTtcclxuXHJcbmNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIHJldHVybiBpc0FuZHJvaWQod2luKSAmJiAhdGVzdFVzZXJBZ2VudCh3aW4sIC9tb2JpbGUvaSk7XHJcbn07XHJcblxyXG5jb25zdCBpc1BoYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xyXG4gIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcclxuICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xyXG4gIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgcmV0dXJuIHNtYWxsZXN0ID4gMzkwICYmIHNtYWxsZXN0IDwgNTIwICYmIGxhcmdlc3QgPiA2MjAgJiYgbGFyZ2VzdCA8IDgwMDtcclxufTtcclxuXHJcbmNvbnN0IGlzVGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgY29uc3Qgd2lkdGggPSB3aW4uaW5uZXJXaWR0aDtcclxuICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XHJcbiAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcclxuICBjb25zdCBsYXJnZXN0ID0gTWF0aC5tYXgod2lkdGgsIGhlaWdodCk7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICBpc0lwYWQod2luKSB8fFxyXG4gICAgaXNBbmRyb2lkVGFibGV0KHdpbikgfHxcclxuICAgIChzbWFsbGVzdCA+IDQ2MCAmJiBzbWFsbGVzdCA8IDgyMCAmJiBsYXJnZXN0ID4gNzgwICYmIGxhcmdlc3QgPCAxNDAwKVxyXG4gICk7XHJcbn07XHJcblxyXG5jb25zdCBpc01vYmlsZSA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xyXG5cclxuY29uc3QgaXNEZXNrdG9wID0gKHdpbjogV2luZG93KSA9PiAhaXNNb2JpbGUod2luKTtcclxuXHJcbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PiBpc0NvcmRvdmEod2luKSB8fCBpc0NhcGFjaXRvck5hdGl2ZSh3aW4pO1xyXG5cclxuY29uc3QgaXNDb3Jkb3ZhID0gKHdpbjogYW55KTogYm9vbGVhbiA9PlxyXG4gICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xyXG5cclxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcclxuICBjb25zdCBjYXBhY2l0b3IgPSB3aW5bJ0NhcGFjaXRvciddO1xyXG4gIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcclxufTtcclxuXHJcbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvZWxlY3Ryb24vaSk7XHJcblxyXG5jb25zdCBpc1BXQSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICAhIShcclxuICAgIHdpbi5tYXRjaE1lZGlhKCcoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKScpLm1hdGNoZXMgfHxcclxuICAgICh3aW4ubmF2aWdhdG9yIGFzIGFueSkuc3RhbmRhbG9uZVxyXG4gICk7XHJcblxyXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PlxyXG4gIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcblxyXG5jb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PlxyXG4gIHdpbi5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xyXG5cclxuXHJcbmNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XHJcbmNvbnN0IGlzTURTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNzY4cHgpJyk7XHJcbmNvbnN0IGlzTEdTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTAyNHB4KScpO1xyXG5jb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcclxuY29uc3QgaXMyWExTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTUzNnB4KScpO1xyXG5cclxuY29uc3QgUExBVEZPUk1TX01BUDogYW55ID0ge1xyXG4gIEFuZHJvaWQ6IGlzQW5kcm9pZCxcclxuICBpT1M6IGlzSU9TLFxyXG4gIERlc2t0b3A6IGlzRGVza3RvcCxcclxuICBNb2JpbGU6IGlzTW9iaWxlLFxyXG4gIENocm9tZTogaXNDaHJvbWUsXHJcbiAgRmlyZWZveDogaXNGaXJlZm94LFxyXG4gIFNhZmFyaTogaXNTYWZhcmksXHJcbiAgRWRnZTogaXNFZGdlLFxyXG4gIE9wZXJhOiBpc09wZXJhLFxyXG4gIEh5YnJpZDogaXNIeWJyaWQsXHJcbiAgUFdBOiBpc1BXQSxcclxuICBFbGVjdHJvbjogaXNFbGVjdHJvbixcclxuICBTTTogaXNTTVNjcmVlbixcclxuICBNRDogaXNNRFNjcmVlbixcclxuICBMRzogaXNMR1NjcmVlbixcclxuICBYTDogaXNYTFNjcmVlbixcclxuICBcIjJYTFwiOiBpczJYTFNjcmVlbixcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtRXZlbnQge1xyXG4gIG5hdGl2ZUV2ZW50ITogVUlFdmVudCB8IEV2ZW50O1xyXG4gIHNvdXJjZSE6IEFYUGxhdGZvcm07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtIHtcclxuICByZXNpemU6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcclxuICBjbGljazogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xyXG4gIHNjcm9sbDogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xyXG5cclxuICBpc1J0bCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGRvY3VtZW50LmRpciA9PSAncnRsJyB8fFxyXG4gICAgICBkb2N1bWVudC5ib2R5LmRpciA9PSAncnRsJyB8fFxyXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9PSAncnRsJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzTGFuZHNjYXBlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCA8IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgaXNQb3J0cmF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5pc0xhbmRzY2FwZSgpO1xyXG4gIH1cclxuXHJcbiAgaXMobmFtZTogQVhQbGF0Zm9ybXMgfCBBWEJyb3dzZXJzIHwgQVhUZWNobm9sb2dpZXMgfCBBWFNjcmVlblNpemVzKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gUExBVEZPUk1TX01BUFtuYW1lXSh3aW5kb3cpIHx8IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRGFya01vZGUoKSB7XHJcbiAgICBjb25zdCBfaHRtbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF07XHJcbiAgICBfaHRtbC5jbGFzc0xpc3QuYWRkKCdheC1kYXJrJyk7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hMaWdodE1vZGUoKSB7XHJcbiAgICBjb25zdCBfaHRtbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF07XHJcbiAgICBfaHRtbC5jbGFzc0xpc3QucmVtb3ZlKCdheC1kYXJrJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRGdWxsSGVpZ2h0UmF0aW8oKSB7XHJcbiAgICBkb2N1bWVudFxyXG4gICAgICAucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJzpyb290JylcclxuICAgICAgPy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1heC12aCcsIHdpbmRvdy5pbm5lckhlaWdodCAvIDEwMCArICdweCcpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBmcm9tRXZlbnQ8VUlFdmVudD4od2luZG93LCAncmVzaXplJylcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXHJcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICB0aGlzLnJlc2l6ZS5uZXh0KHtcclxuICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxyXG4gICAgICAgICAgc291cmNlOiB0aGlzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5fc2V0RnVsbEhlaWdodFJhdGlvKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICdjbGljaycsXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGljay5uZXh0KHtcclxuICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxyXG4gICAgICAgICAgc291cmNlOiB0aGlzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICB0cnVlXHJcbiAgICApO1xyXG5cclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICdzY3JvbGwnLFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsLm5leHQoe1xyXG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcbiAgICAvLyBpbml0IGZ1bmN0aW9uc1xyXG4gICAgdGhpcy5fc2V0RnVsbEhlaWdodFJhdGlvKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule } from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import * as i1 from '@angular/common/http';
5
- import { CommonModule } from '@angular/common';
6
5
 
7
6
  class AXFileDownloadRef extends Promise {
8
7
  constructor(executor) {
@@ -78,6 +77,14 @@ class AXFileUploadRef extends Promise {
78
77
  class AXFileService {
79
78
  constructor(_httpClient) {
80
79
  this._httpClient = _httpClient;
80
+ this.blobToBase64 = (blob) => new Promise((resolve, reject) => {
81
+ const reader = new FileReader;
82
+ reader.onerror = reject;
83
+ reader.onload = () => {
84
+ resolve(reader.result);
85
+ };
86
+ reader.readAsDataURL(blob);
87
+ });
81
88
  }
82
89
  download(request) {
83
90
  let s;
@@ -142,29 +149,15 @@ class AXFileService {
142
149
  }
143
150
  }
144
151
  AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
145
- AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService });
152
+ AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, providedIn: 'root' });
146
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, decorators: [{
147
- type: Injectable
154
+ type: Injectable,
155
+ args: [{ providedIn: 'root' }]
148
156
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
149
157
 
150
- class AXFileModule {
151
- }
152
- AXFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
153
- AXFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, imports: [CommonModule] });
154
- AXFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, providers: [AXFileService], imports: [CommonModule] });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, decorators: [{
156
- type: NgModule,
157
- args: [{
158
- declarations: [],
159
- imports: [CommonModule],
160
- exports: [],
161
- providers: [AXFileService],
162
- }]
163
- }] });
164
-
165
158
  /**
166
159
  * Generated bundle index. Do not edit.
167
160
  */
168
161
 
169
- export { AXFileDownloadRef, AXFileDownloadResult, AXFileModule, AXFileService, AXFileUploadRef };
162
+ export { AXFileDownloadRef, AXFileDownloadResult, AXFileService, AXFileUploadRef };
170
163
  //# sourceMappingURL=acorex-core-file.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-file.mjs","sources":["../../../../projects/acorex/core/file/src/file-download-ref.class.ts","../../../../projects/acorex/core/file/src/file-download-result.class.ts","../../../../projects/acorex/core/file/src/file-upload-ref.class.ts","../../../../projects/acorex/core/file/src/file.service.ts","../../../../projects/acorex/core/file/src/file.module.ts","../../../../projects/acorex/core/file/acorex-core-file.ts"],"sourcesContent":["import { AXFileDownloadResult } from \"./file-download-result.class\";\r\n\r\nexport class AXFileDownloadRef extends Promise<AXFileDownloadResult>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<AXFileDownloadResult>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","export class AXFileDownloadResult {\r\n\r\n _response: Blob;\r\n\r\n constructor(response: Blob) {\r\n this._response = response;\r\n }\r\n\r\n save(filename?: string): Promise<void> {\r\n this._defaultBrowserDownload(filename);\r\n return Promise.resolve();\r\n // else {\r\n // return new Promise((resolve, reject) => {\r\n // const button = document.createElement(\"button\");\r\n // button.addEventListener('click', async () => {\r\n // debugger\r\n // button.remove();\r\n // const opts = {\r\n // types: [{\r\n // description: 'Save File',\r\n // suggestedName: filename\r\n // // accept: {'text/plain': ['.txt']},\r\n // }],\r\n // };\r\n // const result = await window['showSaveFilePicker'](opts);\r\n // console.log(result);\r\n\r\n // resolve();\r\n // });\r\n // button.click();\r\n // });\r\n\r\n // }\r\n }\r\n\r\n\r\n blob() {\r\n return this._response;\r\n }\r\n\r\n base64(): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n var reader = new window.FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = (e) => reject(e);\r\n reader.readAsDataURL(this._response);\r\n })\r\n }\r\n\r\n private _defaultBrowserDownload(filename: string = 'download') {\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(this._response);\r\n link.download = filename;\r\n link.click();\r\n }\r\n}","export class AXFileUploadRef<T = any> extends Promise<T>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<T>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","import { HttpClient, HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AXFileDownloadRef } from './file-download-ref.class';\r\nimport { AXFileDownloadResult } from './file-download-result.class';\r\nimport { AXFileUploadRef } from './file-upload-ref.class';\r\n\r\n\r\n@Injectable()\r\nexport class AXFileService {\r\n constructor(private _httpClient: HttpClient) { }\r\n\r\n public download(request: string | Observable<Blob>): AXFileDownloadRef {\r\n let s: Subscription;\r\n const promiseFunc = (resolve, reject) => {\r\n //TODO: add custome http request\r\n //const headers = new HttpHeaders().set('authorization','Bearer '+token);\r\n let b: Observable<Blob>;\r\n if (typeof request === 'string') {\r\n b = this._httpClient.get(request, { responseType: 'blob' });\r\n }\r\n else if (b instanceof Observable<Blob>) {\r\n b = request;\r\n }\r\n s = b?.subscribe({\r\n next: (v) => resolve(new AXFileDownloadResult(v)),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileDownloadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n\r\n return a;\r\n }\r\n\r\n public upload<T = any>(url: string, files: File[]): AXFileUploadRef<T> {\r\n let s: Subscription;\r\n let formData = new FormData();\r\n files.forEach(f => {\r\n formData.append(\"files\", f);\r\n })\r\n const promiseFunc = (resolve, reject) => {\r\n let b: Observable<T>;\r\n b = this._httpClient.post<T>(url, formData);\r\n\r\n s = b?.subscribe({\r\n next: (v) => resolve(v),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileUploadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n return a;\r\n }\r\n\r\n public choose(options?: { accept?: string, multiple?: boolean }): Promise<File[]> {\r\n return new Promise<File[]>((resolve, reject) => {\r\n options = Object.assign({ multiple: false }, options);\r\n const input = document.createElement(\"input\");\r\n input.type = 'file';\r\n input.accept = options.accept;\r\n input.multiple = options.multiple;\r\n input.onchange = () => {\r\n resolve(Array.from(input.files));\r\n input.remove();\r\n }\r\n input.onerror = (e) => {\r\n reject(e);\r\n input.remove();\r\n };\r\n input.click();\r\n });\r\n }\r\n}\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXFileService } from './file.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [AXFileService],\r\n})\r\nexport class AXFileModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAEM,MAAO,iBAAkB,SAAQ,OAA6B,CAAA;AAGhE,IAAA,WAAA,CAAY,QAAgH,EAAA;QACxH,KAAK,CAAC,QAAQ,CAAC,CAAC;KAEnB;;IAEM,KAAK,GAAA;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;AACJ;;MCfY,oBAAoB,CAAA;AAI7B,IAAA,WAAA,CAAY,QAAc,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC7B;AAED,IAAA,IAAI,CAAC,QAAiB,EAAA;AAClB,QAAA,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AACvC,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;KAuB5B;IAGD,IAAI,GAAA;QACA,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,MAAM,GAAA;QACF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;AACrC,YAAA,MAAM,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;AAC1D,YAAA,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AAClC,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzC,SAAC,CAAC,CAAA;KACL;IAEO,uBAAuB,CAAC,WAAmB,UAAU,EAAA;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;AACJ;;ACvDK,MAAO,eAAyB,SAAQ,OAAU,CAAA;AAGpD,IAAA,WAAA,CAAY,QAA6F,EAAA;QACrG,KAAK,CAAC,QAAQ,CAAC,CAAC;KAEnB;;IAEM,KAAK,GAAA;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;AACJ;;MCJY,aAAa,CAAA;AACtB,IAAA,WAAA,CAAoB,WAAuB,EAAA;AAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;KAAK;AAEzC,IAAA,QAAQ,CAAC,OAAkC,EAAA;AAC9C,QAAA,IAAI,CAAe,CAAC;AACpB,QAAA,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,KAAI;;;AAGpC,YAAA,IAAI,CAAmB,CAAC;AACxB,YAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC7B,gBAAA,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/D,aAAA;AACI,iBAAA,IAAI,CAAC,aAAY,UAAgB,CAAA,EAAE;gBACpC,CAAC,GAAG,OAAO,CAAC;AACf,aAAA;YACD,CAAC,GAAG,CAAC,KAAD,IAAA,IAAA,CAAC,uBAAD,CAAC,CAAE,SAAS,CAAC;AACb,gBAAA,IAAI,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACjD,KAAK,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAC1B,aAAA,CAAC,CAAA;AACN,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAC7C,QAAA,CAAC,CAAC,KAAK,GAAG,MAAK;AACX,YAAA,CAAC,aAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,WAAW,EAAE,CAAC;AACrB,SAAC,CAAC;AAEF,QAAA,OAAO,CAAC,CAAC;KACZ;IAEM,MAAM,CAAU,GAAW,EAAE,KAAa,EAAA;AAC7C,QAAA,IAAI,CAAe,CAAC;AACpB,QAAA,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC9B,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAG;AACd,YAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAChC,SAAC,CAAC,CAAA;AACF,QAAA,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,KAAI;AACpC,YAAA,IAAI,CAAgB,CAAC;YACrB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAI,GAAG,EAAE,QAAQ,CAAC,CAAC;YAE5C,CAAC,GAAG,CAAC,KAAD,IAAA,IAAA,CAAC,uBAAD,CAAC,CAAE,SAAS,CAAC;gBACb,IAAI,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;gBACvB,KAAK,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAC1B,aAAA,CAAC,CAAA;AACN,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;AAC3C,QAAA,CAAC,CAAC,KAAK,GAAG,MAAK;AACX,YAAA,CAAC,aAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,WAAW,EAAE,CAAC;AACrB,SAAC,CAAC;AACF,QAAA,OAAO,CAAC,CAAC;KACZ;AAEM,IAAA,MAAM,CAAC,OAAiD,EAAA;QAC3D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;AAC3C,YAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,YAAA,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;AACpB,YAAA,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAC9B,YAAA,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClC,YAAA,KAAK,CAAC,QAAQ,GAAG,MAAK;gBAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjC,KAAK,CAAC,MAAM,EAAE,CAAC;AACnB,aAAC,CAAA;AACD,YAAA,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAI;gBAClB,MAAM,CAAC,CAAC,CAAC,CAAC;gBACV,KAAK,CAAC,MAAM,EAAE,CAAC;AACnB,aAAC,CAAC;YACF,KAAK,CAAC,KAAK,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACN;;0GArEQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;MCIE,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAJX,YAAY,CAAA,EAAA,CAAA,CAAA;AAIb,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAFV,SAAA,EAAA,CAAC,aAAa,CAAC,YAFhB,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIb,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,CAAC,aAAa,CAAC;iBAC7B,CAAA;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-core-file.mjs","sources":["../../../../projects/acorex/core/file/src/file-download-ref.class.ts","../../../../projects/acorex/core/file/src/file-download-result.class.ts","../../../../projects/acorex/core/file/src/file-upload-ref.class.ts","../../../../projects/acorex/core/file/src/file.service.ts","../../../../projects/acorex/core/file/acorex-core-file.ts"],"sourcesContent":["import { AXFileDownloadResult } from \"./file-download-result.class\";\r\n\r\nexport class AXFileDownloadRef extends Promise<AXFileDownloadResult>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<AXFileDownloadResult>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","export class AXFileDownloadResult {\r\n\r\n _response: Blob;\r\n\r\n constructor(response: Blob) {\r\n this._response = response;\r\n }\r\n\r\n save(filename?: string): Promise<void> {\r\n this._defaultBrowserDownload(filename);\r\n return Promise.resolve();\r\n // else {\r\n // return new Promise((resolve, reject) => {\r\n // const button = document.createElement(\"button\");\r\n // button.addEventListener('click', async () => {\r\n // debugger\r\n // button.remove();\r\n // const opts = {\r\n // types: [{\r\n // description: 'Save File',\r\n // suggestedName: filename\r\n // // accept: {'text/plain': ['.txt']},\r\n // }],\r\n // };\r\n // const result = await window['showSaveFilePicker'](opts);\r\n // console.log(result);\r\n\r\n // resolve();\r\n // });\r\n // button.click();\r\n // });\r\n\r\n // }\r\n }\r\n\r\n\r\n blob() {\r\n return this._response;\r\n }\r\n\r\n base64(): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n var reader = new window.FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = (e) => reject(e);\r\n reader.readAsDataURL(this._response);\r\n })\r\n }\r\n\r\n private _defaultBrowserDownload(filename: string = 'download') {\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(this._response);\r\n link.download = filename;\r\n link.click();\r\n }\r\n}","export class AXFileUploadRef<T = any> extends Promise<T>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<T>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","import { HttpClient, HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AXFileDownloadRef } from './file-download-ref.class';\r\nimport { AXFileDownloadResult } from './file-download-result.class';\r\nimport { AXFileUploadRef } from './file-upload-ref.class';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXFileService {\r\n constructor(private _httpClient: HttpClient) { }\r\n\r\n public download(request: string | Observable<Blob>): AXFileDownloadRef {\r\n let s: Subscription;\r\n const promiseFunc = (resolve, reject) => {\r\n //TODO: add custome http request\r\n //const headers = new HttpHeaders().set('authorization','Bearer '+token);\r\n let b: Observable<Blob>;\r\n if (typeof request === 'string') {\r\n b = this._httpClient.get(request, { responseType: 'blob' });\r\n }\r\n else if (b instanceof Observable<Blob>) {\r\n b = request;\r\n }\r\n s = b?.subscribe({\r\n next: (v) => resolve(new AXFileDownloadResult(v)),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileDownloadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n\r\n return a;\r\n }\r\n\r\n public upload<T = any>(url: string, files: File[]): AXFileUploadRef<T> {\r\n let s: Subscription;\r\n let formData = new FormData();\r\n files.forEach(f => {\r\n formData.append(\"files\", f);\r\n })\r\n const promiseFunc = (resolve, reject) => {\r\n let b: Observable<T>;\r\n b = this._httpClient.post<T>(url, formData);\r\n\r\n s = b?.subscribe({\r\n next: (v) => resolve(v),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileUploadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n return a;\r\n }\r\n\r\n public choose(options?: { accept?: string, multiple?: boolean }): Promise<File[]> {\r\n return new Promise<File[]>((resolve, reject) => {\r\n options = Object.assign({ multiple: false }, options);\r\n const input = document.createElement(\"input\");\r\n input.type = 'file';\r\n input.accept = options.accept;\r\n input.multiple = options.multiple;\r\n input.onchange = () => {\r\n resolve(Array.from(input.files));\r\n input.remove();\r\n }\r\n input.onerror = (e) => {\r\n reject(e);\r\n input.remove();\r\n };\r\n input.click();\r\n });\r\n }\r\n\r\n blobToBase64 = (blob: Blob) => new Promise<string>((resolve, reject) => {\r\n const reader = new FileReader;\r\n reader.onerror = reject;\r\n reader.onload = () => {\r\n resolve(reader.result as string);\r\n };\r\n reader.readAsDataURL(blob);\r\n });\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -164,9 +164,10 @@ class AXHttpService {
164
164
  }
165
165
  }
166
166
  AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
167
- AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService });
167
+ AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, providedIn: 'root' });
168
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, decorators: [{
169
- type: Injectable
169
+ type: Injectable,
170
+ args: [{ providedIn: 'root' }]
170
171
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
171
172
 
172
173
  class AXHttpModule {
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-http.mjs","sources":["../../../../projects/acorex/core/http/src/http-events.interceptor.ts","../../../../projects/acorex/core/http/src/http-result.class.ts","../../../../projects/acorex/core/http/src/http.service.ts","../../../../projects/acorex/core/http/src/http.module.ts","../../../../projects/acorex/core/http/acorex-core-http.ts"],"sourcesContent":["import { IHttpError } from './http-error.class';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\n\r\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\r\n\r\nexport interface AXHttpEventInterceptor {\r\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\r\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\r\n complete(request: AXHttpRequestOptions);\r\n error(request: AXHttpRequestOptions, error: IHttpError);\r\n}\r\n\r\n\r\n","import { IHttpError } from './http-error.class';\r\n\r\nexport class HttpResult<T> {\r\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\r\n constructor(\r\n executor: (\r\n result: (e?: T) => void,\r\n error: (e?: IHttpError) => void,\r\n complete: () => void\r\n ) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.resultAction, this.errorAction, this.completeAction);\r\n }, 50);\r\n }\r\n\r\n private resultAction: (e?: T) => void;\r\n private errorAction: (e?: IHttpError) => void;\r\n private completeAction: () => void;\r\n\r\n result(action: (e?: T) => void): HttpResult<T> { \r\n this.resultAction = action;\r\n return this;\r\n }\r\n error(action: (e?: IHttpError) => void): HttpResult<T> {\r\n this.errorAction = action;\r\n return this;\r\n }\r\n complete(action: () => void): HttpResult<T> {\r\n this.completeAction = action;\r\n return this;\r\n }\r\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResult } from './http-result.class';\r\nimport { IHttpError } from './http-error.class';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\nimport {\r\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\r\n} from './http-events.interceptor';\r\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\r\n// import { of, concat, throwError } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class AXHttpService {\r\n\r\n private interceptor: AXHttpEventInterceptor;\r\n constructor(private http: HttpClient, private injector: Injector) {\r\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\r\n }\r\n\r\n\r\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"get\";\r\n return this.request(config);\r\n }\r\n\r\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"post\";\r\n return this.request(config);\r\n }\r\n\r\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"delete\";\r\n return this.request(config);\r\n }\r\n\r\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"put\";\r\n return this.request(config);\r\n }\r\n\r\n\r\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\r\n return new HttpResult<T>((result?, error?, complete?) => {\r\n this.handleBegin(config).then(c => {\r\n this.http\r\n //TODO: check ts error\r\n //@ts-ignore\r\n .request<T>(config.method, config.url, this.mapOptions(config))\r\n //.pipe(this.retry)\r\n .subscribe(data => {\r\n this.handleResult(data, result, complete, config);\r\n }, c => {\r\n this.handleError(c, error, complete, config);\r\n });\r\n });\r\n })\r\n }\r\n\r\n\r\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\r\n if (this.interceptor) {\r\n this.interceptor.success(config, data).then(c => {\r\n if (result)\r\n result(c);\r\n this.handleComplete(complete, config);\r\n });\r\n }\r\n else {\r\n //\r\n if (result)\r\n result(data);\r\n this.handleComplete(complete, config);\r\n }\r\n }\r\n\r\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\r\n return new Promise((resolve) => {\r\n if (!config.headers)\r\n config.headers = {};\r\n if (!config.params)\r\n config.params = {};\r\n //\r\n if (this.interceptor) {\r\n this.interceptor.begin(config).then(c => {\r\n resolve(c);\r\n });\r\n }\r\n else {\r\n resolve(config)\r\n }\r\n })\r\n }\r\n\r\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\r\n if (complete)\r\n complete();\r\n if (this.interceptor)\r\n this.interceptor.complete(config);\r\n }\r\n\r\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\r\n let r: IHttpError = {\r\n message: c.message,\r\n status: c.status,\r\n code: c.status?.toString(),\r\n handled: false,\r\n error: c.error\r\n }\r\n if (error) {\r\n error(r);\r\n }\r\n if (!r.handled) {\r\n if (this.interceptor)\r\n this.interceptor.error(config, r);\r\n }\r\n this.handleComplete(complete, config);\r\n }\r\n\r\n private mapOptions(options: AXHttpRequestOptions) {\r\n let headers = new HttpHeaders();\r\n\r\n for (const key in options.headers) {\r\n if (options.headers.hasOwnProperty(key)) {\r\n const value = options.headers[key];\r\n headers = headers.set(key, value)\r\n }\r\n }\r\n let params = new HttpParams();\r\n for (const key in options.params) {\r\n if (options.params.hasOwnProperty(key)) {\r\n const value = options.params[key];\r\n params = params.set(key, value);\r\n }\r\n }\r\n return {\r\n headers: headers,\r\n params: params,\r\n body: options.body,\r\n responseType: options.responseType || 'json'\r\n };\r\n // if (options.method == \"get\") {\r\n // return {\r\n // headers: headers,\r\n // params: params\r\n // };\r\n // }\r\n // else {\r\n // return {\r\n // headers: headers,\r\n // params: params,\r\n // body: options.body\r\n // };\r\n // }\r\n }\r\n\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AXHttpService } from './http.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: [HttpClientModule],\r\n providers: [\r\n AXHttpService\r\n ]\r\n})\r\nexport class AXHttpModule {\r\n // static forRoot(): ModuleWithProviders {\r\n // return {\r\n // ngModule: AXHttpModule,\r\n // providers: [AXHttpService]\r\n // };\r\n // }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-http.mjs","sources":["../../../../projects/acorex/core/http/src/http-events.interceptor.ts","../../../../projects/acorex/core/http/src/http-result.class.ts","../../../../projects/acorex/core/http/src/http.service.ts","../../../../projects/acorex/core/http/src/http.module.ts","../../../../projects/acorex/core/http/acorex-core-http.ts"],"sourcesContent":["import { IHttpError } from './http-error.class';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\n\r\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\r\n\r\nexport interface AXHttpEventInterceptor {\r\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\r\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\r\n complete(request: AXHttpRequestOptions);\r\n error(request: AXHttpRequestOptions, error: IHttpError);\r\n}\r\n\r\n\r\n","import { IHttpError } from './http-error.class';\r\n\r\nexport class HttpResult<T> {\r\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\r\n constructor(\r\n executor: (\r\n result: (e?: T) => void,\r\n error: (e?: IHttpError) => void,\r\n complete: () => void\r\n ) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.resultAction, this.errorAction, this.completeAction);\r\n }, 50);\r\n }\r\n\r\n private resultAction: (e?: T) => void;\r\n private errorAction: (e?: IHttpError) => void;\r\n private completeAction: () => void;\r\n\r\n result(action: (e?: T) => void): HttpResult<T> { \r\n this.resultAction = action;\r\n return this;\r\n }\r\n error(action: (e?: IHttpError) => void): HttpResult<T> {\r\n this.errorAction = action;\r\n return this;\r\n }\r\n complete(action: () => void): HttpResult<T> {\r\n this.completeAction = action;\r\n return this;\r\n }\r\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResult } from './http-result.class';\r\nimport { IHttpError } from './http-error.class';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\nimport {\r\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\r\n} from './http-events.interceptor';\r\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\r\n// import { of, concat, throwError } from 'rxjs';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXHttpService {\r\n\r\n private interceptor: AXHttpEventInterceptor;\r\n constructor(private http: HttpClient, private injector: Injector) {\r\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\r\n }\r\n\r\n\r\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"get\";\r\n return this.request(config);\r\n }\r\n\r\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"post\";\r\n return this.request(config);\r\n }\r\n\r\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"delete\";\r\n return this.request(config);\r\n }\r\n\r\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"put\";\r\n return this.request(config);\r\n }\r\n\r\n\r\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\r\n return new HttpResult<T>((result?, error?, complete?) => {\r\n this.handleBegin(config).then(c => {\r\n this.http\r\n //TODO: check ts error\r\n //@ts-ignore\r\n .request<T>(config.method, config.url, this.mapOptions(config))\r\n //.pipe(this.retry)\r\n .subscribe(data => {\r\n this.handleResult(data, result, complete, config);\r\n }, c => {\r\n this.handleError(c, error, complete, config);\r\n });\r\n });\r\n })\r\n }\r\n\r\n\r\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\r\n if (this.interceptor) {\r\n this.interceptor.success(config, data).then(c => {\r\n if (result)\r\n result(c);\r\n this.handleComplete(complete, config);\r\n });\r\n }\r\n else {\r\n //\r\n if (result)\r\n result(data);\r\n this.handleComplete(complete, config);\r\n }\r\n }\r\n\r\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\r\n return new Promise((resolve) => {\r\n if (!config.headers)\r\n config.headers = {};\r\n if (!config.params)\r\n config.params = {};\r\n //\r\n if (this.interceptor) {\r\n this.interceptor.begin(config).then(c => {\r\n resolve(c);\r\n });\r\n }\r\n else {\r\n resolve(config)\r\n }\r\n })\r\n }\r\n\r\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\r\n if (complete)\r\n complete();\r\n if (this.interceptor)\r\n this.interceptor.complete(config);\r\n }\r\n\r\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\r\n let r: IHttpError = {\r\n message: c.message,\r\n status: c.status,\r\n code: c.status?.toString(),\r\n handled: false,\r\n error: c.error\r\n }\r\n if (error) {\r\n error(r);\r\n }\r\n if (!r.handled) {\r\n if (this.interceptor)\r\n this.interceptor.error(config, r);\r\n }\r\n this.handleComplete(complete, config);\r\n }\r\n\r\n private mapOptions(options: AXHttpRequestOptions) {\r\n let headers = new HttpHeaders();\r\n\r\n for (const key in options.headers) {\r\n if (options.headers.hasOwnProperty(key)) {\r\n const value = options.headers[key];\r\n headers = headers.set(key, value)\r\n }\r\n }\r\n let params = new HttpParams();\r\n for (const key in options.params) {\r\n if (options.params.hasOwnProperty(key)) {\r\n const value = options.params[key];\r\n params = params.set(key, value);\r\n }\r\n }\r\n return {\r\n headers: headers,\r\n params: params,\r\n body: options.body,\r\n responseType: options.responseType || 'json'\r\n };\r\n // if (options.method == \"get\") {\r\n // return {\r\n // headers: headers,\r\n // params: params\r\n // };\r\n // }\r\n // else {\r\n // return {\r\n // headers: headers,\r\n // params: params,\r\n // body: options.body\r\n // };\r\n // }\r\n }\r\n\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AXHttpService } from './http.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: [HttpClientModule],\r\n providers: [\r\n AXHttpService\r\n ]\r\n})\r\nexport class AXHttpModule {\r\n // static forRoot(): ModuleWithProviders {\r\n // return {\r\n // ngModule: AXHttpModule,\r\n // providers: [AXHttpService]\r\n // };\r\n // }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, NgModule } from '@angular/core';
4
- import { CommonModule } from '@angular/common';
3
+ import { Injectable } from '@angular/core';
5
4
 
6
5
  class AXImageService {
7
6
  constructor() { }
@@ -41,29 +40,15 @@ class AXImageService {
41
40
  }
42
41
  }
43
42
  AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
44
- AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService });
43
+ AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, providedIn: 'root' });
45
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, decorators: [{
46
- type: Injectable
45
+ type: Injectable,
46
+ args: [{ providedIn: 'root' }]
47
47
  }], ctorParameters: function () { return []; } });
48
48
 
49
- class AXImageModule {
50
- }
51
- AXImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
52
- AXImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, imports: [CommonModule] });
53
- AXImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, providers: [AXImageService], imports: [CommonModule] });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, decorators: [{
55
- type: NgModule,
56
- args: [{
57
- declarations: [],
58
- imports: [CommonModule],
59
- exports: [],
60
- providers: [AXImageService],
61
- }]
62
- }] });
63
-
64
49
  /**
65
50
  * Generated bundle index. Do not edit.
66
51
  */
67
52
 
68
- export { AXImageModule, AXImageService };
53
+ export { AXImageService };
69
54
  //# sourceMappingURL=acorex-core-image.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-image.mjs","sources":["../../../../projects/acorex/core/image/src/image.service.ts","../../../../projects/acorex/core/image/src/image.module.ts","../../../../projects/acorex/core/image/acorex-core-image.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AXImageService {\r\n constructor() { }\r\n\r\n\r\n async resize(options: { maxSize: number, source: HTMLImageElement | File, type?: 'image/png' | 'image/jpeg' | 'image/webp', quality?: number }): Promise<Blob> {\r\n debugger\r\n options = Object.assign({ type: 'image/png', quality: 1 }, options);\r\n\r\n let image: HTMLImageElement;\r\n if (options.source instanceof File) {\r\n var a = new Image()\r\n a.src = URL.createObjectURL(options.source);\r\n await new Promise<Event>((res) => a.onload = res);\r\n image = a;\r\n }\r\n else {\r\n image = options.source;\r\n }\r\n\r\n // Resize the image\r\n var canvas = document.createElement('canvas'),\r\n width = image.width,\r\n height = image.height;\r\n if (width > height) {\r\n if (width > options.maxSize) {\r\n height *= options.maxSize / width;\r\n width = options.maxSize;\r\n }\r\n } else {\r\n if (height > options.maxSize) {\r\n width *= options.maxSize / height;\r\n height = options.maxSize;\r\n }\r\n }\r\n canvas.width = width;\r\n canvas.height = height;\r\n canvas.getContext('2d').drawImage(image, 0, 0, width, height);\r\n return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));\r\n }\r\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXImageService } from './image.service';\n\n\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n exports: [],\n providers: [AXImageService],\n})\nexport class AXImageModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-image.mjs","sources":["../../../../projects/acorex/core/image/src/image.service.ts","../../../../projects/acorex/core/image/acorex-core-image.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXImageService {\r\n constructor() { }\r\n\r\n\r\n async resize(options: { maxSize: number, source: HTMLImageElement | File, type?: 'image/png' | 'image/jpeg' | 'image/webp', quality?: number }): Promise<Blob> {\r\n debugger\r\n options = Object.assign({ type: 'image/png', quality: 1 }, options);\r\n\r\n let image: HTMLImageElement;\r\n if (options.source instanceof File) {\r\n var a = new Image()\r\n a.src = URL.createObjectURL(options.source);\r\n await new Promise<Event>((res) => a.onload = res);\r\n image = a;\r\n }\r\n else {\r\n image = options.source;\r\n }\r\n\r\n // Resize the image\r\n var canvas = document.createElement('canvas'),\r\n width = image.width,\r\n height = image.height;\r\n if (width > height) {\r\n if (width > options.maxSize) {\r\n height *= options.maxSize / width;\r\n width = options.maxSize;\r\n }\r\n } else {\r\n if (height > options.maxSize) {\r\n width *= options.maxSize / height;\r\n height = options.maxSize;\r\n }\r\n }\r\n canvas.width = width;\r\n canvas.height = height;\r\n canvas.getContext('2d').drawImage(image, 0, 0, width, height);\r\n return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAGa,cAAc,CAAA;AACvB,IAAA,WAAA,GAAA,GAAiB;AAGX,IAAA,MAAM,CAAC,OAAiI,EAAA;;AAC1I,YAAA,SAAQ;AACR,YAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAEpE,YAAA,IAAI,KAAuB,CAAC;AAC5B,YAAA,IAAI,OAAO,CAAC,MAAM,YAAY,IAAI,EAAE;AAChC,gBAAA,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAA;gBACnB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5C,gBAAA,MAAM,IAAI,OAAO,CAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;gBAClD,KAAK,GAAG,CAAC,CAAC;AACb,aAAA;AACI,iBAAA;AACD,gBAAA,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;AAC1B,aAAA;;YAGD,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EACzC,KAAK,GAAG,KAAK,CAAC,KAAK,EACnB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,KAAK,GAAG,MAAM,EAAE;AAChB,gBAAA,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE;AACzB,oBAAA,MAAM,IAAI,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;AAClC,oBAAA,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;AAC3B,iBAAA;AACJ,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE;AAC1B,oBAAA,KAAK,IAAI,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;AAClC,oBAAA,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;AAC5B,iBAAA;AACJ,aAAA;AACD,YAAA,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,YAAA,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;AACvB,YAAA,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;SAC1F,CAAA,CAAA;AAAA,KAAA;;2GAtCQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA,CAAA;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACFlC;;AAEG;;;;"}
@@ -142,11 +142,11 @@ class AXPlatform {
142
142
  }
143
143
  }
144
144
  AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
145
- AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, providedIn: 'platform' });
145
+ AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, providedIn: 'root' });
146
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, decorators: [{
147
147
  type: Injectable,
148
148
  args: [{
149
- providedIn: 'platform',
149
+ providedIn: 'root',
150
150
  }]
151
151
  }], ctorParameters: function () { return []; } });
152
152
 
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent {\r\n nativeEvent!: UIEvent | Event;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'platform',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent {\r\n nativeEvent!: UIEvent | Event;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule } from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import * as i1 from '@angular/common/http';
5
- import { CommonModule } from '@angular/common';
6
5
 
7
6
  class AXFileDownloadRef extends Promise {
8
7
  constructor(executor) {
@@ -78,6 +77,14 @@ class AXFileUploadRef extends Promise {
78
77
  class AXFileService {
79
78
  constructor(_httpClient) {
80
79
  this._httpClient = _httpClient;
80
+ this.blobToBase64 = (blob) => new Promise((resolve, reject) => {
81
+ const reader = new FileReader;
82
+ reader.onerror = reject;
83
+ reader.onload = () => {
84
+ resolve(reader.result);
85
+ };
86
+ reader.readAsDataURL(blob);
87
+ });
81
88
  }
82
89
  download(request) {
83
90
  let s;
@@ -142,29 +149,15 @@ class AXFileService {
142
149
  }
143
150
  }
144
151
  AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
145
- AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService });
152
+ AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, providedIn: 'root' });
146
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileService, decorators: [{
147
- type: Injectable
154
+ type: Injectable,
155
+ args: [{ providedIn: 'root' }]
148
156
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
149
157
 
150
- class AXFileModule {
151
- }
152
- AXFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
153
- AXFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, imports: [CommonModule] });
154
- AXFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, providers: [AXFileService], imports: [CommonModule] });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, decorators: [{
156
- type: NgModule,
157
- args: [{
158
- declarations: [],
159
- imports: [CommonModule],
160
- exports: [],
161
- providers: [AXFileService],
162
- }]
163
- }] });
164
-
165
158
  /**
166
159
  * Generated bundle index. Do not edit.
167
160
  */
168
161
 
169
- export { AXFileDownloadRef, AXFileDownloadResult, AXFileModule, AXFileService, AXFileUploadRef };
162
+ export { AXFileDownloadRef, AXFileDownloadResult, AXFileService, AXFileUploadRef };
170
163
  //# sourceMappingURL=acorex-core-file.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-file.mjs","sources":["../../../../projects/acorex/core/file/src/file-download-ref.class.ts","../../../../projects/acorex/core/file/src/file-download-result.class.ts","../../../../projects/acorex/core/file/src/file-upload-ref.class.ts","../../../../projects/acorex/core/file/src/file.service.ts","../../../../projects/acorex/core/file/src/file.module.ts","../../../../projects/acorex/core/file/acorex-core-file.ts"],"sourcesContent":["import { AXFileDownloadResult } from \"./file-download-result.class\";\r\n\r\nexport class AXFileDownloadRef extends Promise<AXFileDownloadResult>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<AXFileDownloadResult>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","export class AXFileDownloadResult {\r\n\r\n _response: Blob;\r\n\r\n constructor(response: Blob) {\r\n this._response = response;\r\n }\r\n\r\n save(filename?: string): Promise<void> {\r\n this._defaultBrowserDownload(filename);\r\n return Promise.resolve();\r\n // else {\r\n // return new Promise((resolve, reject) => {\r\n // const button = document.createElement(\"button\");\r\n // button.addEventListener('click', async () => {\r\n // debugger\r\n // button.remove();\r\n // const opts = {\r\n // types: [{\r\n // description: 'Save File',\r\n // suggestedName: filename\r\n // // accept: {'text/plain': ['.txt']},\r\n // }],\r\n // };\r\n // const result = await window['showSaveFilePicker'](opts);\r\n // console.log(result);\r\n\r\n // resolve();\r\n // });\r\n // button.click();\r\n // });\r\n\r\n // }\r\n }\r\n\r\n\r\n blob() {\r\n return this._response;\r\n }\r\n\r\n base64(): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n var reader = new window.FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = (e) => reject(e);\r\n reader.readAsDataURL(this._response);\r\n })\r\n }\r\n\r\n private _defaultBrowserDownload(filename: string = 'download') {\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(this._response);\r\n link.download = filename;\r\n link.click();\r\n }\r\n}","export class AXFileUploadRef<T = any> extends Promise<T>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<T>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","import { HttpClient, HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AXFileDownloadRef } from './file-download-ref.class';\r\nimport { AXFileDownloadResult } from './file-download-result.class';\r\nimport { AXFileUploadRef } from './file-upload-ref.class';\r\n\r\n\r\n@Injectable()\r\nexport class AXFileService {\r\n constructor(private _httpClient: HttpClient) { }\r\n\r\n public download(request: string | Observable<Blob>): AXFileDownloadRef {\r\n let s: Subscription;\r\n const promiseFunc = (resolve, reject) => {\r\n //TODO: add custome http request\r\n //const headers = new HttpHeaders().set('authorization','Bearer '+token);\r\n let b: Observable<Blob>;\r\n if (typeof request === 'string') {\r\n b = this._httpClient.get(request, { responseType: 'blob' });\r\n }\r\n else if (b instanceof Observable<Blob>) {\r\n b = request;\r\n }\r\n s = b?.subscribe({\r\n next: (v) => resolve(new AXFileDownloadResult(v)),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileDownloadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n\r\n return a;\r\n }\r\n\r\n public upload<T = any>(url: string, files: File[]): AXFileUploadRef<T> {\r\n let s: Subscription;\r\n let formData = new FormData();\r\n files.forEach(f => {\r\n formData.append(\"files\", f);\r\n })\r\n const promiseFunc = (resolve, reject) => {\r\n let b: Observable<T>;\r\n b = this._httpClient.post<T>(url, formData);\r\n\r\n s = b?.subscribe({\r\n next: (v) => resolve(v),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileUploadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n return a;\r\n }\r\n\r\n public choose(options?: { accept?: string, multiple?: boolean }): Promise<File[]> {\r\n return new Promise<File[]>((resolve, reject) => {\r\n options = Object.assign({ multiple: false }, options);\r\n const input = document.createElement(\"input\");\r\n input.type = 'file';\r\n input.accept = options.accept;\r\n input.multiple = options.multiple;\r\n input.onchange = () => {\r\n resolve(Array.from(input.files));\r\n input.remove();\r\n }\r\n input.onerror = (e) => {\r\n reject(e);\r\n input.remove();\r\n };\r\n input.click();\r\n });\r\n }\r\n}\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXFileService } from './file.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [AXFileService],\r\n})\r\nexport class AXFileModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-file.mjs","sources":["../../../../projects/acorex/core/file/src/file-download-ref.class.ts","../../../../projects/acorex/core/file/src/file-download-result.class.ts","../../../../projects/acorex/core/file/src/file-upload-ref.class.ts","../../../../projects/acorex/core/file/src/file.service.ts","../../../../projects/acorex/core/file/acorex-core-file.ts"],"sourcesContent":["import { AXFileDownloadResult } from \"./file-download-result.class\";\r\n\r\nexport class AXFileDownloadRef extends Promise<AXFileDownloadResult>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<AXFileDownloadResult>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","export class AXFileDownloadResult {\r\n\r\n _response: Blob;\r\n\r\n constructor(response: Blob) {\r\n this._response = response;\r\n }\r\n\r\n save(filename?: string): Promise<void> {\r\n this._defaultBrowserDownload(filename);\r\n return Promise.resolve();\r\n // else {\r\n // return new Promise((resolve, reject) => {\r\n // const button = document.createElement(\"button\");\r\n // button.addEventListener('click', async () => {\r\n // debugger\r\n // button.remove();\r\n // const opts = {\r\n // types: [{\r\n // description: 'Save File',\r\n // suggestedName: filename\r\n // // accept: {'text/plain': ['.txt']},\r\n // }],\r\n // };\r\n // const result = await window['showSaveFilePicker'](opts);\r\n // console.log(result);\r\n\r\n // resolve();\r\n // });\r\n // button.click();\r\n // });\r\n\r\n // }\r\n }\r\n\r\n\r\n blob() {\r\n return this._response;\r\n }\r\n\r\n base64(): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n var reader = new window.FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = (e) => reject(e);\r\n reader.readAsDataURL(this._response);\r\n })\r\n }\r\n\r\n private _defaultBrowserDownload(filename: string = 'download') {\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(this._response);\r\n link.download = filename;\r\n link.click();\r\n }\r\n}","export class AXFileUploadRef<T = any> extends Promise<T>\r\n{\r\n public abortMethod: () => void;\r\n constructor(executor: (resolve: (value?: PromiseLike<T>) => void, reject: (reason?: any) => void) => void) {\r\n super(executor);\r\n\r\n }\r\n //abort the operation\r\n public abort() {\r\n if (this.abortMethod) {\r\n this.abortMethod();\r\n }\r\n }\r\n}","import { HttpClient, HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AXFileDownloadRef } from './file-download-ref.class';\r\nimport { AXFileDownloadResult } from './file-download-result.class';\r\nimport { AXFileUploadRef } from './file-upload-ref.class';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXFileService {\r\n constructor(private _httpClient: HttpClient) { }\r\n\r\n public download(request: string | Observable<Blob>): AXFileDownloadRef {\r\n let s: Subscription;\r\n const promiseFunc = (resolve, reject) => {\r\n //TODO: add custome http request\r\n //const headers = new HttpHeaders().set('authorization','Bearer '+token);\r\n let b: Observable<Blob>;\r\n if (typeof request === 'string') {\r\n b = this._httpClient.get(request, { responseType: 'blob' });\r\n }\r\n else if (b instanceof Observable<Blob>) {\r\n b = request;\r\n }\r\n s = b?.subscribe({\r\n next: (v) => resolve(new AXFileDownloadResult(v)),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileDownloadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n\r\n return a;\r\n }\r\n\r\n public upload<T = any>(url: string, files: File[]): AXFileUploadRef<T> {\r\n let s: Subscription;\r\n let formData = new FormData();\r\n files.forEach(f => {\r\n formData.append(\"files\", f);\r\n })\r\n const promiseFunc = (resolve, reject) => {\r\n let b: Observable<T>;\r\n b = this._httpClient.post<T>(url, formData);\r\n\r\n s = b?.subscribe({\r\n next: (v) => resolve(v),\r\n error: (e) => reject(e)\r\n })\r\n };\r\n\r\n const a = new AXFileUploadRef(promiseFunc);\r\n a.abort = () => {\r\n s?.unsubscribe();\r\n };\r\n return a;\r\n }\r\n\r\n public choose(options?: { accept?: string, multiple?: boolean }): Promise<File[]> {\r\n return new Promise<File[]>((resolve, reject) => {\r\n options = Object.assign({ multiple: false }, options);\r\n const input = document.createElement(\"input\");\r\n input.type = 'file';\r\n input.accept = options.accept;\r\n input.multiple = options.multiple;\r\n input.onchange = () => {\r\n resolve(Array.from(input.files));\r\n input.remove();\r\n }\r\n input.onerror = (e) => {\r\n reject(e);\r\n input.remove();\r\n };\r\n input.click();\r\n });\r\n }\r\n\r\n blobToBase64 = (blob: Blob) => new Promise<string>((resolve, reject) => {\r\n const reader = new FileReader;\r\n reader.onerror = reject;\r\n reader.onload = () => {\r\n resolve(reader.result as string);\r\n };\r\n reader.readAsDataURL(blob);\r\n });\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -163,9 +163,10 @@ class AXHttpService {
163
163
  }
164
164
  }
165
165
  AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
166
- AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService });
166
+ AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, providedIn: 'root' });
167
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXHttpService, decorators: [{
168
- type: Injectable
168
+ type: Injectable,
169
+ args: [{ providedIn: 'root' }]
169
170
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
170
171
 
171
172
  class AXHttpModule {
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-http.mjs","sources":["../../../../projects/acorex/core/http/src/http-events.interceptor.ts","../../../../projects/acorex/core/http/src/http-result.class.ts","../../../../projects/acorex/core/http/src/http.service.ts","../../../../projects/acorex/core/http/src/http.module.ts","../../../../projects/acorex/core/http/acorex-core-http.ts"],"sourcesContent":["import { IHttpError } from './http-error.class';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\n\r\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\r\n\r\nexport interface AXHttpEventInterceptor {\r\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\r\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\r\n complete(request: AXHttpRequestOptions);\r\n error(request: AXHttpRequestOptions, error: IHttpError);\r\n}\r\n\r\n\r\n","import { IHttpError } from './http-error.class';\r\n\r\nexport class HttpResult<T> {\r\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\r\n constructor(\r\n executor: (\r\n result: (e?: T) => void,\r\n error: (e?: IHttpError) => void,\r\n complete: () => void\r\n ) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.resultAction, this.errorAction, this.completeAction);\r\n }, 50);\r\n }\r\n\r\n private resultAction: (e?: T) => void;\r\n private errorAction: (e?: IHttpError) => void;\r\n private completeAction: () => void;\r\n\r\n result(action: (e?: T) => void): HttpResult<T> { \r\n this.resultAction = action;\r\n return this;\r\n }\r\n error(action: (e?: IHttpError) => void): HttpResult<T> {\r\n this.errorAction = action;\r\n return this;\r\n }\r\n complete(action: () => void): HttpResult<T> {\r\n this.completeAction = action;\r\n return this;\r\n }\r\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResult } from './http-result.class';\r\nimport { IHttpError } from './http-error.class';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\nimport {\r\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\r\n} from './http-events.interceptor';\r\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\r\n// import { of, concat, throwError } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class AXHttpService {\r\n\r\n private interceptor: AXHttpEventInterceptor;\r\n constructor(private http: HttpClient, private injector: Injector) {\r\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\r\n }\r\n\r\n\r\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"get\";\r\n return this.request(config);\r\n }\r\n\r\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"post\";\r\n return this.request(config);\r\n }\r\n\r\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"delete\";\r\n return this.request(config);\r\n }\r\n\r\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"put\";\r\n return this.request(config);\r\n }\r\n\r\n\r\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\r\n return new HttpResult<T>((result?, error?, complete?) => {\r\n this.handleBegin(config).then(c => {\r\n this.http\r\n //TODO: check ts error\r\n //@ts-ignore\r\n .request<T>(config.method, config.url, this.mapOptions(config))\r\n //.pipe(this.retry)\r\n .subscribe(data => {\r\n this.handleResult(data, result, complete, config);\r\n }, c => {\r\n this.handleError(c, error, complete, config);\r\n });\r\n });\r\n })\r\n }\r\n\r\n\r\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\r\n if (this.interceptor) {\r\n this.interceptor.success(config, data).then(c => {\r\n if (result)\r\n result(c);\r\n this.handleComplete(complete, config);\r\n });\r\n }\r\n else {\r\n //\r\n if (result)\r\n result(data);\r\n this.handleComplete(complete, config);\r\n }\r\n }\r\n\r\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\r\n return new Promise((resolve) => {\r\n if (!config.headers)\r\n config.headers = {};\r\n if (!config.params)\r\n config.params = {};\r\n //\r\n if (this.interceptor) {\r\n this.interceptor.begin(config).then(c => {\r\n resolve(c);\r\n });\r\n }\r\n else {\r\n resolve(config)\r\n }\r\n })\r\n }\r\n\r\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\r\n if (complete)\r\n complete();\r\n if (this.interceptor)\r\n this.interceptor.complete(config);\r\n }\r\n\r\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\r\n let r: IHttpError = {\r\n message: c.message,\r\n status: c.status,\r\n code: c.status?.toString(),\r\n handled: false,\r\n error: c.error\r\n }\r\n if (error) {\r\n error(r);\r\n }\r\n if (!r.handled) {\r\n if (this.interceptor)\r\n this.interceptor.error(config, r);\r\n }\r\n this.handleComplete(complete, config);\r\n }\r\n\r\n private mapOptions(options: AXHttpRequestOptions) {\r\n let headers = new HttpHeaders();\r\n\r\n for (const key in options.headers) {\r\n if (options.headers.hasOwnProperty(key)) {\r\n const value = options.headers[key];\r\n headers = headers.set(key, value)\r\n }\r\n }\r\n let params = new HttpParams();\r\n for (const key in options.params) {\r\n if (options.params.hasOwnProperty(key)) {\r\n const value = options.params[key];\r\n params = params.set(key, value);\r\n }\r\n }\r\n return {\r\n headers: headers,\r\n params: params,\r\n body: options.body,\r\n responseType: options.responseType || 'json'\r\n };\r\n // if (options.method == \"get\") {\r\n // return {\r\n // headers: headers,\r\n // params: params\r\n // };\r\n // }\r\n // else {\r\n // return {\r\n // headers: headers,\r\n // params: params,\r\n // body: options.body\r\n // };\r\n // }\r\n }\r\n\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AXHttpService } from './http.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: [HttpClientModule],\r\n providers: [\r\n AXHttpService\r\n ]\r\n})\r\nexport class AXHttpModule {\r\n // static forRoot(): ModuleWithProviders {\r\n // return {\r\n // ngModule: AXHttpModule,\r\n // providers: [AXHttpService]\r\n // };\r\n // }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-http.mjs","sources":["../../../../projects/acorex/core/http/src/http-events.interceptor.ts","../../../../projects/acorex/core/http/src/http-result.class.ts","../../../../projects/acorex/core/http/src/http.service.ts","../../../../projects/acorex/core/http/src/http.module.ts","../../../../projects/acorex/core/http/acorex-core-http.ts"],"sourcesContent":["import { IHttpError } from './http-error.class';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\n\r\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\r\n\r\nexport interface AXHttpEventInterceptor {\r\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\r\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\r\n complete(request: AXHttpRequestOptions);\r\n error(request: AXHttpRequestOptions, error: IHttpError);\r\n}\r\n\r\n\r\n","import { IHttpError } from './http-error.class';\r\n\r\nexport class HttpResult<T> {\r\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\r\n constructor(\r\n executor: (\r\n result: (e?: T) => void,\r\n error: (e?: IHttpError) => void,\r\n complete: () => void\r\n ) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.resultAction, this.errorAction, this.completeAction);\r\n }, 50);\r\n }\r\n\r\n private resultAction: (e?: T) => void;\r\n private errorAction: (e?: IHttpError) => void;\r\n private completeAction: () => void;\r\n\r\n result(action: (e?: T) => void): HttpResult<T> { \r\n this.resultAction = action;\r\n return this;\r\n }\r\n error(action: (e?: IHttpError) => void): HttpResult<T> {\r\n this.errorAction = action;\r\n return this;\r\n }\r\n complete(action: () => void): HttpResult<T> {\r\n this.completeAction = action;\r\n return this;\r\n }\r\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResult } from './http-result.class';\r\nimport { IHttpError } from './http-error.class';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\nimport {\r\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\r\n} from './http-events.interceptor';\r\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\r\n// import { of, concat, throwError } from 'rxjs';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXHttpService {\r\n\r\n private interceptor: AXHttpEventInterceptor;\r\n constructor(private http: HttpClient, private injector: Injector) {\r\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\r\n }\r\n\r\n\r\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"get\";\r\n return this.request(config);\r\n }\r\n\r\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"post\";\r\n return this.request(config);\r\n }\r\n\r\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"delete\";\r\n return this.request(config);\r\n }\r\n\r\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"put\";\r\n return this.request(config);\r\n }\r\n\r\n\r\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\r\n return new HttpResult<T>((result?, error?, complete?) => {\r\n this.handleBegin(config).then(c => {\r\n this.http\r\n //TODO: check ts error\r\n //@ts-ignore\r\n .request<T>(config.method, config.url, this.mapOptions(config))\r\n //.pipe(this.retry)\r\n .subscribe(data => {\r\n this.handleResult(data, result, complete, config);\r\n }, c => {\r\n this.handleError(c, error, complete, config);\r\n });\r\n });\r\n })\r\n }\r\n\r\n\r\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\r\n if (this.interceptor) {\r\n this.interceptor.success(config, data).then(c => {\r\n if (result)\r\n result(c);\r\n this.handleComplete(complete, config);\r\n });\r\n }\r\n else {\r\n //\r\n if (result)\r\n result(data);\r\n this.handleComplete(complete, config);\r\n }\r\n }\r\n\r\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\r\n return new Promise((resolve) => {\r\n if (!config.headers)\r\n config.headers = {};\r\n if (!config.params)\r\n config.params = {};\r\n //\r\n if (this.interceptor) {\r\n this.interceptor.begin(config).then(c => {\r\n resolve(c);\r\n });\r\n }\r\n else {\r\n resolve(config)\r\n }\r\n })\r\n }\r\n\r\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\r\n if (complete)\r\n complete();\r\n if (this.interceptor)\r\n this.interceptor.complete(config);\r\n }\r\n\r\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\r\n let r: IHttpError = {\r\n message: c.message,\r\n status: c.status,\r\n code: c.status?.toString(),\r\n handled: false,\r\n error: c.error\r\n }\r\n if (error) {\r\n error(r);\r\n }\r\n if (!r.handled) {\r\n if (this.interceptor)\r\n this.interceptor.error(config, r);\r\n }\r\n this.handleComplete(complete, config);\r\n }\r\n\r\n private mapOptions(options: AXHttpRequestOptions) {\r\n let headers = new HttpHeaders();\r\n\r\n for (const key in options.headers) {\r\n if (options.headers.hasOwnProperty(key)) {\r\n const value = options.headers[key];\r\n headers = headers.set(key, value)\r\n }\r\n }\r\n let params = new HttpParams();\r\n for (const key in options.params) {\r\n if (options.params.hasOwnProperty(key)) {\r\n const value = options.params[key];\r\n params = params.set(key, value);\r\n }\r\n }\r\n return {\r\n headers: headers,\r\n params: params,\r\n body: options.body,\r\n responseType: options.responseType || 'json'\r\n };\r\n // if (options.method == \"get\") {\r\n // return {\r\n // headers: headers,\r\n // params: params\r\n // };\r\n // }\r\n // else {\r\n // return {\r\n // headers: headers,\r\n // params: params,\r\n // body: options.body\r\n // };\r\n // }\r\n }\r\n\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AXHttpService } from './http.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: [HttpClientModule],\r\n providers: [\r\n AXHttpService\r\n ]\r\n})\r\nexport class AXHttpModule {\r\n // static forRoot(): ModuleWithProviders {\r\n // return {\r\n // ngModule: AXHttpModule,\r\n // providers: [AXHttpService]\r\n // };\r\n // }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
2
+ import { Injectable } from '@angular/core';
4
3
 
5
4
  class AXImageService {
6
5
  constructor() { }
@@ -38,29 +37,15 @@ class AXImageService {
38
37
  }
39
38
  }
40
39
  AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
41
- AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService });
40
+ AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, providedIn: 'root' });
42
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageService, decorators: [{
43
- type: Injectable
42
+ type: Injectable,
43
+ args: [{ providedIn: 'root' }]
44
44
  }], ctorParameters: function () { return []; } });
45
45
 
46
- class AXImageModule {
47
- }
48
- AXImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- AXImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, imports: [CommonModule] });
50
- AXImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, providers: [AXImageService], imports: [CommonModule] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, decorators: [{
52
- type: NgModule,
53
- args: [{
54
- declarations: [],
55
- imports: [CommonModule],
56
- exports: [],
57
- providers: [AXImageService],
58
- }]
59
- }] });
60
-
61
46
  /**
62
47
  * Generated bundle index. Do not edit.
63
48
  */
64
49
 
65
- export { AXImageModule, AXImageService };
50
+ export { AXImageService };
66
51
  //# sourceMappingURL=acorex-core-image.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-image.mjs","sources":["../../../../projects/acorex/core/image/src/image.service.ts","../../../../projects/acorex/core/image/src/image.module.ts","../../../../projects/acorex/core/image/acorex-core-image.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AXImageService {\r\n constructor() { }\r\n\r\n\r\n async resize(options: { maxSize: number, source: HTMLImageElement | File, type?: 'image/png' | 'image/jpeg' | 'image/webp', quality?: number }): Promise<Blob> {\r\n debugger\r\n options = Object.assign({ type: 'image/png', quality: 1 }, options);\r\n\r\n let image: HTMLImageElement;\r\n if (options.source instanceof File) {\r\n var a = new Image()\r\n a.src = URL.createObjectURL(options.source);\r\n await new Promise<Event>((res) => a.onload = res);\r\n image = a;\r\n }\r\n else {\r\n image = options.source;\r\n }\r\n\r\n // Resize the image\r\n var canvas = document.createElement('canvas'),\r\n width = image.width,\r\n height = image.height;\r\n if (width > height) {\r\n if (width > options.maxSize) {\r\n height *= options.maxSize / width;\r\n width = options.maxSize;\r\n }\r\n } else {\r\n if (height > options.maxSize) {\r\n width *= options.maxSize / height;\r\n height = options.maxSize;\r\n }\r\n }\r\n canvas.width = width;\r\n canvas.height = height;\r\n canvas.getContext('2d').drawImage(image, 0, 0, width, height);\r\n return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));\r\n }\r\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXImageService } from './image.service';\n\n\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n exports: [],\n providers: [AXImageService],\n})\nexport class AXImageModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-image.mjs","sources":["../../../../projects/acorex/core/image/src/image.service.ts","../../../../projects/acorex/core/image/acorex-core-image.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXImageService {\r\n constructor() { }\r\n\r\n\r\n async resize(options: { maxSize: number, source: HTMLImageElement | File, type?: 'image/png' | 'image/jpeg' | 'image/webp', quality?: number }): Promise<Blob> {\r\n debugger\r\n options = Object.assign({ type: 'image/png', quality: 1 }, options);\r\n\r\n let image: HTMLImageElement;\r\n if (options.source instanceof File) {\r\n var a = new Image()\r\n a.src = URL.createObjectURL(options.source);\r\n await new Promise<Event>((res) => a.onload = res);\r\n image = a;\r\n }\r\n else {\r\n image = options.source;\r\n }\r\n\r\n // Resize the image\r\n var canvas = document.createElement('canvas'),\r\n width = image.width,\r\n height = image.height;\r\n if (width > height) {\r\n if (width > options.maxSize) {\r\n height *= options.maxSize / width;\r\n width = options.maxSize;\r\n }\r\n } else {\r\n if (height > options.maxSize) {\r\n width *= options.maxSize / height;\r\n height = options.maxSize;\r\n }\r\n }\r\n canvas.width = width;\r\n canvas.height = height;\r\n canvas.getContext('2d').drawImage(image, 0, 0, width, height);\r\n return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAGa,cAAc,CAAA;AACvB,IAAA,WAAA,GAAA,GAAiB;IAGjB,MAAM,MAAM,CAAC,OAAiI,EAAA;AAC1I,QAAA,SAAQ;AACR,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAEpE,QAAA,IAAI,KAAuB,CAAC;AAC5B,QAAA,IAAI,OAAO,CAAC,MAAM,YAAY,IAAI,EAAE;AAChC,YAAA,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAA;YACnB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5C,YAAA,MAAM,IAAI,OAAO,CAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YAClD,KAAK,GAAG,CAAC,CAAC;AACb,SAAA;AACI,aAAA;AACD,YAAA,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;AAC1B,SAAA;;QAGD,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EACzC,KAAK,GAAG,KAAK,CAAC,KAAK,EACnB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,GAAG,MAAM,EAAE;AAChB,YAAA,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE;AACzB,gBAAA,MAAM,IAAI,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;AAClC,gBAAA,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;AAC3B,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE;AAC1B,gBAAA,KAAK,IAAI,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;AAClC,gBAAA,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;AAC5B,aAAA;AACJ,SAAA;AACD,QAAA,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;AACvB,QAAA,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1F;;2GAtCQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA,CAAA;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACFlC;;AAEG;;;;"}
@@ -142,11 +142,11 @@ class AXPlatform {
142
142
  }
143
143
  }
144
144
  AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
145
- AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, providedIn: 'platform' });
145
+ AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, providedIn: 'root' });
146
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXPlatform, decorators: [{
147
147
  type: Injectable,
148
148
  args: [{
149
- providedIn: 'platform',
149
+ providedIn: 'root',
150
150
  }]
151
151
  }], ctorParameters: function () { return []; } });
152
152
 
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent {\r\n nativeEvent!: UIEvent | Event;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'platform',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent {\r\n nativeEvent!: UIEvent | Event;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -2,4 +2,3 @@ export * from './src/file-download-ref.class';
2
2
  export * from './src/file-download-result.class';
3
3
  export * from './src/file-upload-ref.class';
4
4
  export * from './src/file.service';
5
- export * from './src/file.module';
@@ -12,6 +12,7 @@ export declare class AXFileService {
12
12
  accept?: string;
13
13
  multiple?: boolean;
14
14
  }): Promise<File[]>;
15
+ blobToBase64: (blob: Blob) => Promise<string>;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileService, never>;
16
17
  static ɵprov: i0.ɵɵInjectableDeclaration<AXFileService>;
17
18
  }
@@ -1,2 +1 @@
1
1
  export * from './src/image.service';
2
- export * from './src/image.module';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "6.0.10",
3
+ "version": "6.0.15",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { AXFileService } from './file.service';
4
- import * as i0 from "@angular/core";
5
- export class AXFileModule {
6
- }
7
- AXFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- AXFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, imports: [CommonModule] });
9
- AXFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, providers: [AXFileService], imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXFileModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [],
14
- imports: [CommonModule],
15
- exports: [],
16
- providers: [AXFileService],
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9maWxlL3NyYy9maWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksWUFKWCxZQUFZOzBHQUliLFlBQVksYUFGVixDQUFDLGFBQWEsQ0FBQyxZQUZoQixZQUFZOzJGQUliLFlBQVk7a0JBTnhCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYRmlsZVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgICBleHBvcnRzOiBbXSxcclxuICAgIHByb3ZpZGVyczogW0FYRmlsZVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhGaWxlTW9kdWxlIHsgfSJdfQ==
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { AXImageService } from './image.service';
4
- import * as i0 from "@angular/core";
5
- export class AXImageModule {
6
- }
7
- AXImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- AXImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, imports: [CommonModule] });
9
- AXImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, providers: [AXImageService], imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [],
14
- imports: [CommonModule],
15
- exports: [],
16
- providers: [AXImageService],
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvaW1hZ2Uvc3JjL2ltYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVWpELE1BQU0sT0FBTyxhQUFhOzswR0FBYixhQUFhOzJHQUFiLGFBQWEsWUFKWixZQUFZOzJHQUliLGFBQWEsYUFGWCxDQUFDLGNBQWMsQ0FBQyxZQUZqQixZQUFZOzJGQUliLGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhJbWFnZVNlcnZpY2UgfSBmcm9tICcuL2ltYWdlLnNlcnZpY2UnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtdLFxuICAgIHByb3ZpZGVyczogW0FYSW1hZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhJbWFnZU1vZHVsZSB7IH0iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-core-file.d.ts","sourceRoot":"","sources":["../../../../projects/acorex/core/file/acorex-core-file.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../../projects/acorex/core/file/public-api.ts"],"names":[],"mappings":"AAAC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-download-ref.class.d.ts","sourceRoot":"","sources":["../../../../../projects/acorex/core/file/src/file-download-ref.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IAEzD,WAAW,EAAE,MAAM,IAAI,CAAC;gBACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI;IAKrH,KAAK;CAKf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-download-result.class.d.ts","sourceRoot":"","sources":["../../../../../projects/acorex/core/file/src/file-download-result.class.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IAE7B,SAAS,EAAE,IAAI,CAAC;gBAEJ,QAAQ,EAAE,IAAI;IAI1B,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtC,IAAI;IAIJ,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IASzB,OAAO,CAAC,uBAAuB;CAMlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-upload-ref.class.d.ts","sourceRoot":"","sources":["../../../../../projects/acorex/core/file/src/file-upload-ref.class.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAE7C,WAAW,EAAE,MAAM,IAAI,CAAC;gBACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI;IAKlG,KAAK;CAKf"}
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common";
3
- export declare class AXFileModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<AXFileModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXFileModule, never, [typeof i1.CommonModule], never>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<AXFileModule>;
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"file.module.d.ts","sourceRoot":"","sources":["../../../../../projects/acorex/core/file/src/file.module.ts"],"names":[],"mappings":";;AAMA,qBAMa,YAAY;yCAAZ,YAAY;0CAAZ,YAAY;0CAAZ,YAAY;CAAI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../../../../projects/acorex/core/file/src/file.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwC,MAAM,sBAAsB,CAAC;AAExF,OAAO,EAAE,UAAU,EAAgB,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;;AAG1D,qBACa,aAAa;IACV,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,UAAU;IAEpC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB;IA0B/D,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;IAuB/D,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;yCApDxE,aAAa;6CAAb,aAAa;CAsEzB"}
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common";
3
- export declare class AXImageModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<AXImageModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXImageModule, never, [typeof i1.CommonModule], never>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<AXImageModule>;
7
- }