@alterior/http 3.0.0-rc.5 → 3.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/dist/backend.js +4 -10
- package/dist/backend.js.map +1 -1
- package/dist/client.js +49 -59
- package/dist/client.js.map +1 -1
- package/dist/headers.js +65 -71
- package/dist/headers.js.map +1 -1
- package/dist/interceptor.js +14 -18
- package/dist/interceptor.js.map +1 -1
- package/dist/module.js +68 -80
- package/dist/module.js.map +1 -1
- package/dist/params.js +53 -62
- package/dist/params.js.map +1 -1
- package/dist/request.js +26 -32
- package/dist/request.js.map +1 -1
- package/dist/response.js +30 -48
- package/dist/response.js.map +1 -1
- package/dist/server.js +42 -52
- package/dist/server.js.map +1 -1
- package/dist/test/client.test.js +59 -59
- package/dist/test/client.test.js.map +1 -1
- package/dist/test/headers.test.js +58 -58
- package/dist/test/headers.test.js.map +1 -1
- package/dist/test/module.test.js +92 -130
- package/dist/test/module.test.js.map +1 -1
- package/dist/test/params.test.js +30 -30
- package/dist/test/params.test.js.map +1 -1
- package/dist/test/request.test.js +77 -77
- package/dist/test/request.test.js.map +1 -1
- package/dist/test/response.test.js +22 -22
- package/dist/test/response.test.js.map +1 -1
- package/dist/test/test.js +1 -1
- package/dist/test/test.js.map +1 -1
- package/dist/test/xhr.mock.js +38 -43
- package/dist/test/xhr.mock.js.map +1 -1
- package/dist/test/xhr.test.js +98 -99
- package/dist/test/xhr.test.js.map +1 -1
- package/dist/test/xsrf.test.js +28 -32
- package/dist/test/xsrf.test.js.map +1 -1
- package/dist/testing/api.js +2 -5
- package/dist/testing/api.js.map +1 -1
- package/dist/testing/backend.js +54 -58
- package/dist/testing/backend.js.map +1 -1
- package/dist/testing/module.js +20 -23
- package/dist/testing/module.js.map +1 -1
- package/dist/testing/request.js +33 -41
- package/dist/testing/request.js.map +1 -1
- package/dist/testing/request.test.js +11 -11
- package/dist/testing/request.test.js.map +1 -1
- package/dist/xhr.js +61 -68
- package/dist/xhr.js.map +1 -1
- package/dist/xsrf.js +16 -20
- package/dist/xsrf.js.map +1 -1
- package/package.json +5 -5
package/dist/interceptor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,qCAAwD;AAsCxD;;;;GAIG;AACH,MAAa,sBAAsB;IACjC,YAAoB,IAAiB,EAAU,WAA4B;QAAvD,SAAI,GAAJ,IAAI,CAAa;QAAU,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAE/E,MAAM,CAAC,GAAqB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;CACF;AAND,wDAMC;AAED;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,IAAI,mBAAc,CAAoB,mBAAmB,CAAC,CAAC;AAG5F,IAAa,eAAe,GAA5B,MAAa,eAAe;IAC1B,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF,CAAA;AAJY,eAAe;IAD3B,IAAA,eAAU,GAAE;GACA,eAAe,CAI3B;AAJY,0CAAe"}
|
package/dist/module.js
CHANGED
|
@@ -6,16 +6,17 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
|
+
var HttpClientXsrfModule_1, HttpClientModule_1;
|
|
9
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
11
|
exports.HttpClientModule = exports.HttpClientXsrfModule = exports.jsonpCallbackContext = exports.interceptingHandler = exports.HttpInterceptingHandler = void 0;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
const tslib_1 = require("tslib");
|
|
13
|
+
const di_1 = require("@alterior/di");
|
|
14
|
+
const backend_1 = require("./backend");
|
|
15
|
+
const client_1 = require("./client");
|
|
16
|
+
const interceptor_1 = require("./interceptor");
|
|
17
|
+
const xhr_1 = require("./xhr");
|
|
18
|
+
const xsrf_1 = require("./xsrf");
|
|
19
|
+
const server_1 = require("./server");
|
|
19
20
|
/**
|
|
20
21
|
* An injectable `HttpHandler` that applies multiple interceptors
|
|
21
22
|
* to a request before passing it to the given `HttpBackend`.
|
|
@@ -25,25 +26,24 @@ var server_1 = require("./server");
|
|
|
25
26
|
* on `HttpInterceptingHandler` itself.
|
|
26
27
|
* @see `HttpInterceptor`
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
let HttpInterceptingHandler = class HttpInterceptingHandler {
|
|
30
|
+
constructor(backend, injector) {
|
|
30
31
|
this.backend = backend;
|
|
31
32
|
this.injector = injector;
|
|
32
33
|
this.chain = null;
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
+
handle(req) {
|
|
35
36
|
if (this.chain === null) {
|
|
36
|
-
|
|
37
|
-
this.chain = interceptors.reduceRight(
|
|
37
|
+
const interceptors = this.injector.get(interceptor_1.HTTP_INTERCEPTORS, []);
|
|
38
|
+
this.chain = interceptors.reduceRight((next, interceptor) => new interceptor_1.HttpInterceptorHandler(next, interceptor), this.backend);
|
|
38
39
|
}
|
|
39
40
|
return this.chain.handle(req);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}());
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
HttpInterceptingHandler = (0, tslib_1.__decorate)([
|
|
44
|
+
(0, di_1.Injectable)(),
|
|
45
|
+
(0, tslib_1.__metadata)("design:paramtypes", [backend_1.HttpBackend, di_1.Injector])
|
|
46
|
+
], HttpInterceptingHandler);
|
|
47
47
|
exports.HttpInterceptingHandler = HttpInterceptingHandler;
|
|
48
48
|
/**
|
|
49
49
|
* Constructs an `HttpHandler` that applies interceptors
|
|
@@ -53,12 +53,11 @@ exports.HttpInterceptingHandler = HttpInterceptingHandler;
|
|
|
53
53
|
*
|
|
54
54
|
*
|
|
55
55
|
*/
|
|
56
|
-
function interceptingHandler(backend, interceptors) {
|
|
57
|
-
if (interceptors === void 0) { interceptors = []; }
|
|
56
|
+
function interceptingHandler(backend, interceptors = []) {
|
|
58
57
|
if (!interceptors) {
|
|
59
58
|
return backend;
|
|
60
59
|
}
|
|
61
|
-
return interceptors.reduceRight(
|
|
60
|
+
return interceptors.reduceRight((next, interceptor) => new interceptor_1.HttpInterceptorHandler(next, interceptor), backend);
|
|
62
61
|
}
|
|
63
62
|
exports.interceptingHandler = interceptingHandler;
|
|
64
63
|
/**
|
|
@@ -88,21 +87,18 @@ exports.jsonpCallbackContext = jsonpCallbackContext;
|
|
|
88
87
|
*
|
|
89
88
|
*
|
|
90
89
|
*/
|
|
91
|
-
|
|
92
|
-
function HttpClientXsrfModule() {
|
|
93
|
-
}
|
|
94
|
-
HttpClientXsrfModule_1 = HttpClientXsrfModule;
|
|
90
|
+
let HttpClientXsrfModule = HttpClientXsrfModule_1 = class HttpClientXsrfModule {
|
|
95
91
|
/**
|
|
96
92
|
* Disable the default XSRF protection.
|
|
97
93
|
*/
|
|
98
|
-
|
|
94
|
+
static disable() {
|
|
99
95
|
return {
|
|
100
96
|
$module: HttpClientXsrfModule_1,
|
|
101
97
|
providers: [
|
|
102
98
|
{ provide: xsrf_1.HttpXsrfInterceptor, useClass: interceptor_1.NoopInterceptor },
|
|
103
99
|
],
|
|
104
100
|
};
|
|
105
|
-
}
|
|
101
|
+
}
|
|
106
102
|
/**
|
|
107
103
|
* Configure XSRF protection.
|
|
108
104
|
* @param options An object that can specify either or both
|
|
@@ -111,8 +107,7 @@ var HttpClientXsrfModule = /** @class */ (function () {
|
|
|
111
107
|
* - Header name default is `X-XSRF-TOKEN`.
|
|
112
108
|
*
|
|
113
109
|
*/
|
|
114
|
-
|
|
115
|
-
if (options === void 0) { options = {}; }
|
|
110
|
+
static withOptions(options = {}) {
|
|
116
111
|
return {
|
|
117
112
|
$module: HttpClientXsrfModule_1,
|
|
118
113
|
providers: [
|
|
@@ -120,20 +115,18 @@ var HttpClientXsrfModule = /** @class */ (function () {
|
|
|
120
115
|
options.headerName ? { provide: xsrf_1.XSRF_HEADER_NAME, useValue: options.headerName } : [],
|
|
121
116
|
],
|
|
122
117
|
};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return HttpClientXsrfModule;
|
|
136
|
-
}());
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
HttpClientXsrfModule = HttpClientXsrfModule_1 = (0, tslib_1.__decorate)([
|
|
121
|
+
(0, di_1.Module)({
|
|
122
|
+
providers: [
|
|
123
|
+
xsrf_1.HttpXsrfInterceptor,
|
|
124
|
+
{ provide: interceptor_1.HTTP_INTERCEPTORS, useExisting: xsrf_1.HttpXsrfInterceptor, multi: true },
|
|
125
|
+
{ provide: xsrf_1.XSRF_COOKIE_NAME, useValue: 'XSRF-TOKEN' },
|
|
126
|
+
{ provide: xsrf_1.XSRF_HEADER_NAME, useValue: 'X-XSRF-TOKEN' },
|
|
127
|
+
],
|
|
128
|
+
})
|
|
129
|
+
], HttpClientXsrfModule);
|
|
137
130
|
exports.HttpClientXsrfModule = HttpClientXsrfModule;
|
|
138
131
|
/**
|
|
139
132
|
* An NgModule that provides the `HttpClient` and associated services.
|
|
@@ -143,12 +136,9 @@ exports.HttpClientXsrfModule = HttpClientXsrfModule;
|
|
|
143
136
|
*
|
|
144
137
|
*
|
|
145
138
|
*/
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
HttpClientModule_1 = HttpClientModule;
|
|
150
|
-
HttpClientModule.forRoot = function (config) {
|
|
151
|
-
var providers = [];
|
|
139
|
+
let HttpClientModule = HttpClientModule_1 = class HttpClientModule {
|
|
140
|
+
static forRoot(config) {
|
|
141
|
+
let providers = [];
|
|
152
142
|
if (!config)
|
|
153
143
|
config = {};
|
|
154
144
|
if (!config.platform) {
|
|
@@ -168,34 +158,32 @@ var HttpClientModule = /** @class */ (function () {
|
|
|
168
158
|
else if (config.platform === 'browser') {
|
|
169
159
|
// Default configuration is browser.
|
|
170
160
|
}
|
|
171
|
-
return { $module: HttpClientModule_1, providers
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
return HttpClientModule;
|
|
199
|
-
}());
|
|
161
|
+
return { $module: HttpClientModule_1, providers };
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
HttpClientModule = HttpClientModule_1 = (0, tslib_1.__decorate)([
|
|
165
|
+
(0, di_1.Module)({
|
|
166
|
+
/**
|
|
167
|
+
* Optional configuration for XSRF protection.
|
|
168
|
+
*/
|
|
169
|
+
imports: [
|
|
170
|
+
// HttpClientXsrfModule.withOptions({
|
|
171
|
+
// cookieName: 'XSRF-TOKEN',
|
|
172
|
+
// headerName: 'X-XSRF-TOKEN',
|
|
173
|
+
// }),
|
|
174
|
+
],
|
|
175
|
+
/**
|
|
176
|
+
* The module provides `HttpClient` itself, and supporting services.
|
|
177
|
+
*/
|
|
178
|
+
providers: [
|
|
179
|
+
client_1.HttpClient,
|
|
180
|
+
{ provide: backend_1.HttpHandler, useClass: HttpInterceptingHandler },
|
|
181
|
+
xhr_1.HttpXhrBackend,
|
|
182
|
+
{ provide: backend_1.HttpBackend, useExisting: xhr_1.HttpXhrBackend },
|
|
183
|
+
xhr_1.BrowserXhr,
|
|
184
|
+
{ provide: xhr_1.XhrFactory, useExisting: xhr_1.BrowserXhr },
|
|
185
|
+
],
|
|
186
|
+
})
|
|
187
|
+
], HttpClientModule);
|
|
200
188
|
exports.HttpClientModule = HttpClientModule;
|
|
201
189
|
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/dist/params.js
CHANGED
|
@@ -8,33 +8,29 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.HttpParams = exports.HttpUrlEncodingCodec = void 0;
|
|
11
|
-
var tslib_1 = require("tslib");
|
|
12
11
|
/**
|
|
13
12
|
* A `HttpParameterCodec` that uses `encodeURIComponent` and `decodeURIComponent` to
|
|
14
13
|
* serialize and parse URL parameter keys and values.
|
|
15
14
|
*
|
|
16
15
|
*
|
|
17
16
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
HttpUrlEncodingCodec.prototype.decodeValue = function (value) { return decodeURIComponent(value); };
|
|
25
|
-
return HttpUrlEncodingCodec;
|
|
26
|
-
}());
|
|
17
|
+
class HttpUrlEncodingCodec {
|
|
18
|
+
encodeKey(key) { return standardEncoding(key); }
|
|
19
|
+
encodeValue(value) { return standardEncoding(value); }
|
|
20
|
+
decodeKey(key) { return decodeURIComponent(key); }
|
|
21
|
+
decodeValue(value) { return decodeURIComponent(value); }
|
|
22
|
+
}
|
|
27
23
|
exports.HttpUrlEncodingCodec = HttpUrlEncodingCodec;
|
|
28
24
|
function paramParser(rawParams, codec) {
|
|
29
|
-
|
|
25
|
+
const map = new Map();
|
|
30
26
|
if (rawParams.length > 0) {
|
|
31
|
-
|
|
32
|
-
params.forEach(
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
const params = rawParams.split('&');
|
|
28
|
+
params.forEach((param) => {
|
|
29
|
+
const eqIdx = param.indexOf('=');
|
|
30
|
+
const [key, val] = eqIdx == -1 ?
|
|
35
31
|
[codec.decodeKey(param), ''] :
|
|
36
|
-
[codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))]
|
|
37
|
-
|
|
32
|
+
[codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];
|
|
33
|
+
const list = map.get(key) || [];
|
|
38
34
|
list.push(val);
|
|
39
35
|
map.set(key, list);
|
|
40
36
|
});
|
|
@@ -61,24 +57,22 @@ function standardEncoding(v) {
|
|
|
61
57
|
*
|
|
62
58
|
*
|
|
63
59
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
var _this = this;
|
|
67
|
-
if (options === void 0) { options = {}; }
|
|
60
|
+
class HttpParams {
|
|
61
|
+
constructor(options = {}) {
|
|
68
62
|
this.updates = null;
|
|
69
63
|
this.cloneFrom = null;
|
|
70
64
|
this.encoder = options.encoder || new HttpUrlEncodingCodec();
|
|
71
65
|
if (!!options.fromString) {
|
|
72
66
|
if (!!options.fromObject) {
|
|
73
|
-
throw new Error(
|
|
67
|
+
throw new Error(`Cannot specify both fromString and fromObject.`);
|
|
74
68
|
}
|
|
75
69
|
this.map = paramParser(options.fromString, this.encoder);
|
|
76
70
|
}
|
|
77
71
|
else if (!!options.fromObject) {
|
|
78
72
|
this.map = new Map();
|
|
79
|
-
Object.keys(options.fromObject).forEach(
|
|
80
|
-
|
|
81
|
-
|
|
73
|
+
Object.keys(options.fromObject).forEach(key => {
|
|
74
|
+
const value = options.fromObject[key];
|
|
75
|
+
this.map.set(key, Array.isArray(value) ? value : [value]);
|
|
82
76
|
});
|
|
83
77
|
}
|
|
84
78
|
else {
|
|
@@ -88,107 +82,104 @@ var HttpParams = /** @class */ (function () {
|
|
|
88
82
|
/**
|
|
89
83
|
* Check whether the body has one or more values for the given parameter name.
|
|
90
84
|
*/
|
|
91
|
-
|
|
85
|
+
has(param) {
|
|
92
86
|
this.init();
|
|
93
87
|
return this.map.has(param);
|
|
94
|
-
}
|
|
88
|
+
}
|
|
95
89
|
/**
|
|
96
90
|
* Get the first value for the given parameter name, or `null` if it's not present.
|
|
97
91
|
*/
|
|
98
|
-
|
|
92
|
+
get(param) {
|
|
99
93
|
this.init();
|
|
100
|
-
|
|
94
|
+
const res = this.map.get(param);
|
|
101
95
|
return !!res ? res[0] : null;
|
|
102
|
-
}
|
|
96
|
+
}
|
|
103
97
|
/**
|
|
104
98
|
* Get all values for the given parameter name, or `null` if it's not present.
|
|
105
99
|
*/
|
|
106
|
-
|
|
100
|
+
getAll(param) {
|
|
107
101
|
this.init();
|
|
108
102
|
return this.map.get(param) || null;
|
|
109
|
-
}
|
|
103
|
+
}
|
|
110
104
|
/**
|
|
111
105
|
* Get all the parameter names for this body.
|
|
112
106
|
*/
|
|
113
|
-
|
|
107
|
+
keys() {
|
|
114
108
|
this.init();
|
|
115
109
|
return Array.from(this.map.keys());
|
|
116
|
-
}
|
|
110
|
+
}
|
|
117
111
|
/**
|
|
118
112
|
* Construct a new body with an appended value for the given parameter name.
|
|
119
113
|
*/
|
|
120
|
-
|
|
114
|
+
append(param, value) { return this.clone({ param, value, op: 'a' }); }
|
|
121
115
|
/**
|
|
122
116
|
* Construct a new body with a new value for the given parameter name.
|
|
123
117
|
*/
|
|
124
|
-
|
|
118
|
+
set(param, value) { return this.clone({ param, value, op: 's' }); }
|
|
125
119
|
/**
|
|
126
120
|
* Construct a new body with either the given value for the given parameter
|
|
127
121
|
* removed, if a value is given, or all values for the given parameter removed
|
|
128
122
|
* if not.
|
|
129
123
|
*/
|
|
130
|
-
|
|
124
|
+
delete(param, value) { return this.clone({ param, value, op: 'd' }); }
|
|
131
125
|
/**
|
|
132
126
|
* Serialize the body to an encoded string, where key-value pairs (separated by `=`) are
|
|
133
127
|
* separated by `&`s.
|
|
134
128
|
*/
|
|
135
|
-
|
|
136
|
-
var _this = this;
|
|
129
|
+
toString() {
|
|
137
130
|
this.init();
|
|
138
131
|
return this.keys()
|
|
139
|
-
.map(
|
|
140
|
-
|
|
141
|
-
return
|
|
132
|
+
.map(key => {
|
|
133
|
+
const eKey = this.encoder.encodeKey(key);
|
|
134
|
+
return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))
|
|
142
135
|
.join('&');
|
|
143
136
|
})
|
|
144
137
|
.join('&');
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
|
|
138
|
+
}
|
|
139
|
+
clone(update) {
|
|
140
|
+
const clone = new HttpParams({ encoder: this.encoder });
|
|
148
141
|
clone.cloneFrom = this.cloneFrom || this;
|
|
149
142
|
clone.updates = (this.updates || []).concat([update]);
|
|
150
143
|
return clone;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
var _this = this;
|
|
144
|
+
}
|
|
145
|
+
init() {
|
|
154
146
|
if (this.map === null) {
|
|
155
147
|
this.map = new Map();
|
|
156
148
|
}
|
|
157
149
|
if (this.cloneFrom !== null) {
|
|
158
150
|
this.cloneFrom.init();
|
|
159
|
-
this.cloneFrom.keys().forEach(
|
|
160
|
-
this.updates.forEach(
|
|
151
|
+
this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));
|
|
152
|
+
this.updates.forEach(update => {
|
|
161
153
|
switch (update.op) {
|
|
162
154
|
case 'a':
|
|
163
155
|
case 's':
|
|
164
|
-
|
|
156
|
+
const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];
|
|
165
157
|
base.push(update.value);
|
|
166
|
-
|
|
158
|
+
this.map.set(update.param, base);
|
|
167
159
|
break;
|
|
168
160
|
case 'd':
|
|
169
161
|
if (update.value !== undefined) {
|
|
170
|
-
|
|
171
|
-
|
|
162
|
+
let base = this.map.get(update.param) || [];
|
|
163
|
+
const idx = base.indexOf(update.value);
|
|
172
164
|
if (idx !== -1) {
|
|
173
|
-
|
|
165
|
+
base.splice(idx, 1);
|
|
174
166
|
}
|
|
175
|
-
if (
|
|
176
|
-
|
|
167
|
+
if (base.length > 0) {
|
|
168
|
+
this.map.set(update.param, base);
|
|
177
169
|
}
|
|
178
170
|
else {
|
|
179
|
-
|
|
171
|
+
this.map.delete(update.param);
|
|
180
172
|
}
|
|
181
173
|
}
|
|
182
174
|
else {
|
|
183
|
-
|
|
175
|
+
this.map.delete(update.param);
|
|
184
176
|
break;
|
|
185
177
|
}
|
|
186
178
|
}
|
|
187
179
|
});
|
|
188
180
|
this.cloneFrom = null;
|
|
189
181
|
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
}());
|
|
182
|
+
}
|
|
183
|
+
}
|
|
193
184
|
exports.HttpParams = HttpParams;
|
|
194
185
|
//# sourceMappingURL=params.js.map
|
package/dist/params.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.js","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"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"}
|