@adaskothebeast/angular-typed-http-client 5.0.0 → 7.0.0
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/fesm2022/adaskothebeast-angular-typed-http-client.mjs +139 -106
- package/fesm2022/adaskothebeast-angular-typed-http-client.mjs.map +1 -1
- package/index.d.ts +74 -4
- package/package.json +4 -4
- package/lib/class-transformer-http-interceptor.d.ts +0 -8
- package/lib/typed-http-client.d.ts +0 -17
- package/lib/typed-http-client.module.d.ts +0 -7
- package/lib/typed-http-request.d.ts +0 -27
|
@@ -1,160 +1,193 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { HttpResponse, HttpRequest, HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
1
|
+
import { HttpContextToken, HttpResponse, provideHttpClient, HTTP_INTERCEPTORS, withInterceptorsFromDi, HttpClient, HttpContext } from '@angular/common/http';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable, NgModule } from '@angular/core';
|
|
5
|
-
import {
|
|
3
|
+
import { Injectable, inject, NgModule } from '@angular/core';
|
|
4
|
+
import { plainToInstance, instanceToPlain } from 'class-transformer';
|
|
6
5
|
import { map } from 'rxjs/operators';
|
|
7
|
-
import {
|
|
6
|
+
import { map as map$1, filter } from 'rxjs';
|
|
8
7
|
import { CommonModule } from '@angular/common';
|
|
9
8
|
|
|
9
|
+
/** Carries the target class type across request clones. */
|
|
10
|
+
const RESPONSE_TYPE_CLASS = new HttpContextToken(() => null);
|
|
11
|
+
|
|
10
12
|
class ClassTransformerHttpInterceptor {
|
|
11
13
|
intercept(req, next) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return next.handle(handledRequest).pipe(map((event) => {
|
|
20
|
-
// Ensure that the request is a TypedHttpRequest and responseTypeClass is defined
|
|
21
|
-
if (event instanceof HttpResponse && isTypedHttpRequest(req)) {
|
|
22
|
-
const responseTypeClass = req.responseTypeClass;
|
|
23
|
-
// This check ensures responseTypeClass is not undefined
|
|
24
|
-
if (responseTypeClass && event.body) {
|
|
25
|
-
const transformedBody = plainToInstance(responseTypeClass, event.body);
|
|
26
|
-
// Replace the response body with the transformed body
|
|
27
|
-
return event.clone({ body: transformedBody });
|
|
28
|
-
}
|
|
14
|
+
const ctor = req.context.get(RESPONSE_TYPE_CLASS);
|
|
15
|
+
return next.handle(req).pipe(map((event) => {
|
|
16
|
+
if (!(event instanceof HttpResponse)) {
|
|
17
|
+
return event;
|
|
18
|
+
}
|
|
19
|
+
if (!ctor || event.body == null) {
|
|
20
|
+
return event;
|
|
29
21
|
}
|
|
30
|
-
|
|
22
|
+
const transformed = plainToInstance(ctor, event.body);
|
|
23
|
+
return event.clone({ body: transformed });
|
|
31
24
|
}));
|
|
32
25
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ClassTransformerHttpInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ClassTransformerHttpInterceptor }); }
|
|
35
28
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ClassTransformerHttpInterceptor, decorators: [{
|
|
37
30
|
type: Injectable
|
|
38
31
|
}] });
|
|
39
|
-
const isTypedHttpRequest = (req) => {
|
|
40
|
-
return (req.responseTypeClass !== undefined);
|
|
41
|
-
};
|
|
42
32
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
33
|
+
/**
|
|
34
|
+
* When set to truthy, request bodies will be serialized with instanceToPlain.
|
|
35
|
+
* - true -> use default class-transformer options
|
|
36
|
+
* - object -> use provided ClassTransformOptions
|
|
37
|
+
* - false (default) -> no serialization
|
|
38
|
+
*/
|
|
39
|
+
const SERIALIZE_REQUEST = new HttpContextToken(() => false);
|
|
40
|
+
|
|
41
|
+
function isNativeBody(b) {
|
|
42
|
+
return (b == null ||
|
|
43
|
+
b instanceof FormData ||
|
|
44
|
+
b instanceof Blob ||
|
|
45
|
+
b instanceof ArrayBuffer ||
|
|
46
|
+
b instanceof URLSearchParams ||
|
|
47
|
+
(typeof ReadableStream !== 'undefined' && b instanceof ReadableStream));
|
|
48
|
+
}
|
|
49
|
+
function ensureJson(headers) {
|
|
50
|
+
if (headers.has('Content-Type'))
|
|
51
|
+
return headers;
|
|
52
|
+
return headers.set('Content-Type', 'application/json; charset=utf-8');
|
|
53
|
+
}
|
|
54
|
+
class ClassTransformerSerializeInterceptor {
|
|
55
|
+
intercept(req, next) {
|
|
56
|
+
const opt = req.context.get(SERIALIZE_REQUEST);
|
|
57
|
+
if (!opt || req.method === 'GET' || isNativeBody(req.body)) {
|
|
58
|
+
return next.handle(req);
|
|
55
59
|
}
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
const options = opt === true ? undefined : opt;
|
|
61
|
+
const plain = instanceToPlain(req.body, options);
|
|
62
|
+
return next.handle(req.clone({
|
|
63
|
+
body: plain,
|
|
64
|
+
headers: ensureJson(req.headers),
|
|
65
|
+
}));
|
|
58
66
|
}
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ClassTransformerSerializeInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ClassTransformerSerializeInterceptor }); }
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ClassTransformerSerializeInterceptor, decorators: [{
|
|
71
|
+
type: Injectable
|
|
72
|
+
}] });
|
|
73
|
+
|
|
74
|
+
function provideTypedHttpClient() {
|
|
75
|
+
return [
|
|
76
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
77
|
+
{
|
|
78
|
+
provide: HTTP_INTERCEPTORS,
|
|
79
|
+
useClass: ClassTransformerSerializeInterceptor,
|
|
80
|
+
multi: true,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
provide: HTTP_INTERCEPTORS,
|
|
84
|
+
useClass: ClassTransformerHttpInterceptor,
|
|
85
|
+
multi: true,
|
|
86
|
+
},
|
|
87
|
+
];
|
|
59
88
|
}
|
|
60
89
|
|
|
90
|
+
const isHttpResponse = (e) => e instanceof HttpResponse;
|
|
61
91
|
class TypedHttpClient {
|
|
62
|
-
constructor(
|
|
63
|
-
this.httpClient =
|
|
92
|
+
constructor() {
|
|
93
|
+
this.httpClient = inject(HttpClient);
|
|
64
94
|
}
|
|
65
|
-
getResponse(url,
|
|
66
|
-
|
|
67
|
-
responseTypeClass: responseTypeClass,
|
|
68
|
-
});
|
|
69
|
-
return this.httpClient
|
|
70
|
-
.request(httpRequest)
|
|
71
|
-
.pipe(filter((event) => event instanceof HttpResponse));
|
|
95
|
+
getResponse(url, ctor, options = {}) {
|
|
96
|
+
return this.requestResponse('GET', url, undefined, ctor, options);
|
|
72
97
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
responseTypeClass: responseTypeClass,
|
|
76
|
-
});
|
|
77
|
-
return this.httpClient.request(httpRequest).pipe(filter((event) => event instanceof HttpResponse), map$1((event) => event.body));
|
|
98
|
+
postResponse(url, body, ctor, options = {}) {
|
|
99
|
+
return this.requestResponse('POST', url, body, ctor, options);
|
|
78
100
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
responseTypeClass: responseTypeClass,
|
|
82
|
-
});
|
|
83
|
-
return this.httpClient
|
|
84
|
-
.request(httpRequest)
|
|
85
|
-
.pipe(filter((event) => event instanceof HttpResponse));
|
|
101
|
+
putResponse(url, body, ctor, options = {}) {
|
|
102
|
+
return this.requestResponse('PUT', url, body, ctor, options);
|
|
86
103
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
responseTypeClass: responseTypeClass,
|
|
90
|
-
});
|
|
91
|
-
return this.httpClient.request(httpRequest).pipe(filter((event) => event instanceof HttpResponse), map$1((event) => event.body));
|
|
104
|
+
patchResponse(url, body, ctor, options = {}) {
|
|
105
|
+
return this.requestResponse('PATCH', url, body, ctor, options);
|
|
92
106
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
responseTypeClass: responseTypeClass,
|
|
96
|
-
});
|
|
97
|
-
return this.httpClient
|
|
98
|
-
.request(httpRequest)
|
|
99
|
-
.pipe(filter((event) => event instanceof HttpResponse));
|
|
107
|
+
deleteResponse(url, ctor, options = {}) {
|
|
108
|
+
return this.requestResponse('DELETE', url, undefined, ctor, options);
|
|
100
109
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return this.
|
|
110
|
+
// -------------------
|
|
111
|
+
// Existing body-only methods (now built on top of *Response)
|
|
112
|
+
// -------------------
|
|
113
|
+
get(url, ctor, options = {}) {
|
|
114
|
+
return this.getResponse(url, ctor, options).pipe(map$1((r) => r.body));
|
|
106
115
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
responseTypeClass: responseTypeClass,
|
|
110
|
-
});
|
|
111
|
-
return this.httpClient
|
|
112
|
-
.request(httpRequest)
|
|
113
|
-
.pipe(filter((event) => event instanceof HttpResponse));
|
|
116
|
+
post(url, body, ctor, options = {}) {
|
|
117
|
+
return this.postResponse(url, body, ctor, options).pipe(map$1((r) => r.body));
|
|
114
118
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
responseTypeClass: responseTypeClass,
|
|
118
|
-
});
|
|
119
|
-
return this.httpClient.request(httpRequest).pipe(filter((event) => event instanceof HttpResponse), map$1((event) => event.body));
|
|
119
|
+
put(url, body, ctor, options = {}) {
|
|
120
|
+
return this.putResponse(url, body, ctor, options).pipe(map$1((r) => r.body));
|
|
120
121
|
}
|
|
121
|
-
|
|
122
|
-
|
|
122
|
+
patch(url, body, ctor, options = {}) {
|
|
123
|
+
return this.patchResponse(url, body, ctor, options).pipe(map$1((r) => r.body));
|
|
124
|
+
}
|
|
125
|
+
delete(url, ctor, options = {}) {
|
|
126
|
+
return this.deleteResponse(url, ctor, options).pipe(map$1((r) => r.body));
|
|
127
|
+
}
|
|
128
|
+
requestResponse(method, url, body, ctor, options) {
|
|
129
|
+
const context = (options.context ?? new HttpContext())
|
|
130
|
+
.set(RESPONSE_TYPE_CLASS, ctor)
|
|
131
|
+
.set(SERIALIZE_REQUEST, options.serialize ?? true);
|
|
132
|
+
return this.httpClient
|
|
133
|
+
.request(method, url, {
|
|
134
|
+
...options,
|
|
135
|
+
body,
|
|
136
|
+
context,
|
|
137
|
+
observe: 'response',
|
|
138
|
+
})
|
|
139
|
+
.pipe(filter((isHttpResponse)));
|
|
140
|
+
}
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TypedHttpClient, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
142
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TypedHttpClient, providedIn: 'root' }); }
|
|
123
143
|
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TypedHttpClient, decorators: [{
|
|
125
145
|
type: Injectable,
|
|
126
146
|
args: [{
|
|
127
147
|
providedIn: 'root',
|
|
128
148
|
}]
|
|
129
|
-
}]
|
|
149
|
+
}] });
|
|
130
150
|
|
|
131
151
|
class TypedHttpClientModule {
|
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
133
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
134
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TypedHttpClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
153
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: TypedHttpClientModule, imports: [CommonModule] }); }
|
|
154
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TypedHttpClientModule, providers: [
|
|
155
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
156
|
+
{
|
|
157
|
+
provide: HTTP_INTERCEPTORS,
|
|
158
|
+
useClass: ClassTransformerSerializeInterceptor,
|
|
159
|
+
multi: true,
|
|
160
|
+
},
|
|
135
161
|
{
|
|
136
162
|
provide: HTTP_INTERCEPTORS,
|
|
137
163
|
useClass: ClassTransformerHttpInterceptor,
|
|
138
164
|
multi: true,
|
|
139
165
|
},
|
|
140
|
-
provideHttpClient(withInterceptorsFromDi()),
|
|
141
166
|
], imports: [CommonModule] }); }
|
|
142
167
|
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TypedHttpClientModule, decorators: [{
|
|
144
169
|
type: NgModule,
|
|
145
|
-
args: [{
|
|
170
|
+
args: [{
|
|
171
|
+
imports: [CommonModule],
|
|
172
|
+
providers: [
|
|
173
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
174
|
+
{
|
|
175
|
+
provide: HTTP_INTERCEPTORS,
|
|
176
|
+
useClass: ClassTransformerSerializeInterceptor,
|
|
177
|
+
multi: true,
|
|
178
|
+
},
|
|
146
179
|
{
|
|
147
180
|
provide: HTTP_INTERCEPTORS,
|
|
148
181
|
useClass: ClassTransformerHttpInterceptor,
|
|
149
182
|
multi: true,
|
|
150
183
|
},
|
|
151
|
-
|
|
152
|
-
|
|
184
|
+
],
|
|
185
|
+
}]
|
|
153
186
|
}] });
|
|
154
187
|
|
|
155
188
|
/**
|
|
156
189
|
* Generated bundle index. Do not edit.
|
|
157
190
|
*/
|
|
158
191
|
|
|
159
|
-
export { ClassTransformerHttpInterceptor, TypedHttpClient, TypedHttpClientModule,
|
|
192
|
+
export { ClassTransformerHttpInterceptor, ClassTransformerSerializeInterceptor, RESPONSE_TYPE_CLASS, SERIALIZE_REQUEST, TypedHttpClient, TypedHttpClientModule, provideTypedHttpClient };
|
|
160
193
|
//# sourceMappingURL=adaskothebeast-angular-typed-http-client.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaskothebeast-angular-typed-http-client.mjs","sources":["../../../../libs/angular-typed-http-client/src/lib/class-transformer-http-interceptor.ts","../../../../libs/angular-typed-http-client/src/lib/typed-http-request.ts","../../../../libs/angular-typed-http-client/src/lib/typed-http-client.ts","../../../../libs/angular-typed-http-client/src/lib/typed-http-client.module.ts","../../../../libs/angular-typed-http-client/src/adaskothebeast-angular-typed-http-client.ts"],"sourcesContent":["import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { instanceToPlain, plainToInstance } from 'class-transformer';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { TypedHttpRequest } from './typed-http-request';\n\n@Injectable()\nexport class ClassTransformerHttpInterceptor implements HttpInterceptor {\n intercept(\n req: HttpRequest<unknown>,\n next: HttpHandler,\n ): Observable<HttpEvent<unknown>> {\n let handledRequest = req;\n\n // Transform the request body for POST and PUT methods\n if (\n ['POST', 'PUT', 'PATCH'].includes(req.method) &&\n req.body) {\n const plainBody = instanceToPlain(req.body);\n handledRequest = req.clone({ body: plainBody });\n }\n\n return next.handle(handledRequest).pipe(\n map((event: HttpEvent<unknown>) => {\n // Ensure that the request is a TypedHttpRequest and responseTypeClass is defined\n if (event instanceof HttpResponse && isTypedHttpRequest(req)) {\n const responseTypeClass = req.responseTypeClass;\n // This check ensures responseTypeClass is not undefined\n if (responseTypeClass && event.body) {\n const transformedBody = plainToInstance(\n responseTypeClass,\n event.body,\n );\n // Replace the response body with the transformed body\n return event.clone({ body: transformedBody });\n }\n }\n return event;\n }),\n );\n }\n}\n\nconst isTypedHttpRequest = (\n req: HttpRequest<unknown>,\n): req is TypedHttpRequest<unknown, unknown> => {\n return (\n (req as TypedHttpRequest<unknown, unknown>).responseTypeClass !== undefined\n );\n};\n","import { HttpContext, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';\n\nexport class TypedHttpRequest<T, K> extends HttpRequest<unknown> {\n responseTypeClass?: new (...args: unknown[]) => K;\n\n constructor(\n method: string,\n url: string,\n thirdParam?:\n | T\n | null\n | {\n headers?: HttpHeaders;\n context?: HttpContext;\n reportProgress?: boolean;\n params?: HttpParams;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n transferCache?:\n | {\n includeHeaders?: string[];\n }\n | boolean;\n responseTypeClass?: new (...args: unknown[]) => K;\n },\n fourthParam?: {\n headers?: HttpHeaders;\n context?: HttpContext;\n reportProgress?: boolean;\n params?: HttpParams;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n transferCache?:\n | {\n includeHeaders?: string[];\n }\n | boolean;\n responseTypeClass?: new (...args: unknown[]) => K;\n },\n ) {\n // Determine if the third parameter is the body or init based on method\n let body: unknown = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let init: any = {};\n\n if (['POST', 'PUT', 'PATCH'].includes(method.toUpperCase())) {\n body = thirdParam;\n init = fourthParam;\n } else {\n init = thirdParam;\n }\n\n super(method, url, body, init);\n\n this.responseTypeClass = init?.responseTypeClass;\n }\n}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { TypedHttpRequest } from './typed-http-request';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TypedHttpClient {\n constructor(private httpClient: HttpClient) {}\n\n getResponse<T, K>(\n url: string,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<HttpResponse<K>> {\n const httpRequest = new TypedHttpRequest<T, K>('GET', url, {\n responseTypeClass: responseTypeClass,\n });\n return this.httpClient\n .request<K>(httpRequest)\n .pipe(filter((event) => event instanceof HttpResponse)) as Observable<\n HttpResponse<K>\n >;\n }\n\n get<T, K>(\n url: string,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<K> {\n const httpRequest = new TypedHttpRequest<T, K>('GET', url, {\n responseTypeClass: responseTypeClass,\n });\n\n return this.httpClient.request<K>(httpRequest).pipe(\n filter((event) => event instanceof HttpResponse),\n map((event) => (event as HttpResponse<K>).body as K),\n );\n }\n\n postResponse<T, K>(\n url: string,\n body: T,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<HttpResponse<K>> {\n const httpRequest = new TypedHttpRequest<T, K>('POST', url, body, {\n responseTypeClass: responseTypeClass,\n });\n return this.httpClient\n .request<K>(httpRequest)\n .pipe(filter((event) => event instanceof HttpResponse)) as Observable<\n HttpResponse<K>\n >;\n }\n\n post<T, K>(\n url: string,\n body: T,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<K> {\n const httpRequest = new TypedHttpRequest<T, K>('POST', url, body, {\n responseTypeClass: responseTypeClass,\n });\n return this.httpClient.request<K>(httpRequest).pipe(\n filter((event) => event instanceof HttpResponse),\n map((event) => (event as HttpResponse<K>).body as K),\n );\n }\n\n putResponse<T, K>(\n url: string,\n body: T,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<HttpResponse<K>> {\n const httpRequest = new TypedHttpRequest<T, K>('PUT', url, body, {\n responseTypeClass: responseTypeClass,\n });\n return this.httpClient\n .request<K>(httpRequest)\n .pipe(filter((event) => event instanceof HttpResponse)) as Observable<\n HttpResponse<K>\n >;\n }\n\n put<T, K>(\n url: string,\n body: T,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<K> {\n const httpRequest = new TypedHttpRequest<T, K>('PUT', url, body, {\n responseTypeClass: responseTypeClass,\n });\n return this.httpClient.request<K>(httpRequest).pipe(\n filter((event) => event instanceof HttpResponse),\n map((event) => (event as HttpResponse<K>).body as K),\n );\n }\n\n patchResponse<T, K>(\n url: string,\n body: T,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<HttpResponse<K>> {\n const httpRequest = new TypedHttpRequest<T, K>('PATCH', url, body, {\n responseTypeClass: responseTypeClass,\n });\n return this.httpClient\n .request<K>(httpRequest)\n .pipe(filter((event) => event instanceof HttpResponse)) as Observable<\n HttpResponse<K>\n >;\n }\n\n patch<T, K>(\n url: string,\n body: T,\n responseTypeClass: new (...args: unknown[]) => K,\n ): Observable<K> {\n const httpRequest = new TypedHttpRequest<T, K>('PATCH', url, body, {\n responseTypeClass: responseTypeClass,\n });\n return this.httpClient.request<K>(httpRequest).pipe(\n filter((event) => event instanceof HttpResponse),\n map((event) => (event as HttpResponse<K>).body as K),\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\n\nimport { ClassTransformerHttpInterceptor } from './class-transformer-http-interceptor';\n\n@NgModule({ imports: [CommonModule], providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ClassTransformerHttpInterceptor,\n multi: true,\n },\n provideHttpClient(withInterceptorsFromDi()),\n ] })\nexport class TypedHttpClientModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map"],"mappings":";;;;;;;;;MASa,+BAA+B,CAAA;IAC1C,SAAS,CACP,GAAyB,EACzB,IAAiB,EAAA;QAEjB,IAAI,cAAc,GAAG,GAAG;;AAGxB,QAAA,IACE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7C,GAAG,CAAC,IAAI,EAAE;YACV,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3C,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AAGjD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CACrC,GAAG,CAAC,CAAC,KAAyB,KAAI;;YAEhC,IAAI,KAAK,YAAY,YAAY,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE;AAC5D,gBAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC,iBAAiB;;AAE/C,gBAAA,IAAI,iBAAiB,IAAI,KAAK,CAAC,IAAI,EAAE;oBACnC,MAAM,eAAe,GAAG,eAAe,CACrC,iBAAiB,EACjB,KAAK,CAAC,IAAI,CACX;;oBAED,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;;AAGjD,YAAA,OAAO,KAAK;SACb,CAAC,CACH;;8GAhCQ,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/B,+BAA+B,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C;;AAqCD,MAAM,kBAAkB,GAAG,CACzB,GAAyB,KACoB;AAC7C,IAAA,QACG,GAA0C,CAAC,iBAAiB,KAAK,SAAS;AAE/E,CAAC;;ACjDK,MAAO,gBAAuB,SAAQ,WAAoB,CAAA;AAG9D,IAAA,WAAA,CACE,MAAc,EACd,GAAW,EACX,UAgBK,EACL,WAaC,EAAA;;QAGD,IAAI,IAAI,GAAY,IAAI;;QAExB,IAAI,IAAI,GAAQ,EAAE;AAElB,QAAA,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;YAC3D,IAAI,GAAG,UAAU;YACjB,IAAI,GAAG,WAAW;;aACb;YACL,IAAI,GAAG,UAAU;;QAGnB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;AAE9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,EAAE,iBAAiB;;AAEnD;;MC/CY,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU;;IAE9B,WAAW,CACT,GAAW,EACX,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,KAAK,EAAE,GAAG,EAAE;AACzD,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;QACF,OAAO,IAAI,CAAC;aACT,OAAO,CAAI,WAAW;AACtB,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,CAEvD;;IAGH,GAAG,CACD,GAAW,EACX,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,KAAK,EAAE,GAAG,EAAE;AACzD,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,WAAW,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,EAChDA,KAAG,CAAC,CAAC,KAAK,KAAM,KAAyB,CAAC,IAAS,CAAC,CACrD;;AAGH,IAAA,YAAY,CACV,GAAW,EACX,IAAO,EACP,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AAChE,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;QACF,OAAO,IAAI,CAAC;aACT,OAAO,CAAI,WAAW;AACtB,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,CAEvD;;AAGH,IAAA,IAAI,CACF,GAAW,EACX,IAAO,EACP,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AAChE,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,WAAW,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,EAChDA,KAAG,CAAC,CAAC,KAAK,KAAM,KAAyB,CAAC,IAAS,CAAC,CACrD;;AAGH,IAAA,WAAW,CACT,GAAW,EACX,IAAO,EACP,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;AAC/D,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;QACF,OAAO,IAAI,CAAC;aACT,OAAO,CAAI,WAAW;AACtB,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,CAEvD;;AAGH,IAAA,GAAG,CACD,GAAW,EACX,IAAO,EACP,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;AAC/D,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,WAAW,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,EAChDA,KAAG,CAAC,CAAC,KAAK,KAAM,KAAyB,CAAC,IAAS,CAAC,CACrD;;AAGH,IAAA,aAAa,CACX,GAAW,EACX,IAAO,EACP,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;AACjE,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;QACF,OAAO,IAAI,CAAC;aACT,OAAO,CAAI,WAAW;AACtB,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,CAEvD;;AAGH,IAAA,KAAK,CACH,GAAW,EACX,IAAO,EACP,iBAAgD,EAAA;QAEhD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAO,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;AACjE,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,WAAW,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,YAAY,CAAC,EAChDA,KAAG,CAAC,CAAC,KAAK,KAAM,KAAyB,CAAC,IAAS,CAAC,CACrD;;8GAnHQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCMY,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YARZ,YAAY,CAAA,EAAA,CAAA,CAAA;AAQrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EARc,SAAA,EAAA;AACxC,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;YACD,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;AAC9C,SAAA,EAAA,OAAA,EAAA,CAPiB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAQrB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE;AACxC,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,+BAA+B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;wBACD,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;qBAC9C,EAAE;;;ACbP;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"adaskothebeast-angular-typed-http-client.mjs","sources":["../tmp-esm2022/lib/tokens.js","../tmp-esm2022/lib/class-transformer-http.interceptor.js","../tmp-esm2022/lib/serialize-token.js","../tmp-esm2022/lib/class-transformer-serialize.interceptor.js","../tmp-esm2022/lib/provide-typed-http-client.js","../tmp-esm2022/lib/typed-http-client.js","../tmp-esm2022/lib/typed-http-client.module.js","../tmp-esm2022/adaskothebeast-angular-typed-http-client.js"],"sourcesContent":["import { HttpContextToken } from '@angular/common/http';\n/** Carries the target class type across request clones. */\nexport const RESPONSE_TYPE_CLASS = new HttpContextToken(() => null);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXR5cGVkLWh0dHAtY2xpZW50L3NyYy9saWIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXhELDJEQUEyRDtBQUMzRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGdCQUFnQixDQUNyRCxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDb250ZXh0VG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCB0eXBlIEN0b3I8VD4gPSBuZXcgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gVDtcblxuLyoqIENhcnJpZXMgdGhlIHRhcmdldCBjbGFzcyB0eXBlIGFjcm9zcyByZXF1ZXN0IGNsb25lcy4gKi9cbmV4cG9ydCBjb25zdCBSRVNQT05TRV9UWVBFX0NMQVNTID0gbmV3IEh0dHBDb250ZXh0VG9rZW48Q3Rvcjx1bmtub3duPiB8IG51bGw+KFxuICAoKSA9PiBudWxsLFxuKTtcbiJdfQ==","import { HttpResponse, } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { plainToInstance } from 'class-transformer';\nimport { map } from 'rxjs/operators';\nimport { RESPONSE_TYPE_CLASS } from './tokens';\nimport * as i0 from \"@angular/core\";\nexport class ClassTransformerHttpInterceptor {\n intercept(req, next) {\n const ctor = req.context.get(RESPONSE_TYPE_CLASS);\n return next.handle(req).pipe(map((event) => {\n if (!(event instanceof HttpResponse)) {\n return event;\n }\n if (!ctor || event.body == null) {\n return event;\n }\n const transformed = plainToInstance(ctor, event.body);\n return event.clone({ body: transformed });\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ClassTransformerHttpInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ClassTransformerHttpInterceptor }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ClassTransformerHttpInterceptor, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdHJhbnNmb3JtZXItaHR0cC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10eXBlZC1odHRwLWNsaWVudC9zcmMvbGliL2NsYXNzLXRyYW5zZm9ybWVyLWh0dHAuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtMLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRy9DLE1BQU0sT0FBTywrQkFBK0I7SUFDMUMsU0FBUyxDQUNQLEdBQXlCLEVBQ3pCLElBQWlCO1FBRWpCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDckMsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFFRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0FyQlUsK0JBQStCO2tIQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxuICBIdHRwUmVzcG9uc2UsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9JbnN0YW5jZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUkVTUE9OU0VfVFlQRV9DTEFTUyB9IGZyb20gJy4vdG9rZW5zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsYXNzVHJhbnNmb3JtZXJIdHRwSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBpbnRlcmNlcHQoXG4gICAgcmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPixcbiAgICBuZXh0OiBIdHRwSGFuZGxlcixcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBjb25zdCBjdG9yID0gcmVxLmNvbnRleHQuZ2V0KFJFU1BPTlNFX1RZUEVfQ0xBU1MpO1xuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCEoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpKSB7XG4gICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjdG9yIHx8IGV2ZW50LmJvZHkgPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBldmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkID0gcGxhaW5Ub0luc3RhbmNlKGN0b3IsIGV2ZW50LmJvZHkpO1xuICAgICAgICByZXR1cm4gZXZlbnQuY2xvbmUoeyBib2R5OiB0cmFuc2Zvcm1lZCB9KTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","import { HttpContextToken } from '@angular/common/http';\n/**\n * When set to truthy, request bodies will be serialized with instanceToPlain.\n * - true -> use default class-transformer options\n * - object -> use provided ClassTransformOptions\n * - false (default) -> no serialization\n */\nexport const SERIALIZE_REQUEST = new HttpContextToken(() => false);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXR5cGVkLWh0dHAtY2xpZW50L3NyYy9saWIvc2VyaWFsaXplLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FFbkQsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ29udGV4dFRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc1RyYW5zZm9ybU9wdGlvbnMgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogV2hlbiBzZXQgdG8gdHJ1dGh5LCByZXF1ZXN0IGJvZGllcyB3aWxsIGJlIHNlcmlhbGl6ZWQgd2l0aCBpbnN0YW5jZVRvUGxhaW4uXG4gKiAtIHRydWUgIC0+IHVzZSBkZWZhdWx0IGNsYXNzLXRyYW5zZm9ybWVyIG9wdGlvbnNcbiAqIC0gb2JqZWN0IC0+IHVzZSBwcm92aWRlZCBDbGFzc1RyYW5zZm9ybU9wdGlvbnNcbiAqIC0gZmFsc2UgKGRlZmF1bHQpIC0+IG5vIHNlcmlhbGl6YXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFNFUklBTElaRV9SRVFVRVNUID0gbmV3IEh0dHBDb250ZXh0VG9rZW48XG4gIGZhbHNlIHwgdHJ1ZSB8IENsYXNzVHJhbnNmb3JtT3B0aW9uc1xuPigoKSA9PiBmYWxzZSk7XG4iXX0=","import { Injectable } from '@angular/core';\nimport { instanceToPlain } from 'class-transformer';\nimport { SERIALIZE_REQUEST } from './serialize-token';\nimport * as i0 from \"@angular/core\";\nfunction isNativeBody(b) {\n return (b == null ||\n b instanceof FormData ||\n b instanceof Blob ||\n b instanceof ArrayBuffer ||\n b instanceof URLSearchParams ||\n (typeof ReadableStream !== 'undefined' && b instanceof ReadableStream));\n}\nfunction ensureJson(headers) {\n if (headers.has('Content-Type'))\n return headers;\n return headers.set('Content-Type', 'application/json; charset=utf-8');\n}\nexport class ClassTransformerSerializeInterceptor {\n intercept(req, next) {\n const opt = req.context.get(SERIALIZE_REQUEST);\n if (!opt || req.method === 'GET' || isNativeBody(req.body)) {\n return next.handle(req);\n }\n const options = opt === true ? undefined : opt;\n const plain = instanceToPlain(req.body, options);\n return next.handle(req.clone({\n body: plain,\n headers: ensureJson(req.headers),\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ClassTransformerSerializeInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ClassTransformerSerializeInterceptor }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ClassTransformerSerializeInterceptor, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdHJhbnNmb3JtZXItc2VyaWFsaXplLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXR5cGVkLWh0dHAtY2xpZW50L3NyYy9saWIvY2xhc3MtdHJhbnNmb3JtZXItc2VyaWFsaXplLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF5QixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFdEQsU0FBUyxZQUFZLENBQUMsQ0FBVTtJQUM5QixPQUFPLENBQ0wsQ0FBQyxJQUFJLElBQUk7UUFDVCxDQUFDLFlBQVksUUFBUTtRQUNyQixDQUFDLFlBQVksSUFBSTtRQUNqQixDQUFDLFlBQVksV0FBVztRQUN4QixDQUFDLFlBQVksZUFBZTtRQUM1QixDQUFDLE9BQU8sY0FBYyxLQUFLLFdBQVcsSUFBSSxDQUFDLFlBQVksY0FBYyxDQUFDLENBQ3ZFLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsT0FBb0I7SUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUFFLE9BQU8sT0FBTyxDQUFDO0lBQ2hELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztBQUN4RSxDQUFDO0FBR0QsTUFBTSxPQUFPLG9DQUFvQztJQUMvQyxTQUFTLENBQ1AsR0FBeUIsRUFDekIsSUFBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUNYLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWpELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNSLElBQUksRUFBRSxLQUFLO1lBQ1gsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1NBQ2pDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0FwQlUsb0NBQW9DO2tIQUFwQyxvQ0FBb0M7OzJGQUFwQyxvQ0FBb0M7a0JBRGhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NUcmFuc2Zvcm1PcHRpb25zLCBpbnN0YW5jZVRvUGxhaW4gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNFUklBTElaRV9SRVFVRVNUIH0gZnJvbSAnLi9zZXJpYWxpemUtdG9rZW4nO1xuXG5mdW5jdGlvbiBpc05hdGl2ZUJvZHkoYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGIgPT0gbnVsbCB8fFxuICAgIGIgaW5zdGFuY2VvZiBGb3JtRGF0YSB8fFxuICAgIGIgaW5zdGFuY2VvZiBCbG9iIHx8XG4gICAgYiBpbnN0YW5jZW9mIEFycmF5QnVmZmVyIHx8XG4gICAgYiBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcyB8fFxuICAgICh0eXBlb2YgUmVhZGFibGVTdHJlYW0gIT09ICd1bmRlZmluZWQnICYmIGIgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gZW5zdXJlSnNvbihoZWFkZXJzOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcbiAgaWYgKGhlYWRlcnMuaGFzKCdDb250ZW50LVR5cGUnKSkgcmV0dXJuIGhlYWRlcnM7XG4gIHJldHVybiBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnKTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsYXNzVHJhbnNmb3JtZXJTZXJpYWxpemVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGludGVyY2VwdChcbiAgICByZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyLFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xuICAgIGNvbnN0IG9wdCA9IHJlcS5jb250ZXh0LmdldChTRVJJQUxJWkVfUkVRVUVTVCk7XG4gICAgaWYgKCFvcHQgfHwgcmVxLm1ldGhvZCA9PT0gJ0dFVCcgfHwgaXNOYXRpdmVCb2R5KHJlcS5ib2R5KSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9uczogQ2xhc3NUcmFuc2Zvcm1PcHRpb25zIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdCA9PT0gdHJ1ZSA/IHVuZGVmaW5lZCA6IG9wdDtcbiAgICBjb25zdCBwbGFpbiA9IGluc3RhbmNlVG9QbGFpbihyZXEuYm9keSwgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUoXG4gICAgICByZXEuY2xvbmUoe1xuICAgICAgICBib2R5OiBwbGFpbixcbiAgICAgICAgaGVhZGVyczogZW5zdXJlSnNvbihyZXEuaGVhZGVycyksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=","import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, } from '@angular/common/http';\nimport { ClassTransformerHttpInterceptor } from './class-transformer-http.interceptor';\nimport { ClassTransformerSerializeInterceptor } from './class-transformer-serialize.interceptor';\nexport function provideTypedHttpClient() {\n return [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ClassTransformerSerializeInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ClassTransformerHttpInterceptor,\n multi: true,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS10eXBlZC1odHRwLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10eXBlZC1odHRwLWNsaWVudC9zcmMvbGliL3Byb3ZpZGUtdHlwZWQtaHR0cC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsc0JBQXNCLEdBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFakcsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxPQUFPO1FBQ0wsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUMzQztZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsUUFBUSxFQUFFLG9DQUFvQztZQUM5QyxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSwrQkFBK0I7WUFDekMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSFRUUF9JTlRFUkNFUFRPUlMsXG4gIHByb3ZpZGVIdHRwQ2xpZW50LFxuICB3aXRoSW50ZXJjZXB0b3JzRnJvbURpLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xhc3NUcmFuc2Zvcm1lckh0dHBJbnRlcmNlcHRvciB9IGZyb20gJy4vY2xhc3MtdHJhbnNmb3JtZXItaHR0cC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBDbGFzc1RyYW5zZm9ybWVyU2VyaWFsaXplSW50ZXJjZXB0b3IgfSBmcm9tICcuL2NsYXNzLXRyYW5zZm9ybWVyLXNlcmlhbGl6ZS5pbnRlcmNlcHRvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHlwZWRIdHRwQ2xpZW50KCk6IChQcm92aWRlciB8IEVudmlyb25tZW50UHJvdmlkZXJzKVtdIHtcbiAgcmV0dXJuIFtcbiAgICBwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IENsYXNzVHJhbnNmb3JtZXJTZXJpYWxpemVJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICB1c2VDbGFzczogQ2xhc3NUcmFuc2Zvcm1lckh0dHBJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF07XG59XG4iXX0=","import { HttpClient, HttpContext, HttpResponse, } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { filter, map } from 'rxjs';\nimport { SERIALIZE_REQUEST } from './serialize-token';\nimport { RESPONSE_TYPE_CLASS } from './tokens';\nimport * as i0 from \"@angular/core\";\nconst isHttpResponse = (e) => e instanceof HttpResponse;\nexport class TypedHttpClient {\n constructor() {\n this.httpClient = inject(HttpClient);\n }\n getResponse(url, ctor, options = {}) {\n return this.requestResponse('GET', url, undefined, ctor, options);\n }\n postResponse(url, body, ctor, options = {}) {\n return this.requestResponse('POST', url, body, ctor, options);\n }\n putResponse(url, body, ctor, options = {}) {\n return this.requestResponse('PUT', url, body, ctor, options);\n }\n patchResponse(url, body, ctor, options = {}) {\n return this.requestResponse('PATCH', url, body, ctor, options);\n }\n deleteResponse(url, ctor, options = {}) {\n return this.requestResponse('DELETE', url, undefined, ctor, options);\n }\n // -------------------\n // Existing body-only methods (now built on top of *Response)\n // -------------------\n get(url, ctor, options = {}) {\n return this.getResponse(url, ctor, options).pipe(map((r) => r.body));\n }\n post(url, body, ctor, options = {}) {\n return this.postResponse(url, body, ctor, options).pipe(map((r) => r.body));\n }\n put(url, body, ctor, options = {}) {\n return this.putResponse(url, body, ctor, options).pipe(map((r) => r.body));\n }\n patch(url, body, ctor, options = {}) {\n return this.patchResponse(url, body, ctor, options).pipe(map((r) => r.body));\n }\n delete(url, ctor, options = {}) {\n return this.deleteResponse(url, ctor, options).pipe(map((r) => r.body));\n }\n requestResponse(method, url, body, ctor, options) {\n const context = (options.context ?? new HttpContext())\n .set(RESPONSE_TYPE_CLASS, ctor)\n .set(SERIALIZE_REQUEST, options.serialize ?? true);\n return this.httpClient\n .request(method, url, {\n ...options,\n body,\n context,\n observe: 'response',\n })\n .pipe(filter((isHttpResponse)));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: TypedHttpClient, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: TypedHttpClient, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: TypedHttpClient, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtaHR0cC1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdHlwZWQtaHR0cC1jbGllbnQvc3JjL2xpYi90eXBlZC1odHRwLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFHWCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQVEsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBdUJyRCxNQUFNLGNBQWMsR0FBRyxDQUFJLENBQVUsRUFBd0IsRUFBRSxDQUM3RCxDQUFDLFlBQVksWUFBWSxDQUFDO0FBSzVCLE1BQU0sT0FBTyxlQUFlO0lBSDVCO1FBSW1CLGVBQVUsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0F5SDlEO0lBdkhDLFdBQVcsQ0FDVCxHQUFXLEVBQ1gsSUFBYSxFQUNiLFVBQTBCLEVBQUU7UUFFNUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFJLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsWUFBWSxDQUNWLEdBQVcsRUFDWCxJQUFPLEVBQ1AsSUFBYSxFQUNiLFVBQTBCLEVBQUU7UUFFNUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFJLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsV0FBVyxDQUNULEdBQVcsRUFDWCxJQUFPLEVBQ1As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QUU7WUFDdkIsR0FBRyxPQUFPO1lBQ1YsSUFBSTtZQUNKLE9BQU87WUFDUCxPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDO2FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBLGNBQWlCLENBQUEsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0F6SFUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwQ2xpZW50LFxuICBIdHRwQ29udGV4dCxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBQYXJhbXMsXG4gIEh0dHBSZXNwb25zZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFzc1RyYW5zZm9ybU9wdGlvbnMgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lci90eXBlcy9pbnRlcmZhY2VzL2NsYXNzLXRyYW5zZm9ybWVyLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNFUklBTElaRV9SRVFVRVNUIH0gZnJvbSAnLi9zZXJpYWxpemUtdG9rZW4nO1xuaW1wb3J0IHsgQ3RvciwgUkVTUE9OU0VfVFlQRV9DTEFTUyB9IGZyb20gJy4vdG9rZW5zJztcblxudHlwZSBIZWFkZXJJbml0ID0gSHR0cEhlYWRlcnMgfCB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH07XG50eXBlIFBhcmFtSW5pdCA9XG4gIHwgSHR0cFBhcmFtc1xuICB8IHtcbiAgICAgIFtwYXJhbTogc3RyaW5nXTpcbiAgICAgICAgfCBzdHJpbmdcbiAgICAgICAgfCBudW1iZXJcbiAgICAgICAgfCBib29sZWFuXG4gICAgICAgIHwgUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPjtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBSZXF1ZXN0T3B0aW9ucyA9IHtcbiAgaGVhZGVycz86IEhlYWRlckluaXQ7XG4gIHBhcmFtcz86IFBhcmFtSW5pdDtcbiAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gIHJlc3BvbnNlVHlwZT86ICdqc29uJztcbiAgc2VyaWFsaXplPzogYm9vbGVhbiB8IENsYXNzVHJhbnNmb3JtT3B0aW9ucztcbn07XG5cbmNvbnN0IGlzSHR0cFJlc3BvbnNlID0gPEs+KGU6IHVua25vd24pOiBlIGlzIEh0dHBSZXNwb25zZTxLPiA9PlxuICBlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZWRIdHRwQ2xpZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gIGdldFJlc3BvbnNlPEs+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGN0b3I6IEN0b3I8Sz4sXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Sz4+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0UmVzcG9uc2U8Sz4oJ0dFVCcsIHVybCwgdW5kZWZpbmVkLCBjdG9yLCBvcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RSZXNwb25zZTxULCBLPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBULFxuICAgIGN0b3I6IEN0b3I8Sz4sXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Sz4+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0UmVzcG9uc2U8Sz4oJ1BPU1QnLCB1cmwsIGJvZHksIGN0b3IsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHV0UmVzcG9uc2U8VCwgSz4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogVCxcbiAgICBjdG9yOiBDdG9yPEs+LFxuICAgIG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zID0ge30sXG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEs+PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdFJlc3BvbnNlPEs+KCdQVVQnLCB1cmwsIGJvZHksIGN0b3IsIG9wdGlvbnMpO1xuICB9XG5cbiAgcGF0Y2hSZXNwb25zZTxULCBLPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBULFxuICAgIGN0b3I6IEN0b3I8Sz4sXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Sz4+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0UmVzcG9uc2U8Sz4oJ1BBVENIJywgdXJsLCBib2R5LCBjdG9yLCBvcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZVJlc3BvbnNlPEs+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGN0b3I6IEN0b3I8Sz4sXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Sz4+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0UmVzcG9uc2U8Sz4oJ0RFTEVURScsIHVybCwgdW5kZWZpbmVkLCBjdG9yLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRXhpc3RpbmcgYm9keS1vbmx5IG1ldGhvZHMgKG5vdyBidWlsdCBvbiB0b3Agb2YgKlJlc3BvbnNlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGdldDxLPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBjdG9yOiBDdG9yPEs+LFxuICAgIG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zID0ge30sXG4gICk6IE9ic2VydmFibGU8Sz4ge1xuICAgIHJldHVybiB0aGlzLmdldFJlc3BvbnNlPEs+KHVybCwgY3Rvciwgb3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgocikgPT4gci5ib2R5IGFzIEspLFxuICAgICk7XG4gIH1cblxuICBwb3N0PFQsIEs+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IFQsXG4gICAgY3RvcjogQ3RvcjxLPixcbiAgICBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPEs+IHtcbiAgICByZXR1cm4gdGhpcy5wb3N0UmVzcG9uc2U8VCwgSz4odXJsLCBib2R5LCBjdG9yLCBvcHRpb25zKS5waXBlKFxuICAgICAgbWFwKChyKSA9PiByLmJvZHkgYXMgSyksXG4gICAgKTtcbiAgfVxuXG4gIHB1dDxULCBLPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBULFxuICAgIGN0b3I6IEN0b3I8Sz4sXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgcmV0dXJuIHRoaXMucHV0UmVzcG9uc2U8VCwgSz4odXJsLCBib2R5LCBjdG9yLCBvcHRpb25zKS5waXBlKFxuICAgICAgbWFwKChyKSA9PiByLmJvZHkgYXMgSyksXG4gICAgKTtcbiAgfVxuXG4gIHBhdGNoPFQsIEs+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IFQsXG4gICAgY3RvcjogQ3RvcjxLPixcbiAgICBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPEs+IHtcbiAgICByZXR1cm4gdGhpcy5wYXRjaFJlc3BvbnNlPFQsIEs+KHVybCwgYm9keSwgY3Rvciwgb3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgocikgPT4gci5ib2R5IGFzIEspLFxuICAgICk7XG4gIH1cblxuICBkZWxldGU8Sz4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgY3RvcjogQ3RvcjxLPixcbiAgICBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPEs+IHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVSZXNwb25zZTxLPih1cmwsIGN0b3IsIG9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKHIpID0+IHIuYm9keSBhcyBLKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0UmVzcG9uc2U8Sz4oXG4gICAgbWV0aG9kOiAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHVua25vd24gfCB1bmRlZmluZWQsXG4gICAgY3RvcjogQ3RvcjxLPixcbiAgICBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Sz4+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gKG9wdGlvbnMuY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKSlcbiAgICAgIC5zZXQoUkVTUE9OU0VfVFlQRV9DTEFTUywgY3RvcilcbiAgICAgIC5zZXQoU0VSSUFMSVpFX1JFUVVFU1QsIG9wdGlvbnMuc2VyaWFsaXplID8/IHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnJlcXVlc3Q8Sz4obWV0aG9kLCB1cmwsIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgYm9keSxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgIH0pXG4gICAgICAucGlwZShmaWx0ZXIoaXNIdHRwUmVzcG9uc2U8Sz4pKTtcbiAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { ClassTransformerHttpInterceptor } from './class-transformer-http.interceptor';\nimport { ClassTransformerSerializeInterceptor } from './class-transformer-serialize.interceptor';\nimport * as i0 from \"@angular/core\";\nexport class TypedHttpClientModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: TypedHttpClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: TypedHttpClientModule, imports: [CommonModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: TypedHttpClientModule, providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ClassTransformerSerializeInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ClassTransformerHttpInterceptor,\n multi: true,\n },\n ], imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: TypedHttpClientModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n providers: [\n provideHttpClient(withInterceptorsFromDi()),\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ClassTransformerSerializeInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ClassTransformerHttpInterceptor,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtaHR0cC1jbGllbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXR5cGVkLWh0dHAtY2xpZW50L3NyYy9saWIvdHlwZWQtaHR0cC1jbGllbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixzQkFBc0IsR0FDdkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQWtCakcsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsWUFmdEIsWUFBWTsrR0FlWCxxQkFBcUIsYUFkckI7WUFDVCxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzNDO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUFiUyxZQUFZOzsyRkFlWCxxQkFBcUI7a0JBaEJqQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsU0FBUyxFQUFFO3dCQUNULGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLENBQUM7d0JBQzNDOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxvQ0FBb0M7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSwrQkFBK0I7NEJBQ3pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEhUVFBfSU5URVJDRVBUT1JTLFxuICBwcm92aWRlSHR0cENsaWVudCxcbiAgd2l0aEludGVyY2VwdG9yc0Zyb21EaSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xhc3NUcmFuc2Zvcm1lckh0dHBJbnRlcmNlcHRvciB9IGZyb20gJy4vY2xhc3MtdHJhbnNmb3JtZXItaHR0cC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBDbGFzc1RyYW5zZm9ybWVyU2VyaWFsaXplSW50ZXJjZXB0b3IgfSBmcm9tICcuL2NsYXNzLXRyYW5zZm9ybWVyLXNlcmlhbGl6ZS5pbnRlcmNlcHRvcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IENsYXNzVHJhbnNmb3JtZXJTZXJpYWxpemVJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICB1c2VDbGFzczogQ2xhc3NUcmFuc2Zvcm1lckh0dHBJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVkSHR0cENsaWVudE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhc2tvdGhlYmVhc3QtYW5ndWxhci10eXBlZC1odHRwLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10eXBlZC1odHRwLWNsaWVudC9zcmMvYWRhc2tvdGhlYmVhc3QtYW5ndWxhci10eXBlZC1odHRwLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["map"],"mappings":";;;;;;;;AACA;AACY,MAAC,mBAAmB,GAAG,IAAI,gBAAgB,CAAC,MAAM,IAAI;;ACI3D,MAAM,+BAA+B,CAAC;AAC7C,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE;AACzB,QAAQ,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACzD,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AACpD,YAAY,IAAI,EAAE,KAAK,YAAY,YAAY,CAAC,EAAE;AAClD,gBAAgB,OAAO,KAAK;AAC5B;AACA,YAAY,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE;AAC7C,gBAAgB,OAAO,KAAK;AAC5B;AACA,YAAY,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AACjE,YAAY,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACrD,SAAS,CAAC,CAAC;AACX;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAClM,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC;AACrJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE,UAAU,EAAE,CAAC;AACzI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;ACxBb;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,MAAM,KAAK;;ACHjE,SAAS,YAAY,CAAC,CAAC,EAAE;AACzB,IAAI,QAAQ,CAAC,IAAI,IAAI;AACrB,QAAQ,CAAC,YAAY,QAAQ;AAC7B,QAAQ,CAAC,YAAY,IAAI;AACzB,QAAQ,CAAC,YAAY,WAAW;AAChC,QAAQ,CAAC,YAAY,eAAe;AACpC,SAAS,OAAO,cAAc,KAAK,WAAW,IAAI,CAAC,YAAY,cAAc,CAAC;AAC9E;AACA,SAAS,UAAU,CAAC,OAAO,EAAE;AAC7B,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AACnC,QAAQ,OAAO,OAAO;AACtB,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iCAAiC,CAAC;AACzE;AACO,MAAM,oCAAoC,CAAC;AAClD,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE;AACzB,QAAQ,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACtD,QAAQ,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACpE,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACnC;AACA,QAAQ,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,GAAG,SAAS,GAAG,GAAG;AACtD,QAAQ,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;AACxD,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACrC,YAAY,IAAI,EAAE,KAAK;AACvB,YAAY,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;AAC5C,SAAS,CAAC,CAAC;AACX;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACvM,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC,CAAC;AAC1J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,UAAU,EAAE,CAAC;AAC9I,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;AChCN,SAAS,sBAAsB,GAAG;AACzC,IAAI,OAAO;AACX,QAAQ,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;AACnD,QAAQ;AACR,YAAY,OAAO,EAAE,iBAAiB;AACtC,YAAY,QAAQ,EAAE,oCAAoC;AAC1D,YAAY,KAAK,EAAE,IAAI;AACvB,SAAS;AACT,QAAQ;AACR,YAAY,OAAO,EAAE,iBAAiB;AACtC,YAAY,QAAQ,EAAE,+BAA+B;AACrD,YAAY,KAAK,EAAE,IAAI;AACvB,SAAS;AACT,KAAK;AACL;;ACXA,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,YAAY;AAChD,MAAM,eAAe,CAAC;AAC7B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5C;AACA,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACzC,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC;AACzE;AACA,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AAChD,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;AACrE;AACA,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AAC/C,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;AACpE;AACA,IAAI,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACjD,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;AACtE;AACA,IAAI,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AAC5C,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC;AAC5E;AACA;AACA;AACA;AACA,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACjC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E;AACA,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACxC,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACnF;AACA,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACvC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAClF;AACA,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACzC,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACpF;AACA,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACpC,QAAQ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/E;AACA,IAAI,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACtD,QAAQ,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,WAAW,EAAE;AAC7D,aAAa,GAAG,CAAC,mBAAmB,EAAE,IAAI;AAC1C,aAAa,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;AAC9D,QAAQ,OAAO,IAAI,CAAC;AACpB,aAAa,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE;AAClC,YAAY,GAAG,OAAO;AACtB,YAAY,IAAI;AAChB,YAAY,OAAO;AACnB,YAAY,OAAO,EAAE,UAAU;AAC/B,SAAS;AACT,aAAa,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;AAC3C;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAClL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACzJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC3DN,MAAM,qBAAqB,CAAC;AACnC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACjK,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE;AACjJ,YAAY,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;AACvD,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,QAAQ,EAAE,oCAAoC;AAC9D,gBAAgB,KAAK,EAAE,IAAI;AAC3B,aAAa;AACb,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,QAAQ,EAAE,+BAA+B;AACzD,gBAAgB,KAAK,EAAE,IAAI;AAC3B,aAAa;AACb,SAAS,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACtC;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;AAC/H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;AACnE,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,QAAQ,EAAE,oCAAoC;AAC1E,4BAA4B,KAAK,EAAE,IAAI;AACvC,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,QAAQ,EAAE,+BAA+B;AACrE,4BAA4B,KAAK,EAAE,IAAI;AACvC,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACzCb;AACA;AACA;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpContextToken, HttpHeaders, HttpParams, HttpContext, HttpResponse } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Provider, EnvironmentProviders } from '@angular/core';
|
|
5
|
+
import { ClassTransformOptions } from 'class-transformer';
|
|
6
|
+
import { ClassTransformOptions as ClassTransformOptions$1 } from 'class-transformer/types/interfaces/class-transformer-options.interface';
|
|
7
|
+
import * as i1 from '@angular/common';
|
|
8
|
+
|
|
9
|
+
declare class ClassTransformerHttpInterceptor implements HttpInterceptor {
|
|
10
|
+
intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClassTransformerHttpInterceptor, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ClassTransformerHttpInterceptor>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare class ClassTransformerSerializeInterceptor implements HttpInterceptor {
|
|
16
|
+
intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClassTransformerSerializeInterceptor, never>;
|
|
18
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ClassTransformerSerializeInterceptor>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare function provideTypedHttpClient(): (Provider | EnvironmentProviders)[];
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* When set to truthy, request bodies will be serialized with instanceToPlain.
|
|
25
|
+
* - true -> use default class-transformer options
|
|
26
|
+
* - object -> use provided ClassTransformOptions
|
|
27
|
+
* - false (default) -> no serialization
|
|
28
|
+
*/
|
|
29
|
+
declare const SERIALIZE_REQUEST: HttpContextToken<boolean | ClassTransformOptions>;
|
|
30
|
+
|
|
31
|
+
type Ctor<T> = new (...args: unknown[]) => T;
|
|
32
|
+
/** Carries the target class type across request clones. */
|
|
33
|
+
declare const RESPONSE_TYPE_CLASS: HttpContextToken<Ctor<unknown> | null>;
|
|
34
|
+
|
|
35
|
+
type HeaderInit = HttpHeaders | {
|
|
36
|
+
[header: string]: string | string[];
|
|
37
|
+
};
|
|
38
|
+
type ParamInit = HttpParams | {
|
|
39
|
+
[param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
|
|
40
|
+
};
|
|
41
|
+
type RequestOptions = {
|
|
42
|
+
headers?: HeaderInit;
|
|
43
|
+
params?: ParamInit;
|
|
44
|
+
context?: HttpContext;
|
|
45
|
+
withCredentials?: boolean;
|
|
46
|
+
reportProgress?: boolean;
|
|
47
|
+
responseType?: 'json';
|
|
48
|
+
serialize?: boolean | ClassTransformOptions$1;
|
|
49
|
+
};
|
|
50
|
+
declare class TypedHttpClient {
|
|
51
|
+
private readonly httpClient;
|
|
52
|
+
getResponse<K>(url: string, ctor: Ctor<K>, options?: RequestOptions): Observable<HttpResponse<K>>;
|
|
53
|
+
postResponse<T, K>(url: string, body: T, ctor: Ctor<K>, options?: RequestOptions): Observable<HttpResponse<K>>;
|
|
54
|
+
putResponse<T, K>(url: string, body: T, ctor: Ctor<K>, options?: RequestOptions): Observable<HttpResponse<K>>;
|
|
55
|
+
patchResponse<T, K>(url: string, body: T, ctor: Ctor<K>, options?: RequestOptions): Observable<HttpResponse<K>>;
|
|
56
|
+
deleteResponse<K>(url: string, ctor: Ctor<K>, options?: RequestOptions): Observable<HttpResponse<K>>;
|
|
57
|
+
get<K>(url: string, ctor: Ctor<K>, options?: RequestOptions): Observable<K>;
|
|
58
|
+
post<T, K>(url: string, body: T, ctor: Ctor<K>, options?: RequestOptions): Observable<K>;
|
|
59
|
+
put<T, K>(url: string, body: T, ctor: Ctor<K>, options?: RequestOptions): Observable<K>;
|
|
60
|
+
patch<T, K>(url: string, body: T, ctor: Ctor<K>, options?: RequestOptions): Observable<K>;
|
|
61
|
+
delete<K>(url: string, ctor: Ctor<K>, options?: RequestOptions): Observable<K>;
|
|
62
|
+
private requestResponse;
|
|
63
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TypedHttpClient, never>;
|
|
64
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TypedHttpClient>;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
declare class TypedHttpClientModule {
|
|
68
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TypedHttpClientModule, never>;
|
|
69
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TypedHttpClientModule, never, [typeof i1.CommonModule], never>;
|
|
70
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TypedHttpClientModule>;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { ClassTransformerHttpInterceptor, ClassTransformerSerializeInterceptor, RESPONSE_TYPE_CLASS, SERIALIZE_REQUEST, TypedHttpClient, TypedHttpClientModule, provideTypedHttpClient };
|
|
74
|
+
export type { Ctor, RequestOptions };
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaskothebeast/angular-typed-http-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
5
|
+
"@angular/common": "^20.3.4",
|
|
6
|
+
"@angular/core": "^20.3.4",
|
|
7
7
|
"class-transformer": "^0.5.1",
|
|
8
|
-
"rxjs": "~7.8.
|
|
8
|
+
"rxjs": "~7.8.2"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"tslib": "^2.3.0"
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ClassTransformerHttpInterceptor implements HttpInterceptor {
|
|
5
|
-
intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ClassTransformerHttpInterceptor, never>;
|
|
7
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ClassTransformerHttpInterceptor>;
|
|
8
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { HttpClient, HttpResponse } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class TypedHttpClient {
|
|
5
|
-
private httpClient;
|
|
6
|
-
constructor(httpClient: HttpClient);
|
|
7
|
-
getResponse<T, K>(url: string, responseTypeClass: new (...args: unknown[]) => K): Observable<HttpResponse<K>>;
|
|
8
|
-
get<T, K>(url: string, responseTypeClass: new (...args: unknown[]) => K): Observable<K>;
|
|
9
|
-
postResponse<T, K>(url: string, body: T, responseTypeClass: new (...args: unknown[]) => K): Observable<HttpResponse<K>>;
|
|
10
|
-
post<T, K>(url: string, body: T, responseTypeClass: new (...args: unknown[]) => K): Observable<K>;
|
|
11
|
-
putResponse<T, K>(url: string, body: T, responseTypeClass: new (...args: unknown[]) => K): Observable<HttpResponse<K>>;
|
|
12
|
-
put<T, K>(url: string, body: T, responseTypeClass: new (...args: unknown[]) => K): Observable<K>;
|
|
13
|
-
patchResponse<T, K>(url: string, body: T, responseTypeClass: new (...args: unknown[]) => K): Observable<HttpResponse<K>>;
|
|
14
|
-
patch<T, K>(url: string, body: T, responseTypeClass: new (...args: unknown[]) => K): Observable<K>;
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TypedHttpClient, never>;
|
|
16
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TypedHttpClient>;
|
|
17
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "@angular/common";
|
|
3
|
-
export declare class TypedHttpClientModule {
|
|
4
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TypedHttpClientModule, never>;
|
|
5
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TypedHttpClientModule, never, [typeof i1.CommonModule], never>;
|
|
6
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<TypedHttpClientModule>;
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { HttpContext, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';
|
|
2
|
-
export declare class TypedHttpRequest<T, K> extends HttpRequest<unknown> {
|
|
3
|
-
responseTypeClass?: new (...args: unknown[]) => K;
|
|
4
|
-
constructor(method: string, url: string, thirdParam?: T | null | {
|
|
5
|
-
headers?: HttpHeaders;
|
|
6
|
-
context?: HttpContext;
|
|
7
|
-
reportProgress?: boolean;
|
|
8
|
-
params?: HttpParams;
|
|
9
|
-
responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
|
|
10
|
-
withCredentials?: boolean;
|
|
11
|
-
transferCache?: {
|
|
12
|
-
includeHeaders?: string[];
|
|
13
|
-
} | boolean;
|
|
14
|
-
responseTypeClass?: new (...args: unknown[]) => K;
|
|
15
|
-
}, fourthParam?: {
|
|
16
|
-
headers?: HttpHeaders;
|
|
17
|
-
context?: HttpContext;
|
|
18
|
-
reportProgress?: boolean;
|
|
19
|
-
params?: HttpParams;
|
|
20
|
-
responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
|
|
21
|
-
withCredentials?: boolean;
|
|
22
|
-
transferCache?: {
|
|
23
|
-
includeHeaders?: string[];
|
|
24
|
-
} | boolean;
|
|
25
|
-
responseTypeClass?: new (...args: unknown[]) => K;
|
|
26
|
-
});
|
|
27
|
-
}
|