@alterior/http 3.13.3 → 3.13.4
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/dist/backend.d.ts +38 -38
- package/dist/backend.js +38 -38
- package/dist/client.d.ts +2108 -2108
- package/dist/client.js +265 -265
- package/dist/client.js.map +1 -1
- package/dist/headers.d.ts +57 -57
- package/dist/headers.js +187 -187
- package/dist/headers.js.map +1 -1
- package/dist/index.d.ts +18 -18
- package/dist/index.js +42 -42
- package/dist/interceptor.d.ts +63 -63
- package/dist/interceptor.js +43 -43
- package/dist/interceptor.js.map +1 -1
- package/dist/module.d.ts +101 -101
- package/dist/module.js +188 -188
- package/dist/module.js.map +1 -1
- package/dist/params.d.ts +98 -98
- package/dist/params.js +184 -184
- package/dist/params.js.map +1 -1
- package/dist/request.d.ts +130 -130
- package/dist/request.js +260 -260
- package/dist/request.js.map +1 -1
- package/dist/response.d.ts +267 -267
- package/dist/response.js +165 -165
- package/dist/response.js.map +1 -1
- package/dist/server.d.ts +28 -28
- package/dist/server.js +119 -119
- package/dist/server.js.map +1 -1
- package/dist/test/client.test.d.ts +8 -8
- package/dist/test/client.test.js +163 -163
- package/dist/test/client.test.js.map +1 -1
- package/dist/test/headers.test.d.ts +1 -1
- package/dist/test/headers.test.js +126 -126
- package/dist/test/module.test.d.ts +1 -1
- package/dist/test/module.test.js +117 -117
- package/dist/test/module.test.js.map +1 -1
- package/dist/test/params.test.d.ts +1 -1
- package/dist/test/params.test.js +63 -63
- package/dist/test/request.test.d.ts +8 -8
- package/dist/test/request.test.js +159 -159
- package/dist/test/request.test.js.map +1 -1
- package/dist/test/response.test.d.ts +1 -1
- package/dist/test/response.test.js +79 -79
- package/dist/test/response.test.js.map +1 -1
- package/dist/test/test.d.ts +1 -1
- package/dist/test/test.js +16 -16
- package/dist/test/xhr.mock.d.ts +48 -48
- package/dist/test/xhr.mock.js +94 -94
- package/dist/test/xhr.mock.js.map +1 -1
- package/dist/test/xhr.test.d.ts +1 -1
- package/dist/test/xhr.test.js +344 -344
- package/dist/test/xhr.test.js.map +1 -1
- package/dist/test/xsrf.test.d.ts +1 -1
- package/dist/test/xsrf.test.js +63 -63
- package/dist/test/xsrf.test.js.map +1 -1
- package/dist/testing/api.d.ts +102 -102
- package/dist/testing/api.js +19 -19
- package/dist/testing/backend.d.ts +63 -63
- package/dist/testing/backend.js +141 -141
- package/dist/testing/backend.js.map +1 -1
- package/dist/testing/index.d.ts +10 -10
- package/dist/testing/index.js +16 -16
- package/dist/testing/module.d.ts +16 -16
- package/dist/testing/module.js +38 -38
- package/dist/testing/module.js.map +1 -1
- package/dist/testing/request.d.ts +56 -56
- package/dist/testing/request.js +177 -177
- package/dist/testing/request.js.map +1 -1
- package/dist/testing/request.test.d.ts +8 -8
- package/dist/testing/request.test.js +24 -24
- package/dist/xhr.d.ts +42 -42
- package/dist/xhr.js +298 -298
- package/dist/xhr.js.map +1 -1
- package/dist/xsrf.d.ts +37 -37
- package/dist/xsrf.js +55 -55
- package/dist/xsrf.js.map +1 -1
- package/dist.esm/backend.d.ts +38 -38
- package/dist.esm/backend.js +33 -33
- package/dist.esm/client.d.ts +2108 -2108
- package/dist.esm/client.js +262 -262
- package/dist.esm/client.js.map +1 -1
- package/dist.esm/headers.d.ts +57 -57
- package/dist.esm/headers.js +183 -183
- package/dist.esm/headers.js.map +1 -1
- package/dist.esm/index.d.ts +18 -18
- package/dist.esm/index.js +18 -18
- package/dist.esm/interceptor.d.ts +63 -63
- package/dist.esm/interceptor.js +39 -39
- package/dist.esm/interceptor.js.map +1 -1
- package/dist.esm/module.d.ts +101 -101
- package/dist.esm/module.js +183 -183
- package/dist.esm/module.js.map +1 -1
- package/dist.esm/params.d.ts +98 -98
- package/dist.esm/params.js +179 -179
- package/dist.esm/params.js.map +1 -1
- package/dist.esm/request.d.ts +130 -130
- package/dist.esm/request.js +256 -256
- package/dist.esm/request.js.map +1 -1
- package/dist.esm/response.d.ts +267 -267
- package/dist.esm/response.js +158 -158
- package/dist.esm/response.js.map +1 -1
- package/dist.esm/server.d.ts +28 -28
- package/dist.esm/server.js +113 -113
- package/dist.esm/server.js.map +1 -1
- package/dist.esm/test/client.test.d.ts +8 -8
- package/dist.esm/test/client.test.js +161 -161
- package/dist.esm/test/client.test.js.map +1 -1
- package/dist.esm/test/headers.test.d.ts +1 -1
- package/dist.esm/test/headers.test.js +124 -124
- package/dist.esm/test/module.test.d.ts +1 -1
- package/dist.esm/test/module.test.js +115 -115
- package/dist.esm/test/module.test.js.map +1 -1
- package/dist.esm/test/params.test.d.ts +1 -1
- package/dist.esm/test/params.test.js +61 -61
- package/dist.esm/test/request.test.d.ts +8 -8
- package/dist.esm/test/request.test.js +157 -157
- package/dist.esm/test/request.test.js.map +1 -1
- package/dist.esm/test/response.test.d.ts +1 -1
- package/dist.esm/test/response.test.js +77 -77
- package/dist.esm/test/response.test.js.map +1 -1
- package/dist.esm/test/test.d.ts +1 -1
- package/dist.esm/test/test.js +14 -14
- package/dist.esm/test/xhr.mock.d.ts +48 -48
- package/dist.esm/test/xhr.mock.js +88 -88
- package/dist.esm/test/xhr.mock.js.map +1 -1
- package/dist.esm/test/xhr.test.d.ts +1 -1
- package/dist.esm/test/xhr.test.js +342 -342
- package/dist.esm/test/xhr.test.js.map +1 -1
- package/dist.esm/test/xsrf.test.d.ts +1 -1
- package/dist.esm/test/xsrf.test.js +61 -61
- package/dist.esm/test/xsrf.test.js.map +1 -1
- package/dist.esm/testing/api.d.ts +102 -102
- package/dist.esm/testing/api.js +15 -15
- package/dist.esm/testing/backend.d.ts +63 -63
- package/dist.esm/testing/backend.js +138 -138
- package/dist.esm/testing/backend.js.map +1 -1
- package/dist.esm/testing/index.d.ts +10 -10
- package/dist.esm/testing/index.js +10 -10
- package/dist.esm/testing/module.d.ts +16 -16
- package/dist.esm/testing/module.js +35 -35
- package/dist.esm/testing/module.js.map +1 -1
- package/dist.esm/testing/request.d.ts +56 -56
- package/dist.esm/testing/request.js +173 -173
- package/dist.esm/testing/request.js.map +1 -1
- package/dist.esm/testing/request.test.d.ts +8 -8
- package/dist.esm/testing/request.test.js +22 -22
- package/dist.esm/xhr.d.ts +42 -42
- package/dist.esm/xhr.js +294 -294
- package/dist.esm/xhr.js.map +1 -1
- package/dist.esm/xsrf.d.ts +37 -37
- package/dist.esm/xsrf.js +51 -51
- package/dist.esm/xsrf.js.map +1 -1
- package/package.json +9 -9
- package/tsconfig.esm.tsbuildinfo +1 -0
- package/tsconfig.json +0 -2
- package/tsconfig.tsbuildinfo +1 -8046
package/dist.esm/response.js
CHANGED
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { HttpHeaders } from './headers';
|
|
9
|
-
/**
|
|
10
|
-
* Type enumeration for the different kinds of `HttpEvent`.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export var HttpEventType;
|
|
15
|
-
(function (HttpEventType) {
|
|
16
|
-
/**
|
|
17
|
-
* The request was sent out over the wire.
|
|
18
|
-
*/
|
|
19
|
-
HttpEventType[HttpEventType["Sent"] = 0] = "Sent";
|
|
20
|
-
/**
|
|
21
|
-
* An upload progress event was received.
|
|
22
|
-
*/
|
|
23
|
-
HttpEventType[HttpEventType["UploadProgress"] = 1] = "UploadProgress";
|
|
24
|
-
/**
|
|
25
|
-
* The response status code and headers were received.
|
|
26
|
-
*/
|
|
27
|
-
HttpEventType[HttpEventType["ResponseHeader"] = 2] = "ResponseHeader";
|
|
28
|
-
/**
|
|
29
|
-
* A download progress event was received.
|
|
30
|
-
*/
|
|
31
|
-
HttpEventType[HttpEventType["DownloadProgress"] = 3] = "DownloadProgress";
|
|
32
|
-
/**
|
|
33
|
-
* The full response including the body was received.
|
|
34
|
-
*/
|
|
35
|
-
HttpEventType[HttpEventType["Response"] = 4] = "Response";
|
|
36
|
-
/**
|
|
37
|
-
* A custom event from an interceptor or a backend.
|
|
38
|
-
*/
|
|
39
|
-
HttpEventType[HttpEventType["User"] = 5] = "User";
|
|
40
|
-
})(HttpEventType || (HttpEventType = {}));
|
|
41
|
-
/**
|
|
42
|
-
* Base class for both `HttpResponse` and `HttpHeaderResponse`.
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*/
|
|
46
|
-
export class HttpResponseBase {
|
|
47
|
-
/**
|
|
48
|
-
* Super-constructor for all responses.
|
|
49
|
-
*
|
|
50
|
-
* The single parameter accepted is an initialization hash. Any properties
|
|
51
|
-
* of the response passed there will override the default values.
|
|
52
|
-
*/
|
|
53
|
-
constructor(init, defaultStatus = 200, defaultStatusText = 'OK') {
|
|
54
|
-
// If the hash has values passed, use them to initialize the response.
|
|
55
|
-
// Otherwise use the default values.
|
|
56
|
-
this.headers = init.headers || new HttpHeaders();
|
|
57
|
-
this.status = init.status !== undefined ? init.status : defaultStatus;
|
|
58
|
-
this.statusText = init.statusText || defaultStatusText;
|
|
59
|
-
this.url = init.url || null;
|
|
60
|
-
// Cache the ok value to avoid defining a getter.
|
|
61
|
-
this.ok = this.status >= 200 && this.status < 300;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* A partial HTTP response which only includes the status and header data,
|
|
66
|
-
* but no response body.
|
|
67
|
-
*
|
|
68
|
-
* `HttpHeaderResponse` is a `HttpEvent` available on the response
|
|
69
|
-
* event stream, only when progress events are requested.
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*/
|
|
73
|
-
export class HttpHeaderResponse extends HttpResponseBase {
|
|
74
|
-
/**
|
|
75
|
-
* Create a new `HttpHeaderResponse` with the given parameters.
|
|
76
|
-
*/
|
|
77
|
-
constructor(init = {}) {
|
|
78
|
-
super(init);
|
|
79
|
-
this.type = HttpEventType.ResponseHeader;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Copy this `HttpHeaderResponse`, overriding its contents with the
|
|
83
|
-
* given parameter hash.
|
|
84
|
-
*/
|
|
85
|
-
clone(update = {}) {
|
|
86
|
-
// Perform a straightforward initialization of the new HttpHeaderResponse,
|
|
87
|
-
// overriding the current parameters with new ones if given.
|
|
88
|
-
return new HttpHeaderResponse({
|
|
89
|
-
headers: update.headers || this.headers,
|
|
90
|
-
status: update.status !== undefined ? update.status : this.status,
|
|
91
|
-
statusText: update.statusText || this.statusText,
|
|
92
|
-
url: update.url || this.url || undefined,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* A full HTTP response, including a typed response body (which may be `null`
|
|
98
|
-
* if one was not returned).
|
|
99
|
-
*
|
|
100
|
-
* `HttpResponse` is a `HttpEvent` available on the response event
|
|
101
|
-
* stream.
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*/
|
|
105
|
-
export class HttpResponse extends HttpResponseBase {
|
|
106
|
-
/**
|
|
107
|
-
* Construct a new `HttpResponse`.
|
|
108
|
-
*/
|
|
109
|
-
constructor(init = {}) {
|
|
110
|
-
super(init);
|
|
111
|
-
this.type = HttpEventType.Response;
|
|
112
|
-
this.body = init.body !== undefined ? init.body : null;
|
|
113
|
-
}
|
|
114
|
-
clone(update = {}) {
|
|
115
|
-
return new HttpResponse({
|
|
116
|
-
body: (update.body !== undefined) ? update.body : this.body,
|
|
117
|
-
headers: update.headers || this.headers,
|
|
118
|
-
status: (update.status !== undefined) ? update.status : this.status,
|
|
119
|
-
statusText: update.statusText || this.statusText,
|
|
120
|
-
url: update.url || this.url || undefined,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* A response that represents an error or failure, either from a
|
|
126
|
-
* non-successful HTTP status, an error while executing the request,
|
|
127
|
-
* or some other failure which occurred during the parsing of the response.
|
|
128
|
-
*
|
|
129
|
-
* Any error returned on the `Observable` response stream will be
|
|
130
|
-
* wrapped in an `HttpErrorResponse` to provide additional context about
|
|
131
|
-
* the state of the HTTP layer when the error occurred. The error property
|
|
132
|
-
* will contain either a wrapped Error object or the error response returned
|
|
133
|
-
* from the server.
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*/
|
|
137
|
-
export class HttpErrorResponse extends HttpResponseBase {
|
|
138
|
-
constructor(init) {
|
|
139
|
-
// Initialize with a default status of 0 / Unknown Error.
|
|
140
|
-
super(init, 0, 'Unknown Error');
|
|
141
|
-
this.name = 'HttpErrorResponse';
|
|
142
|
-
/**
|
|
143
|
-
* Errors are never okay, even when the status code is in the 2xx success range.
|
|
144
|
-
*/
|
|
145
|
-
this.ok = false;
|
|
146
|
-
// If the response was successful, then this was a parse error. Otherwise, it was
|
|
147
|
-
// a protocol-level failure of some sort. Either the request failed in transit
|
|
148
|
-
// or the server returned an unsuccessful status code.
|
|
149
|
-
if (this.status >= 200 && this.status < 300) {
|
|
150
|
-
this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
this.message =
|
|
154
|
-
`Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;
|
|
155
|
-
}
|
|
156
|
-
this.error = init.error || null;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { HttpHeaders } from './headers';
|
|
9
|
+
/**
|
|
10
|
+
* Type enumeration for the different kinds of `HttpEvent`.
|
|
11
|
+
*
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export var HttpEventType;
|
|
15
|
+
(function (HttpEventType) {
|
|
16
|
+
/**
|
|
17
|
+
* The request was sent out over the wire.
|
|
18
|
+
*/
|
|
19
|
+
HttpEventType[HttpEventType["Sent"] = 0] = "Sent";
|
|
20
|
+
/**
|
|
21
|
+
* An upload progress event was received.
|
|
22
|
+
*/
|
|
23
|
+
HttpEventType[HttpEventType["UploadProgress"] = 1] = "UploadProgress";
|
|
24
|
+
/**
|
|
25
|
+
* The response status code and headers were received.
|
|
26
|
+
*/
|
|
27
|
+
HttpEventType[HttpEventType["ResponseHeader"] = 2] = "ResponseHeader";
|
|
28
|
+
/**
|
|
29
|
+
* A download progress event was received.
|
|
30
|
+
*/
|
|
31
|
+
HttpEventType[HttpEventType["DownloadProgress"] = 3] = "DownloadProgress";
|
|
32
|
+
/**
|
|
33
|
+
* The full response including the body was received.
|
|
34
|
+
*/
|
|
35
|
+
HttpEventType[HttpEventType["Response"] = 4] = "Response";
|
|
36
|
+
/**
|
|
37
|
+
* A custom event from an interceptor or a backend.
|
|
38
|
+
*/
|
|
39
|
+
HttpEventType[HttpEventType["User"] = 5] = "User";
|
|
40
|
+
})(HttpEventType || (HttpEventType = {}));
|
|
41
|
+
/**
|
|
42
|
+
* Base class for both `HttpResponse` and `HttpHeaderResponse`.
|
|
43
|
+
*
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
export class HttpResponseBase {
|
|
47
|
+
/**
|
|
48
|
+
* Super-constructor for all responses.
|
|
49
|
+
*
|
|
50
|
+
* The single parameter accepted is an initialization hash. Any properties
|
|
51
|
+
* of the response passed there will override the default values.
|
|
52
|
+
*/
|
|
53
|
+
constructor(init, defaultStatus = 200, defaultStatusText = 'OK') {
|
|
54
|
+
// If the hash has values passed, use them to initialize the response.
|
|
55
|
+
// Otherwise use the default values.
|
|
56
|
+
this.headers = init.headers || new HttpHeaders();
|
|
57
|
+
this.status = init.status !== undefined ? init.status : defaultStatus;
|
|
58
|
+
this.statusText = init.statusText || defaultStatusText;
|
|
59
|
+
this.url = init.url || null;
|
|
60
|
+
// Cache the ok value to avoid defining a getter.
|
|
61
|
+
this.ok = this.status >= 200 && this.status < 300;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A partial HTTP response which only includes the status and header data,
|
|
66
|
+
* but no response body.
|
|
67
|
+
*
|
|
68
|
+
* `HttpHeaderResponse` is a `HttpEvent` available on the response
|
|
69
|
+
* event stream, only when progress events are requested.
|
|
70
|
+
*
|
|
71
|
+
*
|
|
72
|
+
*/
|
|
73
|
+
export class HttpHeaderResponse extends HttpResponseBase {
|
|
74
|
+
/**
|
|
75
|
+
* Create a new `HttpHeaderResponse` with the given parameters.
|
|
76
|
+
*/
|
|
77
|
+
constructor(init = {}) {
|
|
78
|
+
super(init);
|
|
79
|
+
this.type = HttpEventType.ResponseHeader;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Copy this `HttpHeaderResponse`, overriding its contents with the
|
|
83
|
+
* given parameter hash.
|
|
84
|
+
*/
|
|
85
|
+
clone(update = {}) {
|
|
86
|
+
// Perform a straightforward initialization of the new HttpHeaderResponse,
|
|
87
|
+
// overriding the current parameters with new ones if given.
|
|
88
|
+
return new HttpHeaderResponse({
|
|
89
|
+
headers: update.headers || this.headers,
|
|
90
|
+
status: update.status !== undefined ? update.status : this.status,
|
|
91
|
+
statusText: update.statusText || this.statusText,
|
|
92
|
+
url: update.url || this.url || undefined,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* A full HTTP response, including a typed response body (which may be `null`
|
|
98
|
+
* if one was not returned).
|
|
99
|
+
*
|
|
100
|
+
* `HttpResponse` is a `HttpEvent` available on the response event
|
|
101
|
+
* stream.
|
|
102
|
+
*
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
export class HttpResponse extends HttpResponseBase {
|
|
106
|
+
/**
|
|
107
|
+
* Construct a new `HttpResponse`.
|
|
108
|
+
*/
|
|
109
|
+
constructor(init = {}) {
|
|
110
|
+
super(init);
|
|
111
|
+
this.type = HttpEventType.Response;
|
|
112
|
+
this.body = init.body !== undefined ? init.body : null;
|
|
113
|
+
}
|
|
114
|
+
clone(update = {}) {
|
|
115
|
+
return new HttpResponse({
|
|
116
|
+
body: (update.body !== undefined) ? update.body : this.body,
|
|
117
|
+
headers: update.headers || this.headers,
|
|
118
|
+
status: (update.status !== undefined) ? update.status : this.status,
|
|
119
|
+
statusText: update.statusText || this.statusText,
|
|
120
|
+
url: update.url || this.url || undefined,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* A response that represents an error or failure, either from a
|
|
126
|
+
* non-successful HTTP status, an error while executing the request,
|
|
127
|
+
* or some other failure which occurred during the parsing of the response.
|
|
128
|
+
*
|
|
129
|
+
* Any error returned on the `Observable` response stream will be
|
|
130
|
+
* wrapped in an `HttpErrorResponse` to provide additional context about
|
|
131
|
+
* the state of the HTTP layer when the error occurred. The error property
|
|
132
|
+
* will contain either a wrapped Error object or the error response returned
|
|
133
|
+
* from the server.
|
|
134
|
+
*
|
|
135
|
+
*
|
|
136
|
+
*/
|
|
137
|
+
export class HttpErrorResponse extends HttpResponseBase {
|
|
138
|
+
constructor(init) {
|
|
139
|
+
// Initialize with a default status of 0 / Unknown Error.
|
|
140
|
+
super(init, 0, 'Unknown Error');
|
|
141
|
+
this.name = 'HttpErrorResponse';
|
|
142
|
+
/**
|
|
143
|
+
* Errors are never okay, even when the status code is in the 2xx success range.
|
|
144
|
+
*/
|
|
145
|
+
this.ok = false;
|
|
146
|
+
// If the response was successful, then this was a parse error. Otherwise, it was
|
|
147
|
+
// a protocol-level failure of some sort. Either the request failed in transit
|
|
148
|
+
// or the server returned an unsuccessful status code.
|
|
149
|
+
if (this.status >= 200 && this.status < 300) {
|
|
150
|
+
this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.message =
|
|
154
|
+
`Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;
|
|
155
|
+
}
|
|
156
|
+
this.error = init.error || null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
159
|
//# sourceMappingURL=response.js.map
|
package/dist.esm/response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAN,IAAY,aA8BX;AA9BD,WAAY,aAAa;IACvB;;OAEG;IACH,iDAAI,CAAA;IAEJ;;OAEG;IACH,qEAAc,CAAA;IAEd;;OAEG;IACH,qEAAc,CAAA;IAEd;;OAEG;IACH,yEAAgB,CAAA;IAEhB;;OAEG;IACH,yDAAQ,CAAA;IAER;;OAEG;IACH,iDAAI,CAAA;AACN,CAAC,EA9BW,aAAa,KAAb,aAAa,QA8BxB;AA4FD;;;;GAIG;AACH,MAAM,OAAgB,gBAAgB;IAkCpC;;;;;OAKG;IACH,YACI,IAKC,EACD,gBAAwB,GAAG,EAAE,oBAA4B,IAAI;QAC/D,sEAAsE;QACtE,oCAAoC;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;QACvD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;QAE5B,iDAAiD;QACjD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACpD,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD;;OAEG;IACH,YAAY,OAKR,EAAE;QACJ,KAAK,CAAC,IAAI,CAAC,CAAC;QAGL,SAAI,GAAiC,aAAa,CAAC,cAAc,CAAC;IAF3E,CAAC;IAID;;;OAGG;IACH,KAAK,CAAC,SAAuF,EAAE;QAE7F,0EAA0E;QAC1E,4DAA4D;QAC5D,OAAO,IAAI,kBAAkB,CAAC;YAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YACvC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YACjE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;YAChD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS;SACzC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAgB,SAAQ,gBAAgB;IAMnD;;OAEG;IACH,YAAY,OAER,EAAE;QACJ,KAAK,CAAC,IAAI,CAAC,CAAC;QAIL,SAAI,GAA2B,aAAa,CAAC,QAAQ,CAAC;QAH7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAUD,KAAK,CAAC,SAEF,EAAE;QACJ,OAAO,IAAI,YAAY,CAAM;YAC3B,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YAC3D,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YACvC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YACnE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;YAChD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS;SACzC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAUrD,YAAY,IAEX;QACC,yDAAyD;QACzD,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QAbzB,SAAI,GAAG,mBAAmB,CAAC;QAIpC;;WAEG;QACM,OAAE,GAAG,KAAK,CAAC;QAQlB,iFAAiF;QACjF,8EAA8E;QAC9E,sDAAsD;QACtD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,mCAAmC,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO;gBACR,6BAA6B,IAAI,CAAC,GAAG,IAAI,eAAe,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IAClC,CAAC;CACF"}
|
package/dist.esm/server.d.ts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { Injector, Provider } from '@alterior/di';
|
|
9
|
-
import { Observable } from 'rxjs';
|
|
10
|
-
import { HttpEvent } from './response';
|
|
11
|
-
import { HttpRequest } from './request';
|
|
12
|
-
import { HttpBackend } from './backend';
|
|
13
|
-
import { BrowserXhr } from './xhr';
|
|
14
|
-
export declare class ServerXhr implements BrowserXhr {
|
|
15
|
-
build(): XMLHttpRequest;
|
|
16
|
-
}
|
|
17
|
-
export declare abstract class ZoneMacroTaskWrapper<S, R> {
|
|
18
|
-
wrap(request: S): Observable<R>;
|
|
19
|
-
protected abstract delegate(request: S): Observable<R>;
|
|
20
|
-
}
|
|
21
|
-
export declare class ZoneClientBackend extends ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {
|
|
22
|
-
private backend;
|
|
23
|
-
constructor(backend: HttpBackend);
|
|
24
|
-
handle(request: HttpRequest<any>): Observable<HttpEvent<any>>;
|
|
25
|
-
protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>>;
|
|
26
|
-
}
|
|
27
|
-
export declare function zoneWrappedInterceptingHandler(backend: HttpBackend, injector: Injector): ZoneClientBackend;
|
|
28
|
-
export declare const SERVER_HTTP_PROVIDERS: Provider[];
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { Injector, Provider } from '@alterior/di';
|
|
9
|
+
import { Observable } from 'rxjs';
|
|
10
|
+
import { HttpEvent } from './response';
|
|
11
|
+
import { HttpRequest } from './request';
|
|
12
|
+
import { HttpBackend } from './backend';
|
|
13
|
+
import { BrowserXhr } from './xhr';
|
|
14
|
+
export declare class ServerXhr implements BrowserXhr {
|
|
15
|
+
build(): XMLHttpRequest;
|
|
16
|
+
}
|
|
17
|
+
export declare abstract class ZoneMacroTaskWrapper<S, R> {
|
|
18
|
+
wrap(request: S): Observable<R>;
|
|
19
|
+
protected abstract delegate(request: S): Observable<R>;
|
|
20
|
+
}
|
|
21
|
+
export declare class ZoneClientBackend extends ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {
|
|
22
|
+
private backend;
|
|
23
|
+
constructor(backend: HttpBackend);
|
|
24
|
+
handle(request: HttpRequest<any>): Observable<HttpEvent<any>>;
|
|
25
|
+
protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>>;
|
|
26
|
+
}
|
|
27
|
+
export declare function zoneWrappedInterceptingHandler(backend: HttpBackend, injector: Injector): ZoneClientBackend;
|
|
28
|
+
export declare const SERVER_HTTP_PROVIDERS: Provider[];
|
|
29
29
|
//# sourceMappingURL=server.d.ts.map
|
package/dist.esm/server.js
CHANGED
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { __decorate } from "tslib";
|
|
9
|
-
import * as xhr2 from 'xhr2';
|
|
10
|
-
import { Injectable, Injector } from '@alterior/di';
|
|
11
|
-
import { Observable } from 'rxjs';
|
|
12
|
-
import { HttpHandler, HttpBackend } from './backend';
|
|
13
|
-
import { XhrFactory } from './xhr';
|
|
14
|
-
import { HttpInterceptingHandler } from './module';
|
|
15
|
-
const isAbsoluteUrl = /^[a-zA-Z\-\+.]+:\/\//;
|
|
16
|
-
function validateRequestUrl(url) {
|
|
17
|
-
if (!isAbsoluteUrl.test(url)) {
|
|
18
|
-
throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
let ServerXhr = class ServerXhr {
|
|
22
|
-
build() { return new xhr2.XMLHttpRequest(); }
|
|
23
|
-
};
|
|
24
|
-
ServerXhr = __decorate([
|
|
25
|
-
Injectable()
|
|
26
|
-
], ServerXhr);
|
|
27
|
-
export { ServerXhr };
|
|
28
|
-
export class ZoneMacroTaskWrapper {
|
|
29
|
-
wrap(request) {
|
|
30
|
-
return new Observable((observer) => {
|
|
31
|
-
let task = null;
|
|
32
|
-
let scheduled = false;
|
|
33
|
-
let sub = null;
|
|
34
|
-
let savedResult = null;
|
|
35
|
-
let savedError = null;
|
|
36
|
-
const scheduleTask = (_task) => {
|
|
37
|
-
task = _task;
|
|
38
|
-
scheduled = true;
|
|
39
|
-
const delegate = this.delegate(request);
|
|
40
|
-
sub = delegate.subscribe(res => savedResult = res, err => {
|
|
41
|
-
if (!scheduled) {
|
|
42
|
-
throw new Error('An http observable was completed twice. This shouldn\'t happen, please file a bug.');
|
|
43
|
-
}
|
|
44
|
-
savedError = err;
|
|
45
|
-
scheduled = false;
|
|
46
|
-
task.invoke();
|
|
47
|
-
}, () => {
|
|
48
|
-
if (!scheduled) {
|
|
49
|
-
throw new Error('An http observable was completed twice. This shouldn\'t happen, please file a bug.');
|
|
50
|
-
}
|
|
51
|
-
scheduled = false;
|
|
52
|
-
task.invoke();
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
const cancelTask = (_task) => {
|
|
56
|
-
if (!scheduled) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
scheduled = false;
|
|
60
|
-
if (sub) {
|
|
61
|
-
sub.unsubscribe();
|
|
62
|
-
sub = null;
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
const onComplete = () => {
|
|
66
|
-
if (savedError !== null) {
|
|
67
|
-
observer.error(savedError);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
observer.next(savedResult);
|
|
71
|
-
observer.complete();
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
// MockBackend for Http is synchronous, which means that if scheduleTask is by
|
|
75
|
-
// scheduleMacroTask, the request will hit MockBackend and the response will be
|
|
76
|
-
// sent, causing task.invoke() to be called.
|
|
77
|
-
const _task = Zone.current.scheduleMacroTask('ZoneMacroTaskWrapper.subscribe', onComplete, {}, () => null, cancelTask);
|
|
78
|
-
scheduleTask(_task);
|
|
79
|
-
return () => {
|
|
80
|
-
if (scheduled && task) {
|
|
81
|
-
task.zone.cancelTask(task);
|
|
82
|
-
scheduled = false;
|
|
83
|
-
}
|
|
84
|
-
if (sub) {
|
|
85
|
-
sub.unsubscribe();
|
|
86
|
-
sub = null;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
export class ZoneClientBackend extends ZoneMacroTaskWrapper {
|
|
93
|
-
constructor(backend) {
|
|
94
|
-
super();
|
|
95
|
-
this.backend = backend;
|
|
96
|
-
}
|
|
97
|
-
handle(request) { return this.wrap(request); }
|
|
98
|
-
delegate(request) {
|
|
99
|
-
return this.backend.handle(request);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
export function zoneWrappedInterceptingHandler(backend, injector) {
|
|
103
|
-
const realBackend = new HttpInterceptingHandler(backend, injector);
|
|
104
|
-
return new ZoneClientBackend(realBackend);
|
|
105
|
-
}
|
|
106
|
-
export const SERVER_HTTP_PROVIDERS = [
|
|
107
|
-
{ provide: XhrFactory, useClass: ServerXhr },
|
|
108
|
-
{
|
|
109
|
-
provide: HttpHandler,
|
|
110
|
-
useFactory: zoneWrappedInterceptingHandler,
|
|
111
|
-
deps: [HttpBackend, Injector]
|
|
112
|
-
}
|
|
113
|
-
];
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { __decorate } from "tslib";
|
|
9
|
+
import * as xhr2 from 'xhr2';
|
|
10
|
+
import { Injectable, Injector } from '@alterior/di';
|
|
11
|
+
import { Observable } from 'rxjs';
|
|
12
|
+
import { HttpHandler, HttpBackend } from './backend';
|
|
13
|
+
import { XhrFactory } from './xhr';
|
|
14
|
+
import { HttpInterceptingHandler } from './module';
|
|
15
|
+
const isAbsoluteUrl = /^[a-zA-Z\-\+.]+:\/\//;
|
|
16
|
+
function validateRequestUrl(url) {
|
|
17
|
+
if (!isAbsoluteUrl.test(url)) {
|
|
18
|
+
throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
let ServerXhr = class ServerXhr {
|
|
22
|
+
build() { return new xhr2.XMLHttpRequest(); }
|
|
23
|
+
};
|
|
24
|
+
ServerXhr = __decorate([
|
|
25
|
+
Injectable()
|
|
26
|
+
], ServerXhr);
|
|
27
|
+
export { ServerXhr };
|
|
28
|
+
export class ZoneMacroTaskWrapper {
|
|
29
|
+
wrap(request) {
|
|
30
|
+
return new Observable((observer) => {
|
|
31
|
+
let task = null;
|
|
32
|
+
let scheduled = false;
|
|
33
|
+
let sub = null;
|
|
34
|
+
let savedResult = null;
|
|
35
|
+
let savedError = null;
|
|
36
|
+
const scheduleTask = (_task) => {
|
|
37
|
+
task = _task;
|
|
38
|
+
scheduled = true;
|
|
39
|
+
const delegate = this.delegate(request);
|
|
40
|
+
sub = delegate.subscribe(res => savedResult = res, err => {
|
|
41
|
+
if (!scheduled) {
|
|
42
|
+
throw new Error('An http observable was completed twice. This shouldn\'t happen, please file a bug.');
|
|
43
|
+
}
|
|
44
|
+
savedError = err;
|
|
45
|
+
scheduled = false;
|
|
46
|
+
task.invoke();
|
|
47
|
+
}, () => {
|
|
48
|
+
if (!scheduled) {
|
|
49
|
+
throw new Error('An http observable was completed twice. This shouldn\'t happen, please file a bug.');
|
|
50
|
+
}
|
|
51
|
+
scheduled = false;
|
|
52
|
+
task.invoke();
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const cancelTask = (_task) => {
|
|
56
|
+
if (!scheduled) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
scheduled = false;
|
|
60
|
+
if (sub) {
|
|
61
|
+
sub.unsubscribe();
|
|
62
|
+
sub = null;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const onComplete = () => {
|
|
66
|
+
if (savedError !== null) {
|
|
67
|
+
observer.error(savedError);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
observer.next(savedResult);
|
|
71
|
+
observer.complete();
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
// MockBackend for Http is synchronous, which means that if scheduleTask is by
|
|
75
|
+
// scheduleMacroTask, the request will hit MockBackend and the response will be
|
|
76
|
+
// sent, causing task.invoke() to be called.
|
|
77
|
+
const _task = Zone.current.scheduleMacroTask('ZoneMacroTaskWrapper.subscribe', onComplete, {}, () => null, cancelTask);
|
|
78
|
+
scheduleTask(_task);
|
|
79
|
+
return () => {
|
|
80
|
+
if (scheduled && task) {
|
|
81
|
+
task.zone.cancelTask(task);
|
|
82
|
+
scheduled = false;
|
|
83
|
+
}
|
|
84
|
+
if (sub) {
|
|
85
|
+
sub.unsubscribe();
|
|
86
|
+
sub = null;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export class ZoneClientBackend extends ZoneMacroTaskWrapper {
|
|
93
|
+
constructor(backend) {
|
|
94
|
+
super();
|
|
95
|
+
this.backend = backend;
|
|
96
|
+
}
|
|
97
|
+
handle(request) { return this.wrap(request); }
|
|
98
|
+
delegate(request) {
|
|
99
|
+
return this.backend.handle(request);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
export function zoneWrappedInterceptingHandler(backend, injector) {
|
|
103
|
+
const realBackend = new HttpInterceptingHandler(backend, injector);
|
|
104
|
+
return new ZoneClientBackend(realBackend);
|
|
105
|
+
}
|
|
106
|
+
export const SERVER_HTTP_PROVIDERS = [
|
|
107
|
+
{ provide: XhrFactory, useClass: ServerXhr },
|
|
108
|
+
{
|
|
109
|
+
provide: HttpHandler,
|
|
110
|
+
useFactory: zoneWrappedInterceptingHandler,
|
|
111
|
+
deps: [HttpBackend, Injector]
|
|
112
|
+
}
|
|
113
|
+
];
|
|
114
114
|
//# sourceMappingURL=server.js.map
|
package/dist.esm/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAW,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAyB,MAAM,MAAM,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,UAAU,EAAc,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAE7C,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
9
|
//# sourceMappingURL=client.test.d.ts.map
|