@acorex/core 7.1.0 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/index.d.ts +5 -5
- package/config/public-api.d.ts +1 -1
- package/config/src/configs.d.ts +9 -9
- package/dateTime/index.d.ts +5 -5
- package/dateTime/public-api.d.ts +5 -5
- package/dateTime/src/datetime.class.d.ts +100 -100
- package/dateTime/src/datetime.module.d.ts +8 -8
- package/dateTime/src/datetime.pipe.d.ts +8 -8
- package/dateTime/src/georgian.calendar.d.ts +20 -20
- package/dateTime/src/jalali.calendar.d.ts +35 -35
- package/esm2022/acorex-core.mjs +4 -4
- package/esm2022/config/acorex-core-config.mjs +4 -4
- package/esm2022/config/public-api.mjs +1 -1
- package/esm2022/config/src/configs.mjs +25 -24
- package/esm2022/dateTime/acorex-core-dateTime.mjs +4 -4
- package/esm2022/dateTime/public-api.mjs +5 -5
- package/esm2022/dateTime/src/datetime.class.mjs +294 -294
- package/esm2022/dateTime/src/datetime.module.mjs +40 -39
- package/esm2022/dateTime/src/datetime.pipe.mjs +27 -26
- package/esm2022/dateTime/src/georgian.calendar.mjs +186 -186
- package/esm2022/dateTime/src/jalali.calendar.mjs +356 -356
- package/esm2022/events/acorex-core-events.mjs +4 -4
- package/esm2022/events/public-api.mjs +1 -1
- package/esm2022/events/src/event.service.mjs +35 -34
- package/esm2022/file/acorex-core-file.mjs +4 -4
- package/esm2022/file/public-api.mjs +4 -4
- package/esm2022/file/src/file-download-ref.class.mjs +12 -12
- package/esm2022/file/src/file-download-result.class.mjs +46 -46
- package/esm2022/file/src/file-upload-ref.class.mjs +12 -12
- package/esm2022/file/src/file.service.mjs +103 -102
- package/esm2022/http/acorex-core-http.mjs +4 -4
- package/esm2022/http/public-api.mjs +5 -5
- package/esm2022/http/src/http-error.class.mjs +1 -1
- package/esm2022/http/src/http-events.interceptor.mjs +2 -2
- package/esm2022/http/src/http-request.class.mjs +1 -1
- package/esm2022/http/src/http-result.class.mjs +24 -24
- package/esm2022/http/src/http.module.mjs +30 -29
- package/esm2022/http/src/http.service.mjs +152 -151
- package/esm2022/image/acorex-core-image.mjs +4 -4
- package/esm2022/image/public-api.mjs +1 -1
- package/esm2022/image/src/image.service.mjs +44 -43
- package/esm2022/pipes/acorex-core-pipes.mjs +4 -4
- package/esm2022/pipes/public-api.mjs +2 -2
- package/esm2022/pipes/src/pipes.module.mjs +20 -19
- package/esm2022/pipes/src/safe.pipe.mjs +32 -31
- package/esm2022/platform/acorex-core-platform.mjs +4 -4
- package/esm2022/platform/public-api.mjs +1 -1
- package/esm2022/platform/src/platform.service.mjs +152 -159
- package/esm2022/public-api.mjs +4 -4
- package/esm2022/translation/acorex-core-translation.mjs +4 -4
- package/esm2022/translation/public-api.mjs +3 -3
- package/esm2022/translation/src/translation.module.mjs +19 -18
- package/esm2022/translation/src/translator.mjs +44 -43
- package/esm2022/translation/src/translator.pipe.mjs +16 -15
- package/esm2022/utils/acorex-core-utils.mjs +4 -4
- package/esm2022/utils/public-api.mjs +5 -5
- package/esm2022/utils/src/color-util.mjs +114 -114
- package/esm2022/utils/src/drawing-util.mjs +29 -29
- package/esm2022/utils/src/html-util.mjs +15 -15
- package/esm2022/utils/src/object-util.mjs +38 -38
- package/esm2022/utils/src/string-util.mjs +18 -18
- package/events/index.d.ts +5 -5
- package/events/public-api.d.ts +1 -1
- package/events/src/event.service.d.ts +9 -9
- package/fesm2022/acorex-core-config.mjs +22 -22
- package/fesm2022/acorex-core-config.mjs.map +1 -1
- package/fesm2022/acorex-core-dateTime.mjs +882 -882
- package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
- package/fesm2022/acorex-core-events.mjs +32 -32
- package/fesm2022/acorex-core-events.mjs.map +1 -1
- package/fesm2022/acorex-core-file.mjs +162 -162
- package/fesm2022/acorex-core-file.mjs.map +1 -1
- package/fesm2022/acorex-core-http.mjs +190 -190
- package/fesm2022/acorex-core-http.mjs.map +1 -1
- package/fesm2022/acorex-core-image.mjs +41 -41
- package/fesm2022/acorex-core-image.mjs.map +1 -1
- package/fesm2022/acorex-core-pipes.mjs +41 -41
- package/fesm2022/acorex-core-pipes.mjs.map +1 -1
- package/fesm2022/acorex-core-platform.mjs +147 -155
- package/fesm2022/acorex-core-platform.mjs.map +1 -1
- package/fesm2022/acorex-core-translation.mjs +63 -63
- package/fesm2022/acorex-core-translation.mjs.map +1 -1
- package/fesm2022/acorex-core-utils.mjs +209 -209
- package/fesm2022/acorex-core.mjs +5 -5
- package/file/index.d.ts +5 -5
- package/file/public-api.d.ts +4 -4
- package/file/src/file-download-ref.class.d.ts +6 -6
- package/file/src/file-download-result.class.d.ts +8 -8
- package/file/src/file-upload-ref.class.d.ts +5 -5
- package/file/src/file.service.d.ts +18 -18
- package/http/index.d.ts +5 -5
- package/http/public-api.d.ts +5 -5
- package/http/src/http-error.class.d.ts +7 -7
- package/http/src/http-events.interceptor.d.ts +10 -10
- package/http/src/http-request.class.d.ts +14 -14
- package/http/src/http-result.class.d.ts +11 -11
- package/http/src/http.module.d.ts +8 -8
- package/http/src/http.service.d.ts +23 -23
- package/image/index.d.ts +5 -5
- package/image/public-api.d.ts +1 -1
- package/image/src/image.service.d.ts +12 -12
- package/index.d.ts +5 -5
- package/package.json +7 -7
- package/pipes/index.d.ts +5 -5
- package/pipes/public-api.d.ts +2 -2
- package/pipes/src/pipes.module.d.ts +8 -8
- package/pipes/src/safe.pipe.d.ts +10 -10
- package/platform/index.d.ts +5 -5
- package/platform/public-api.d.ts +1 -1
- package/platform/src/platform.service.d.ts +26 -26
- package/public-api.d.ts +1 -1
- package/translation/index.d.ts +5 -5
- package/translation/public-api.d.ts +3 -3
- package/translation/src/translation.module.d.ts +7 -7
- package/translation/src/translator.d.ts +11 -11
- package/translation/src/translator.pipe.d.ts +7 -7
- package/utils/index.d.ts +5 -5
- package/utils/public-api.d.ts +5 -5
- package/utils/src/color-util.d.ts +23 -23
- package/utils/src/drawing-util.d.ts +18 -18
- package/utils/src/html-util.d.ts +4 -4
- package/utils/src/object-util.d.ts +4 -4
- package/utils/src/string-util.d.ts +6 -6
@@ -1,29 +1,30 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { CommonModule } from '@angular/common';
|
3
|
-
import { HttpClientModule } from '@angular/common/http';
|
4
|
-
import { AXHttpService } from './http.service';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
|
9
|
-
HttpClientModule], exports: [HttpClientModule] });
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpModule, providers: [
|
11
|
-
AXHttpService
|
12
|
-
], imports: [CommonModule,
|
13
|
-
HttpClientModule, HttpClientModule] });
|
14
|
-
}
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { HttpClientModule } from '@angular/common/http';
|
4
|
+
import { AXHttpService } from './http.service';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
class AXHttpModule {
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
|
9
|
+
HttpClientModule], exports: [HttpClientModule] });
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpModule, providers: [
|
11
|
+
AXHttpService
|
12
|
+
], imports: [CommonModule,
|
13
|
+
HttpClientModule, HttpClientModule] });
|
14
|
+
}
|
15
|
+
export { AXHttpModule };
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpModule, decorators: [{
|
17
|
+
type: NgModule,
|
18
|
+
args: [{
|
19
|
+
declarations: [],
|
20
|
+
imports: [
|
21
|
+
CommonModule,
|
22
|
+
HttpClientModule
|
23
|
+
],
|
24
|
+
exports: [HttpClientModule],
|
25
|
+
providers: [
|
26
|
+
AXHttpService
|
27
|
+
]
|
28
|
+
}]
|
29
|
+
}] });
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9odHRwL3NyYy9odHRwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUcvQyxNQVdhLFlBQVk7dUdBQVosWUFBWTt3R0FBWixZQUFZLFlBUnJCLFlBQVk7WUFDWixnQkFBZ0IsYUFFUixnQkFBZ0I7d0dBS2YsWUFBWSxhQUpaO1lBQ1QsYUFBYTtTQUNkLFlBTkMsWUFBWTtZQUNaLGdCQUFnQixFQUVSLGdCQUFnQjs7U0FLZixZQUFZOzJGQUFaLFlBQVk7a0JBWHhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFNBQVMsRUFBRTt3QkFDVCxhQUFhO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQVhIdHRwU2VydmljZSB9IGZyb20gJy4vaHR0cC5zZXJ2aWNlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0h0dHBDbGllbnRNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQVhIdHRwU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYSHR0cE1vZHVsZSB7XHJcbiAgLy8gc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XHJcbiAgLy8gICByZXR1cm4ge1xyXG4gIC8vICAgICBuZ01vZHVsZTogQVhIdHRwTW9kdWxlLFxyXG4gIC8vICAgICBwcm92aWRlcnM6IFtBWEh0dHBTZXJ2aWNlXVxyXG4gIC8vICAgfTtcclxuICAvLyB9XHJcbn0iXX0=
|
@@ -1,151 +1,152 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
3
|
-
import { HttpResult } from './http-result.class';
|
4
|
-
import { AX_HTTP_EVENT_INTERCEPTOR } from './http-events.interceptor';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@angular/common/http";
|
7
|
-
// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';
|
8
|
-
// import { of, concat, throwError } from 'rxjs';
|
9
|
-
|
10
|
-
http;
|
11
|
-
injector;
|
12
|
-
interceptor;
|
13
|
-
constructor(http, injector) {
|
14
|
-
this.http = http;
|
15
|
-
this.injector = injector;
|
16
|
-
this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);
|
17
|
-
}
|
18
|
-
get(url, config = {}) {
|
19
|
-
config.url = url;
|
20
|
-
config.method = "get";
|
21
|
-
return this.request(config);
|
22
|
-
}
|
23
|
-
post(url, config = {}) {
|
24
|
-
config.url = url;
|
25
|
-
config.method = "post";
|
26
|
-
return this.request(config);
|
27
|
-
}
|
28
|
-
delete(url, config = {}) {
|
29
|
-
config.url = url;
|
30
|
-
config.method = "delete";
|
31
|
-
return this.request(config);
|
32
|
-
}
|
33
|
-
put(url, config = {}) {
|
34
|
-
config.url = url;
|
35
|
-
config.method = "put";
|
36
|
-
return this.request(config);
|
37
|
-
}
|
38
|
-
request(config) {
|
39
|
-
return new HttpResult((result, error, complete) => {
|
40
|
-
this.handleBegin(config).then(c => {
|
41
|
-
this.http
|
42
|
-
//TODO: check ts error
|
43
|
-
//@ts-ignore
|
44
|
-
.request(config.method, config.url, this.mapOptions(config))
|
45
|
-
//.pipe(this.retry)
|
46
|
-
.subscribe(data => {
|
47
|
-
this.handleResult(data, result, complete, config);
|
48
|
-
}, c => {
|
49
|
-
this.handleError(c, error, complete, config);
|
50
|
-
});
|
51
|
-
});
|
52
|
-
});
|
53
|
-
}
|
54
|
-
handleResult(data, result, complete, config) {
|
55
|
-
if (this.interceptor) {
|
56
|
-
this.interceptor.success(config, data).then(c => {
|
57
|
-
if (result)
|
58
|
-
result(c);
|
59
|
-
this.handleComplete(complete, config);
|
60
|
-
});
|
61
|
-
}
|
62
|
-
else {
|
63
|
-
//
|
64
|
-
if (result)
|
65
|
-
result(data);
|
66
|
-
this.handleComplete(complete, config);
|
67
|
-
}
|
68
|
-
}
|
69
|
-
handleBegin(config) {
|
70
|
-
return new Promise((resolve) => {
|
71
|
-
if (!config.headers)
|
72
|
-
config.headers = {};
|
73
|
-
if (!config.params)
|
74
|
-
config.params = {};
|
75
|
-
//
|
76
|
-
if (this.interceptor) {
|
77
|
-
this.interceptor.begin(config).then(c => {
|
78
|
-
resolve(c);
|
79
|
-
});
|
80
|
-
}
|
81
|
-
else {
|
82
|
-
resolve(config);
|
83
|
-
}
|
84
|
-
});
|
85
|
-
}
|
86
|
-
handleComplete(complete, config) {
|
87
|
-
if (complete)
|
88
|
-
complete();
|
89
|
-
if (this.interceptor)
|
90
|
-
this.interceptor.complete(config);
|
91
|
-
}
|
92
|
-
handleError(c, error, complete, config) {
|
93
|
-
let r = {
|
94
|
-
message: c.message,
|
95
|
-
status: c.status,
|
96
|
-
code: c.status?.toString(),
|
97
|
-
handled: false,
|
98
|
-
error: c.error
|
99
|
-
};
|
100
|
-
if (error) {
|
101
|
-
error(r);
|
102
|
-
}
|
103
|
-
if (!r.handled) {
|
104
|
-
if (this.interceptor)
|
105
|
-
this.interceptor.error(config, r);
|
106
|
-
}
|
107
|
-
this.handleComplete(complete, config);
|
108
|
-
}
|
109
|
-
mapOptions(options) {
|
110
|
-
let headers = new HttpHeaders();
|
111
|
-
for (const key in options.headers) {
|
112
|
-
if (options.headers.hasOwnProperty(key)) {
|
113
|
-
const value = options.headers[key];
|
114
|
-
headers = headers.set(key, value);
|
115
|
-
}
|
116
|
-
}
|
117
|
-
let params = new HttpParams();
|
118
|
-
for (const key in options.params) {
|
119
|
-
if (options.params.hasOwnProperty(key)) {
|
120
|
-
const value = options.params[key];
|
121
|
-
params = params.set(key, value);
|
122
|
-
}
|
123
|
-
}
|
124
|
-
return {
|
125
|
-
headers: headers,
|
126
|
-
params: params,
|
127
|
-
body: options.body,
|
128
|
-
responseType: options.responseType || 'json'
|
129
|
-
};
|
130
|
-
// if (options.method == "get") {
|
131
|
-
// return {
|
132
|
-
// headers: headers,
|
133
|
-
// params: params
|
134
|
-
// };
|
135
|
-
// }
|
136
|
-
// else {
|
137
|
-
// return {
|
138
|
-
// headers: headers,
|
139
|
-
// params: params,
|
140
|
-
// body: options.body
|
141
|
-
// };
|
142
|
-
// }
|
143
|
-
}
|
144
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
145
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpService, providedIn: 'root' });
|
146
|
-
}
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvaHR0cC9zcmMvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxPQUFPLEVBQ0gseUJBQXlCLEVBQzVCLE1BQU0sMkJBQTJCLENBQUM7OztBQUNuQyx1SEFBdUg7QUFDdkgsaURBQWlEO0FBSWpELE1BQU0sT0FBTyxhQUFhO0lBR0Y7SUFBMEI7SUFEdEMsV0FBVyxDQUF5QjtJQUM1QyxZQUFvQixJQUFnQixFQUFVLFFBQWtCO1FBQTVDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBR0QsR0FBRyxDQUFJLEdBQVcsRUFBRSxTQUErQixFQUFFO1FBQ2pELE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxDQUFJLEdBQVcsRUFBRSxTQUErQixFQUFFO1FBQ2xELE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJ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RUFBRSxLQUFLLENBQUMsQ0FBQTthQUNwQztTQUNKO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDcEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ25DO1NBQ0o7UUFDRCxPQUFPO1lBQ0gsT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksTUFBTTtTQUMvQyxDQUFDO1FBQ0YsaUNBQWlDO1FBQ2pDLGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLFNBQVM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUNULGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLDZCQUE2QjtRQUM3QixTQUFTO1FBQ1QsSUFBSTtJQUNSLENBQUM7dUdBakpRLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBJbmplY3RGbGFncyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcywgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEh0dHBSZXN1bHQgfSBmcm9tICcuL2h0dHAtcmVzdWx0LmNsYXNzJztcclxuaW1wb3J0IHsgSUh0dHBFcnJvciB9IGZyb20gJy4vaHR0cC1lcnJvci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYSHR0cFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi9odHRwLXJlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge1xyXG4gICAgQVhfSFRUUF9FVkVOVF9JTlRFUkNFUFRPUiwgQVhIdHRwRXZlbnRJbnRlcmNlcHRvclxyXG59IGZyb20gJy4vaHR0cC1ldmVudHMuaW50ZXJjZXB0b3InO1xyXG4vLyBpbXBvcnQgeyBjYXRjaEVycm9yLCByZXRyeSwgcmV0cnlXaGVuLCBtZXJnZU1hcCwgZGVsYXksIHN3aXRjaE1hcCwgc2NhbiwgdGFrZVdoaWxlLCBmbGF0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG4vLyBpbXBvcnQgeyBvZiwgY29uY2F0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYSHR0cFNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgaW50ZXJjZXB0b3I6IEFYSHR0cEV2ZW50SW50ZXJjZXB0b3I7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgdGhpcy5pbnRlcmNlcHRvciA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYX0hUVFBfRVZFTlRfSU5URVJDRVBUT1IpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBnZXQ8VD4odXJsOiBzdHJpbmcsIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMgPSB7fSk6IEh0dHBSZXN1bHQ8VD4ge1xyXG4gICAgICAgIGNvbmZpZy51cmwgPSB1cmw7XHJcbiAgICAgICAgY29uZmlnLm1ldGhvZCA9IFwiZ2V0XCI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMgPSB7fSk6IEh0dHBSZXN1bHQ8VD4ge1xyXG4gICAgICAgIGNvbmZpZy51cmwgPSB1cmw7XHJcbiAgICAgICAgY29uZmlnLm1ldGhvZCA9IFwicG9zdFwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGU8VD4odXJsOiBzdHJpbmcsIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMgPSB7fSk6IEh0dHBSZXN1bHQ8VD4ge1xyXG4gICAgICAgIGNvbmZpZy51cmwgPSB1cmw7XHJcbiAgICAgICAgY29uZmlnLm1ldGhvZCA9IFwiZGVsZXRlXCI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1dDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcclxuICAgICAgICBjb25maWcubWV0aG9kID0gXCJwdXRcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHJlcXVlc3Q8VD4oY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyk6IEh0dHBSZXN1bHQ8VD4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cFJlc3VsdDxUPigocmVzdWx0PywgZXJyb3I/LCBjb21wbGV0ZT8pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVCZWdpbihjb25maWcpLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgICAgICAgICAvL1RPRE86IGNoZWNrIHRzIGVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlcXVlc3Q8VD4oY29uZmlnLm1ldGhvZCwgY29uZmlnLnVybCwgdGhpcy5tYXBPcHRpb25zKGNvbmZpZykpXHJcbiAgICAgICAgICAgICAgICAgICAgLy8ucGlwZSh0aGlzLnJldHJ5KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzdWx0KGRhdGEsIHJlc3VsdCwgY29tcGxldGUsIGNvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgYyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoYywgZXJyb3IsIGNvbXBsZXRlLCBjb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZVJlc3VsdChkYXRhLCByZXN1bHQsIGNvbXBsZXRlLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJjZXB0b3IpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnRlcmNlcHRvci5zdWNjZXNzKGNvbmZpZywgZGF0YSkudGhlbihjID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0KGMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDb21wbGV0ZShjb21wbGV0ZSwgY29uZmlnKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0KVxyXG4gICAgICAgICAgICAgICAgcmVzdWx0KGRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUJlZ2luKGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPEFYSHR0cFJlcXVlc3RPcHRpb25zPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghY29uZmlnLmhlYWRlcnMpXHJcbiAgICAgICAgICAgICAgICBjb25maWcuaGVhZGVycyA9IHt9O1xyXG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5wYXJhbXMpXHJcbiAgICAgICAgICAgICAgICBjb25maWcucGFyYW1zID0ge307XHJcbiAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmludGVyY2VwdG9yLmJlZ2luKGNvbmZpZykudGhlbihjID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGMpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGNvbmZpZylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVDb21wbGV0ZShjb21wbGV0ZTogRnVuY3Rpb24sIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpIHtcclxuICAgICAgICBpZiAoY29tcGxldGUpXHJcbiAgICAgICAgICAgIGNvbXBsZXRlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJjZXB0b3IpXHJcbiAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3IuY29tcGxldGUoY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUVycm9yKGM6IEh0dHBFcnJvclJlc3BvbnNlLCBlcnJvcjogRnVuY3Rpb24sIGNvbXBsZXRlOiBGdW5jdGlvbiwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xyXG4gICAgICAgIGxldCByOiBJSHR0cEVycm9yID0ge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiBjLm1lc3NhZ2UsXHJcbiAgICAgICAgICAgIHN0YXR1czogYy5zdGF0dXMsXHJcbiAgICAgICAgICAgIGNvZGU6IGMuc3RhdHVzPy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBoYW5kbGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgZXJyb3I6IGMuZXJyb3JcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGVycm9yKHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXIuaGFuZGxlZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pbnRlcmNlcHRvcilcclxuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3IuZXJyb3IoY29uZmlnLCByKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5oYW5kbGVDb21wbGV0ZShjb21wbGV0ZSwgY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG1hcE9wdGlvbnMob3B0aW9uczogQVhIdHRwUmVxdWVzdE9wdGlvbnMpIHtcclxuICAgICAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zLmhlYWRlcnMpIHtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbnMuaGVhZGVyc1trZXldO1xyXG4gICAgICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdmFsdWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucy5wYXJhbXMpIHtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMucGFyYW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucy5wYXJhbXNba2V5XTtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcclxuICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICAgICAgICAgIGJvZHk6IG9wdGlvbnMuYm9keSxcclxuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiBvcHRpb25zLnJlc3BvbnNlVHlwZSB8fCAnanNvbidcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8vIGlmIChvcHRpb25zLm1ldGhvZCA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiB7XHJcbiAgICAgICAgLy8gICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICAgIC8vICAgICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgICAgICAvLyAgICAgfTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gZWxzZSB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiB7XHJcbiAgICAgICAgLy8gICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICAgIC8vICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICAgICAgLy8gICAgICAgICBib2R5OiBvcHRpb25zLmJvZHlcclxuICAgICAgICAvLyAgICAgfTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG59Il19
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
3
|
+
import { HttpResult } from './http-result.class';
|
4
|
+
import { AX_HTTP_EVENT_INTERCEPTOR } from './http-events.interceptor';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@angular/common/http";
|
7
|
+
// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';
|
8
|
+
// import { of, concat, throwError } from 'rxjs';
|
9
|
+
class AXHttpService {
|
10
|
+
http;
|
11
|
+
injector;
|
12
|
+
interceptor;
|
13
|
+
constructor(http, injector) {
|
14
|
+
this.http = http;
|
15
|
+
this.injector = injector;
|
16
|
+
this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);
|
17
|
+
}
|
18
|
+
get(url, config = {}) {
|
19
|
+
config.url = url;
|
20
|
+
config.method = "get";
|
21
|
+
return this.request(config);
|
22
|
+
}
|
23
|
+
post(url, config = {}) {
|
24
|
+
config.url = url;
|
25
|
+
config.method = "post";
|
26
|
+
return this.request(config);
|
27
|
+
}
|
28
|
+
delete(url, config = {}) {
|
29
|
+
config.url = url;
|
30
|
+
config.method = "delete";
|
31
|
+
return this.request(config);
|
32
|
+
}
|
33
|
+
put(url, config = {}) {
|
34
|
+
config.url = url;
|
35
|
+
config.method = "put";
|
36
|
+
return this.request(config);
|
37
|
+
}
|
38
|
+
request(config) {
|
39
|
+
return new HttpResult((result, error, complete) => {
|
40
|
+
this.handleBegin(config).then(c => {
|
41
|
+
this.http
|
42
|
+
//TODO: check ts error
|
43
|
+
//@ts-ignore
|
44
|
+
.request(config.method, config.url, this.mapOptions(config))
|
45
|
+
//.pipe(this.retry)
|
46
|
+
.subscribe(data => {
|
47
|
+
this.handleResult(data, result, complete, config);
|
48
|
+
}, c => {
|
49
|
+
this.handleError(c, error, complete, config);
|
50
|
+
});
|
51
|
+
});
|
52
|
+
});
|
53
|
+
}
|
54
|
+
handleResult(data, result, complete, config) {
|
55
|
+
if (this.interceptor) {
|
56
|
+
this.interceptor.success(config, data).then(c => {
|
57
|
+
if (result)
|
58
|
+
result(c);
|
59
|
+
this.handleComplete(complete, config);
|
60
|
+
});
|
61
|
+
}
|
62
|
+
else {
|
63
|
+
//
|
64
|
+
if (result)
|
65
|
+
result(data);
|
66
|
+
this.handleComplete(complete, config);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
handleBegin(config) {
|
70
|
+
return new Promise((resolve) => {
|
71
|
+
if (!config.headers)
|
72
|
+
config.headers = {};
|
73
|
+
if (!config.params)
|
74
|
+
config.params = {};
|
75
|
+
//
|
76
|
+
if (this.interceptor) {
|
77
|
+
this.interceptor.begin(config).then(c => {
|
78
|
+
resolve(c);
|
79
|
+
});
|
80
|
+
}
|
81
|
+
else {
|
82
|
+
resolve(config);
|
83
|
+
}
|
84
|
+
});
|
85
|
+
}
|
86
|
+
handleComplete(complete, config) {
|
87
|
+
if (complete)
|
88
|
+
complete();
|
89
|
+
if (this.interceptor)
|
90
|
+
this.interceptor.complete(config);
|
91
|
+
}
|
92
|
+
handleError(c, error, complete, config) {
|
93
|
+
let r = {
|
94
|
+
message: c.message,
|
95
|
+
status: c.status,
|
96
|
+
code: c.status?.toString(),
|
97
|
+
handled: false,
|
98
|
+
error: c.error
|
99
|
+
};
|
100
|
+
if (error) {
|
101
|
+
error(r);
|
102
|
+
}
|
103
|
+
if (!r.handled) {
|
104
|
+
if (this.interceptor)
|
105
|
+
this.interceptor.error(config, r);
|
106
|
+
}
|
107
|
+
this.handleComplete(complete, config);
|
108
|
+
}
|
109
|
+
mapOptions(options) {
|
110
|
+
let headers = new HttpHeaders();
|
111
|
+
for (const key in options.headers) {
|
112
|
+
if (options.headers.hasOwnProperty(key)) {
|
113
|
+
const value = options.headers[key];
|
114
|
+
headers = headers.set(key, value);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
let params = new HttpParams();
|
118
|
+
for (const key in options.params) {
|
119
|
+
if (options.params.hasOwnProperty(key)) {
|
120
|
+
const value = options.params[key];
|
121
|
+
params = params.set(key, value);
|
122
|
+
}
|
123
|
+
}
|
124
|
+
return {
|
125
|
+
headers: headers,
|
126
|
+
params: params,
|
127
|
+
body: options.body,
|
128
|
+
responseType: options.responseType || 'json'
|
129
|
+
};
|
130
|
+
// if (options.method == "get") {
|
131
|
+
// return {
|
132
|
+
// headers: headers,
|
133
|
+
// params: params
|
134
|
+
// };
|
135
|
+
// }
|
136
|
+
// else {
|
137
|
+
// return {
|
138
|
+
// headers: headers,
|
139
|
+
// params: params,
|
140
|
+
// body: options.body
|
141
|
+
// };
|
142
|
+
// }
|
143
|
+
}
|
144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
145
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpService, providedIn: 'root' });
|
146
|
+
}
|
147
|
+
export { AXHttpService };
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHttpService, decorators: [{
|
149
|
+
type: Injectable,
|
150
|
+
args: [{ providedIn: 'root' }]
|
151
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvaHR0cC9zcmMvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxPQUFPLEVBQ0gseUJBQXlCLEVBQzVCLE1BQU0sMkJBQTJCLENBQUM7OztBQUNuQyx1SEFBdUg7QUFDdkgsaURBQWlEO0FBR2pELE1BQ2EsYUFBYTtJQUdGO0lBQTBCO0lBRHRDLFdBQVcsQ0FBeUI7SUFDNUMsWUFBb0IsSUFBZ0IsRUFBVSxRQUFrQjtRQUE1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUdELEdBQUcsQ0FBSSxHQUFXLEVBQUUsU0FBK0IsRUFBRTtRQUNqRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksQ0FBSSxHQUFXLEVBQUUsU0FBK0IsRUFBRTtRQUNsRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMs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S0FBSyxDQUFDLENBQUE7YUFDcEM7U0FDSjtRQUNELElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQzlCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNuQztTQUNKO1FBQ0QsT0FBTztZQUNILE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLE1BQU07U0FDL0MsQ0FBQztRQUNGLGlDQUFpQztRQUNqQyxlQUFlO1FBQ2YsNEJBQTRCO1FBQzVCLHlCQUF5QjtRQUN6QixTQUFTO1FBQ1QsSUFBSTtRQUNKLFNBQVM7UUFDVCxlQUFlO1FBQ2YsNEJBQTRCO1FBQzVCLDBCQUEwQjtRQUMxQiw2QkFBNkI7UUFDN0IsU0FBUztRQUNULElBQUk7SUFDUixDQUFDO3VHQWpKUSxhQUFhOzJHQUFiLGFBQWEsY0FEQSxNQUFNOztTQUNuQixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIEluamVjdEZsYWdzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSHR0cFJlc3VsdCB9IGZyb20gJy4vaHR0cC1yZXN1bHQuY2xhc3MnO1xyXG5pbXBvcnQgeyBJSHR0cEVycm9yIH0gZnJvbSAnLi9odHRwLWVycm9yLmNsYXNzJztcclxuaW1wb3J0IHsgQVhIdHRwUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBWF9IVFRQX0VWRU5UX0lOVEVSQ0VQVE9SLCBBWEh0dHBFdmVudEludGVyY2VwdG9yXHJcbn0gZnJvbSAnLi9odHRwLWV2ZW50cy5pbnRlcmNlcHRvcic7XHJcbi8vIGltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5LCByZXRyeVdoZW4sIG1lcmdlTWFwLCBkZWxheSwgc3dpdGNoTWFwLCBzY2FuLCB0YWtlV2hpbGUsIGZsYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbi8vIGltcG9ydCB7IG9mLCBjb25jYXQsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQVhIdHRwU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBpbnRlcmNlcHRvcjogQVhIdHRwRXZlbnRJbnRlcmNlcHRvcjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICB0aGlzLmludGVyY2VwdG9yID0gdGhpcy5pbmplY3Rvci5nZXQoQVhfSFRUUF9FVkVOVF9JTlRFUkNFUFRPUik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcclxuICAgICAgICBjb25maWcubWV0aG9kID0gXCJnZXRcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zdDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcclxuICAgICAgICBjb25maWcubWV0aG9kID0gXCJwb3N0XCI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgY29uZmlnLnVybCA9IHVybDtcclxuICAgICAgICBjb25maWcubWV0aG9kID0gXCJkZWxldGVcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHV0PFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcclxuICAgICAgICBjb25maWcudXJsID0gdXJsO1xyXG4gICAgICAgIGNvbmZpZy5tZXRob2QgPSBcInB1dFwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcmVxdWVzdDxUPihjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKTogSHR0cFJlc3VsdDxUPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwUmVzdWx0PFQ+KChyZXN1bHQ/LCBlcnJvcj8sIGNvbXBsZXRlPykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUJlZ2luKGNvbmZpZykudGhlbihjID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAgICAgICAgIC8vVE9ETzogY2hlY2sgdHMgZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICAucmVxdWVzdDxUPihjb25maWcubWV0aG9kLCBjb25maWcudXJsLCB0aGlzLm1hcE9wdGlvbnMoY29uZmlnKSlcclxuICAgICAgICAgICAgICAgICAgICAvLy5waXBlKHRoaXMucmV0cnkpXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXN1bHQoZGF0YSwgcmVzdWx0LCBjb21wbGV0ZSwgY29uZmlnKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCBjID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihjLCBlcnJvciwgY29tcGxldGUsIGNvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlUmVzdWx0KGRhdGEsIHJlc3VsdCwgY29tcGxldGUsIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpIHtcclxuICAgICAgICBpZiAodGhpcy5pbnRlcmNlcHRvcikge1xyXG4gICAgICAgICAgICB0aGlzLmludGVyY2VwdG9yLnN1Y2Nlc3MoY29uZmlnLCBkYXRhKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQoYyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vXHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQpXHJcbiAgICAgICAgICAgICAgICByZXN1bHQoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29tcGxldGUoY29tcGxldGUsIGNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlQmVnaW4oY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8QVhIdHRwUmVxdWVzdE9wdGlvbnM+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFjb25maWcuaGVhZGVycylcclxuICAgICAgICAgICAgICAgIGNvbmZpZy5oZWFkZXJzID0ge307XHJcbiAgICAgICAgICAgIGlmICghY29uZmlnLnBhcmFtcylcclxuICAgICAgICAgICAgICAgIGNvbmZpZy5wYXJhbXMgPSB7fTtcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgaWYgKHRoaXMuaW50ZXJjZXB0b3IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3IuYmVnaW4oY29uZmlnKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoY29uZmlnKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlOiBGdW5jdGlvbiwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xyXG4gICAgICAgIGlmIChjb21wbGV0ZSlcclxuICAgICAgICAgICAgY29tcGxldGUoKTtcclxuICAgICAgICBpZiAodGhpcy5pbnRlcmNlcHRvcilcclxuICAgICAgICAgICAgdGhpcy5pbnRlcmNlcHRvci5jb21wbGV0ZShjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoYzogSHR0cEVycm9yUmVzcG9uc2UsIGVycm9yOiBGdW5jdGlvbiwgY29tcGxldGU6IEZ1bmN0aW9uLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zKSB7XHJcbiAgICAgICAgbGV0IHI6IElIdHRwRXJyb3IgPSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IGMubWVzc2FnZSxcclxuICAgICAgICAgICAgc3RhdHVzOiBjLnN0YXR1cyxcclxuICAgICAgICAgICAgY29kZTogYy5zdGF0dXM/LnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGhhbmRsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBlcnJvcjogYy5lcnJvclxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICAgICAgZXJyb3Iocik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghci5oYW5kbGVkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcmNlcHRvci5lcnJvcihjb25maWcsIHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlLCBjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbWFwT3B0aW9ucyhvcHRpb25zOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xyXG4gICAgICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMuaGVhZGVycykge1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5oZWFkZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucy5oZWFkZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoa2V5LCB2YWx1ZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zLnBhcmFtcykge1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5wYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLnBhcmFtc1trZXldO1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICAgICAgYm9keTogb3B0aW9ucy5ib2R5LFxyXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6IG9wdGlvbnMucmVzcG9uc2VUeXBlIHx8ICdqc29uJ1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy8gaWYgKG9wdGlvbnMubWV0aG9kID09IFwiZ2V0XCIpIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHtcclxuICAgICAgICAvLyAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgICAgLy8gICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgIC8vICAgICB9O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBlbHNlIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHtcclxuICAgICAgICAvLyAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgICAgLy8gICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICAvLyAgICAgICAgIGJvZHk6IG9wdGlvbnMuYm9keVxyXG4gICAgICAgIC8vICAgICB9O1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbn0iXX0=
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './public-api';
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './public-api';
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9pbWFnZS9hY29yZXgtY29yZS1pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './src/image.service';
|
1
|
+
export * from './src/image.service';
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiBleHBvcnQgKiBmcm9tICcuL3NyYy9pbWFnZS5zZXJ2aWNlJzsiXX0=
|
@@ -1,43 +1,44 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
|
4
|
-
constructor() { }
|
5
|
-
async resize(options) {
|
6
|
-
options = Object.assign({ type: 'image/png', quality: 1 }, options);
|
7
|
-
let image;
|
8
|
-
if (options.source instanceof File) {
|
9
|
-
var a = new Image();
|
10
|
-
a.src = URL.createObjectURL(options.source);
|
11
|
-
await new Promise((res) => a.onload = res);
|
12
|
-
image = a;
|
13
|
-
}
|
14
|
-
else {
|
15
|
-
image = options.source;
|
16
|
-
}
|
17
|
-
// Resize the image
|
18
|
-
var canvas = document.createElement('canvas'), width = image.width, height = image.height;
|
19
|
-
if (width > height) {
|
20
|
-
if (width > options.maxSize) {
|
21
|
-
height *= options.maxSize / width;
|
22
|
-
width = options.maxSize;
|
23
|
-
}
|
24
|
-
}
|
25
|
-
else {
|
26
|
-
if (height > options.maxSize) {
|
27
|
-
width *= options.maxSize / height;
|
28
|
-
height = options.maxSize;
|
29
|
-
}
|
30
|
-
}
|
31
|
-
canvas.width = width;
|
32
|
-
canvas.height = height;
|
33
|
-
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
|
34
|
-
return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
|
35
|
-
}
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
37
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXImageService, providedIn: 'root' });
|
38
|
-
}
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
class AXImageService {
|
4
|
+
constructor() { }
|
5
|
+
async resize(options) {
|
6
|
+
options = Object.assign({ type: 'image/png', quality: 1 }, options);
|
7
|
+
let image;
|
8
|
+
if (options.source instanceof File) {
|
9
|
+
var a = new Image();
|
10
|
+
a.src = URL.createObjectURL(options.source);
|
11
|
+
await new Promise((res) => a.onload = res);
|
12
|
+
image = a;
|
13
|
+
}
|
14
|
+
else {
|
15
|
+
image = options.source;
|
16
|
+
}
|
17
|
+
// Resize the image
|
18
|
+
var canvas = document.createElement('canvas'), width = image.width, height = image.height;
|
19
|
+
if (width > height) {
|
20
|
+
if (width > options.maxSize) {
|
21
|
+
height *= options.maxSize / width;
|
22
|
+
width = options.maxSize;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
if (height > options.maxSize) {
|
27
|
+
width *= options.maxSize / height;
|
28
|
+
height = options.maxSize;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
canvas.width = width;
|
32
|
+
canvas.height = height;
|
33
|
+
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
|
34
|
+
return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
|
35
|
+
}
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
37
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXImageService, providedIn: 'root' });
|
38
|
+
}
|
39
|
+
export { AXImageService };
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXImageService, decorators: [{
|
41
|
+
type: Injectable,
|
42
|
+
args: [{ providedIn: 'root' }]
|
43
|
+
}], ctorParameters: function () { return []; } });
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2ltYWdlL3NyYy9pbWFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQ2EsY0FBYztJQUN2QixnQkFBZ0IsQ0FBQztJQUdqQixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQWlJO1FBQzFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEUsSUFBSSxLQUF1QixDQUFDO1FBQzVCLElBQUksT0FBTyxDQUFDLE1BQU0sWUFBWSxJQUFJLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtZQUNuQixDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sSUFBSSxPQUFPLENBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDbEQsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUNiO2FBQ0k7WUFDRCxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUMxQjtRQUVELG1CQUFtQjtRQUNuQixJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUN6QyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFDbkIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxLQUFLLEdBQUcsTUFBTSxFQUFFO1lBQ2hCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ3pCLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDbEMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDM0I7U0FDSjthQUFNO1lBQ0gsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsS0FBSyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUNsQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUM1QjtTQUNKO1FBQ0QsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQzt1R0FyQ1EsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7U0FDbkIsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWEltYWdlU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuXHJcbiAgICBhc3luYyByZXNpemUob3B0aW9uczogeyBtYXhTaXplOiBudW1iZXIsIHNvdXJjZTogSFRNTEltYWdlRWxlbWVudCB8IEZpbGUsIHR5cGU/OiAnaW1hZ2UvcG5nJyB8ICdpbWFnZS9qcGVnJyB8ICdpbWFnZS93ZWJwJywgcXVhbGl0eT86IG51bWJlciB9KTogUHJvbWlzZTxCbG9iPiB7XHJcbiAgICAgICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oeyB0eXBlOiAnaW1hZ2UvcG5nJywgcXVhbGl0eTogMSB9LCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgbGV0IGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xyXG4gICAgICAgIGlmIChvcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIEZpbGUpIHtcclxuICAgICAgICAgICAgdmFyIGEgPSBuZXcgSW1hZ2UoKVxyXG4gICAgICAgICAgICBhLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwob3B0aW9ucy5zb3VyY2UpO1xyXG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTxFdmVudD4oKHJlcykgPT4gYS5vbmxvYWQgPSByZXMpO1xyXG4gICAgICAgICAgICBpbWFnZSA9IGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpbWFnZSA9IG9wdGlvbnMuc291cmNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUmVzaXplIHRoZSBpbWFnZVxyXG4gICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKSxcclxuICAgICAgICAgICAgd2lkdGggPSBpbWFnZS53aWR0aCxcclxuICAgICAgICAgICAgaGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0O1xyXG4gICAgICAgIGlmICh3aWR0aCA+IGhlaWdodCkge1xyXG4gICAgICAgICAgICBpZiAod2lkdGggPiBvcHRpb25zLm1heFNpemUpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodCAqPSBvcHRpb25zLm1heFNpemUgLyB3aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoID0gb3B0aW9ucy5tYXhTaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGhlaWdodCA+IG9wdGlvbnMubWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGggKj0gb3B0aW9ucy5tYXhTaXplIC8gaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0ID0gb3B0aW9ucy5tYXhTaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoO1xyXG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICAgICAgY2FudmFzLmdldENvbnRleHQoJzJkJykuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCB3aWR0aCwgaGVpZ2h0KTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IGNhbnZhcy50b0Jsb2IocmVzb2x2ZSwgb3B0aW9ucy50eXBlLCBvcHRpb25zLnF1YWxpdHkpKTtcclxuICAgIH1cclxufSJdfQ==
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './public-api';
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './public-api';
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtcGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9waXBlcy9hY29yZXgtY29yZS1waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export * from './src/safe.pipe';
|
2
|
-
export * from './src/pipes.module';
|
1
|
+
export * from './src/safe.pipe';
|
2
|
+
export * from './src/pipes.module';
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3BpcGVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2FmZS5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9waXBlcy5tb2R1bGUnIl19
|
@@ -1,19 +1,20 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { CommonModule } from '@angular/common';
|
3
|
-
import { AXSafePipe } from './safe.pipe';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
7
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
|
8
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
|
9
|
-
}
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { AXSafePipe } from './safe.pipe';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
class AXPipesModule {
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
|
9
|
+
}
|
10
|
+
export { AXPipesModule };
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPipesModule, decorators: [{
|
12
|
+
type: NgModule,
|
13
|
+
args: [{
|
14
|
+
declarations: [AXSafePipe],
|
15
|
+
imports: [CommonModule],
|
16
|
+
exports: [AXSafePipe],
|
17
|
+
providers: [],
|
18
|
+
}]
|
19
|
+
}] });
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvcGlwZXMvc3JjL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUV6QyxNQU1hLGFBQWE7dUdBQWIsYUFBYTt3R0FBYixhQUFhLGlCQUxULFVBQVUsYUFDZixZQUFZLGFBQ1osVUFBVTt3R0FHVCxhQUFhLFlBSmQsWUFBWTs7U0FJWCxhQUFhOzJGQUFiLGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDckIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFNhZmVQaXBlIH0gZnJvbSAnLi9zYWZlLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBWFNhZmVQaXBlXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbQVhTYWZlUGlwZV0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUGlwZXNNb2R1bGUge31cclxuIl19
|