ng2-rest 18.0.19 → 18.0.21
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/README.md +135 -135
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/client/README.md +24 -24
- package/index.js +15 -2
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/content-type.js +1 -1
- package/lib/content-type.js.map +1 -1
- package/lib/cookie.js +16 -20
- package/lib/cookie.js.map +1 -1
- package/lib/helpers.js +18 -29
- package/lib/helpers.js.map +1 -1
- package/lib/index._auto-generated_.d.ts +1 -0
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js +22 -9
- package/lib/index.js.map +1 -1
- package/lib/mapping.js +84 -81
- package/lib/mapping.js.map +1 -1
- package/lib/models.js +144 -181
- package/lib/models.js.map +1 -1
- package/lib/other/simple-resource.js +92 -94
- package/lib/other/simple-resource.js.map +1 -1
- package/lib/params.js +69 -70
- package/lib/params.js.map +1 -1
- package/lib/request-cache.js +37 -41
- package/lib/request-cache.js.map +1 -1
- package/lib/resource-service.js +98 -102
- package/lib/resource-service.js.map +1 -1
- package/lib/rest-headers.js +56 -61
- package/lib/rest-headers.js.map +1 -1
- package/lib/rest-request.js +232 -250
- package/lib/rest-request.js.map +1 -1
- package/lib/rest.class.js +101 -116
- package/lib/rest.class.js.map +1 -1
- package/migrations/index.js +15 -2
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.d.ts +1 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +19 -73
- package/src.d.ts +1 -1
- package/tmp-environment.json +8 -406
- package/websql/README.md +24 -24
- package/browser/package.json +0 -25
- package/taon.jsonc +0 -52
- package/websql/package.json +0 -25
package/lib/resource-service.js
CHANGED
|
@@ -1,87 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Resource = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
setTimeout(function () {
|
|
18
|
-
var zone = _this.getZone();
|
|
19
|
-
if (!rest_request_1.RestRequest.zone) {
|
|
20
|
-
rest_request_1.RestRequest.zone = zone;
|
|
21
|
-
}
|
|
22
|
-
;
|
|
23
|
-
});
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const ng2_logger_1 = require("ng2-logger");
|
|
6
|
+
const log = ng2_logger_1.Log.create('resouce-service', ng2_logger_1.Level.__NOTHING);
|
|
7
|
+
const rest_class_1 = require("./rest.class");
|
|
8
|
+
const rest_request_1 = require("./rest-request");
|
|
9
|
+
const cookie_1 = require("./cookie");
|
|
10
|
+
const params_1 = require("./params");
|
|
11
|
+
const tnp_core_1 = require("tnp-core");
|
|
12
|
+
class Resource {
|
|
13
|
+
static _listenErrors = new rxjs_1.Subject();
|
|
14
|
+
static _listenSuccess = new rxjs_1.Subject();
|
|
15
|
+
static get listenErrors() {
|
|
16
|
+
return this._listenErrors.asObservable();
|
|
24
17
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
enumerable: false,
|
|
30
|
-
configurable: true
|
|
31
|
-
});
|
|
32
|
-
Object.defineProperty(Resource, "listenSuccessOperations", {
|
|
33
|
-
get: function () {
|
|
34
|
-
return this._listenSuccess.asObservable();
|
|
35
|
-
},
|
|
36
|
-
enumerable: false,
|
|
37
|
-
configurable: true
|
|
38
|
-
});
|
|
18
|
+
static get listenSuccessOperations() {
|
|
19
|
+
return this._listenSuccess.asObservable();
|
|
20
|
+
}
|
|
21
|
+
static enableWarnings = true;
|
|
39
22
|
//#region private mthods and fields
|
|
40
|
-
|
|
41
|
-
|
|
23
|
+
getZone() {
|
|
24
|
+
const isNode = (typeof window === 'undefined');
|
|
42
25
|
if (isNode) {
|
|
43
26
|
return;
|
|
44
27
|
}
|
|
45
28
|
;
|
|
46
|
-
|
|
47
|
-
|
|
29
|
+
const ng = window['ng'];
|
|
30
|
+
const getAllAngularRootElements = window['getAllAngularRootElements'];
|
|
48
31
|
if (!ng || !getAllAngularRootElements) {
|
|
49
32
|
return;
|
|
50
33
|
}
|
|
51
|
-
|
|
52
|
-
|
|
34
|
+
const probe = ng.probe;
|
|
35
|
+
const coreTokens = ng.coreTokens;
|
|
53
36
|
if (!coreTokens || !coreTokens.NgZone) {
|
|
54
37
|
return;
|
|
55
38
|
}
|
|
56
|
-
|
|
39
|
+
const zoneClass = coreTokens.NgZone;
|
|
57
40
|
if (!probe || typeof probe !== 'function' || !getAllAngularRootElements) {
|
|
58
41
|
return;
|
|
59
42
|
}
|
|
60
|
-
|
|
43
|
+
const angularElements = getAllAngularRootElements();
|
|
61
44
|
if (!Array.isArray(angularElements) || angularElements.length === 0) {
|
|
62
45
|
return;
|
|
63
46
|
}
|
|
64
|
-
|
|
47
|
+
const rootElement = ng.probe(angularElements[0]);
|
|
65
48
|
if (!rootElement) {
|
|
66
49
|
return;
|
|
67
50
|
}
|
|
68
|
-
|
|
51
|
+
const injector = rootElement.injector;
|
|
69
52
|
if (!injector || !injector.get || typeof injector.get !== 'function') {
|
|
70
53
|
return;
|
|
71
54
|
}
|
|
72
|
-
|
|
55
|
+
const zone = injector.get(zoneClass);
|
|
73
56
|
return zone;
|
|
74
|
-
}
|
|
75
|
-
|
|
57
|
+
}
|
|
58
|
+
static initAngularNgZone(zone) {
|
|
76
59
|
rest_request_1.RestRequest.zone = zone;
|
|
77
|
-
}
|
|
78
|
-
|
|
60
|
+
}
|
|
61
|
+
checkNestedModels(model, allModels) {
|
|
79
62
|
// if (model.indexOf('/') !== -1) { //TODO make this better, becouse now I unecesary checking shit
|
|
80
|
-
for (
|
|
63
|
+
for (let p in allModels) {
|
|
81
64
|
if (allModels.hasOwnProperty(p)) {
|
|
82
|
-
|
|
65
|
+
let m = allModels[p];
|
|
83
66
|
if ((0, params_1.isValid)(p)) {
|
|
84
|
-
|
|
67
|
+
let urlModels = (0, params_1.getModels)(p);
|
|
85
68
|
if ((0, params_1.containsModels)(model, urlModels)) {
|
|
86
69
|
model = p;
|
|
87
70
|
break;
|
|
@@ -91,52 +74,74 @@ var Resource = /** @class */ (function () {
|
|
|
91
74
|
}
|
|
92
75
|
// }
|
|
93
76
|
return model;
|
|
94
|
-
}
|
|
95
|
-
|
|
77
|
+
}
|
|
78
|
+
static instance = new Resource();
|
|
79
|
+
static endpoints = {};
|
|
80
|
+
static getModel(endpoint, model) {
|
|
96
81
|
model = Resource.prepareModel(model);
|
|
97
|
-
|
|
82
|
+
const e = Resource.endpoints[endpoint];
|
|
98
83
|
if (!e) {
|
|
99
84
|
return void 0;
|
|
100
85
|
}
|
|
101
|
-
|
|
86
|
+
const r = Resource.endpoints[endpoint].models[model];
|
|
102
87
|
return Resource.endpoints[endpoint].models[model];
|
|
103
|
-
}
|
|
88
|
+
}
|
|
89
|
+
static request = new rest_request_1.RestRequest();
|
|
104
90
|
//#endregion
|
|
105
91
|
//#region create
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
92
|
+
static create(e, model, entityMapping, circular, customContentType) {
|
|
93
|
+
const badRestRegEX = new RegExp('((\/:)[a-z]+)+', 'g');
|
|
94
|
+
const matchArr = model.match(badRestRegEX) || [];
|
|
95
|
+
const badModelsNextToEachOther = matchArr.join();
|
|
96
|
+
const atleas2DoubleDots = ((badModelsNextToEachOther.match(new RegExp(':', 'g')) || []).length >= 2);
|
|
111
97
|
if (atleas2DoubleDots && model.search(badModelsNextToEachOther) !== -1) {
|
|
112
|
-
throw new Error(
|
|
98
|
+
throw new Error(`
|
|
99
|
+
|
|
100
|
+
Bad rest model: ${model}
|
|
101
|
+
|
|
102
|
+
Do not create rest models like this: /book/author/:bookid/:authorid
|
|
103
|
+
Instead use nested approach: /book/:bookid/author/:authorid
|
|
104
|
+
`);
|
|
113
105
|
}
|
|
114
106
|
;
|
|
115
107
|
Resource.map(e, e);
|
|
116
108
|
Resource.instance.add(e, model ? model : '', entityMapping, circular, customContentType);
|
|
117
109
|
// if (model.charAt(model.length - 1) !== '/') model = `${model}/`;
|
|
118
110
|
return {
|
|
119
|
-
model:
|
|
120
|
-
replay:
|
|
111
|
+
model: (params) => Resource.instance.api(e, (0, params_1.interpolateParamsToUrl)(params, model)),
|
|
112
|
+
replay: (method) => {
|
|
121
113
|
Resource.getModel(e, model).replay(method);
|
|
122
114
|
},
|
|
123
115
|
get headers() {
|
|
124
116
|
return Resource.getModel(e, model).headers;
|
|
125
117
|
}
|
|
126
118
|
};
|
|
127
|
-
}
|
|
119
|
+
}
|
|
128
120
|
//#endregion
|
|
129
121
|
//#region reset
|
|
130
|
-
|
|
122
|
+
static reset() {
|
|
131
123
|
Resource.endpoints = {};
|
|
132
|
-
}
|
|
124
|
+
}
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region constructor
|
|
127
|
+
constructor() {
|
|
128
|
+
setTimeout(() => {
|
|
129
|
+
const zone = this.getZone();
|
|
130
|
+
if (!rest_request_1.RestRequest.zone) {
|
|
131
|
+
rest_request_1.RestRequest.zone = zone;
|
|
132
|
+
}
|
|
133
|
+
;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
//#endregion
|
|
137
|
+
static Cookies = cookie_1.Cookie.Instance;
|
|
133
138
|
//#region map
|
|
134
|
-
|
|
139
|
+
static map(endpoint, url) {
|
|
135
140
|
log.i('url', url);
|
|
136
|
-
|
|
137
|
-
|
|
141
|
+
let regex = /(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-\/]))?/;
|
|
142
|
+
let e = endpoint;
|
|
138
143
|
if (!regex.test(url)) {
|
|
139
|
-
throw
|
|
144
|
+
throw `Url address is not correct: ${url}`;
|
|
140
145
|
}
|
|
141
146
|
if (url.charAt(url.length - 1) === '/')
|
|
142
147
|
url = url.slice(0, url.length - 1);
|
|
@@ -153,15 +158,15 @@ var Resource = /** @class */ (function () {
|
|
|
153
158
|
};
|
|
154
159
|
log.i('enpoints', Resource.endpoints);
|
|
155
160
|
return true;
|
|
156
|
-
}
|
|
161
|
+
}
|
|
157
162
|
//#endregion
|
|
158
|
-
|
|
163
|
+
static prepareModel(model) {
|
|
159
164
|
if (model.charAt(model.length - 1) === '/')
|
|
160
165
|
model = model.slice(0, model.length - 1);
|
|
161
166
|
if (model.charAt(0) === '/')
|
|
162
167
|
model = model.slice(1, model.length);
|
|
163
168
|
return model;
|
|
164
|
-
}
|
|
169
|
+
}
|
|
165
170
|
//#region add
|
|
166
171
|
/**
|
|
167
172
|
* And enipoint to application
|
|
@@ -170,10 +175,10 @@ var Resource = /** @class */ (function () {
|
|
|
170
175
|
* @param {string} model
|
|
171
176
|
* @returns {boolean}
|
|
172
177
|
*/
|
|
173
|
-
|
|
174
|
-
log.i(
|
|
178
|
+
add(endpoint, model, entity, circular, customContentType) {
|
|
179
|
+
log.i(`I am maping ${model} on ${endpoint}`);
|
|
175
180
|
model = Resource.prepareModel(model);
|
|
176
|
-
|
|
181
|
+
let e;
|
|
177
182
|
e = (endpoint).toString();
|
|
178
183
|
if (Resource.endpoints[e] === void 0) {
|
|
179
184
|
console.error('Endpoint is not mapped ! Cannot add model ' + model);
|
|
@@ -181,7 +186,7 @@ var Resource = /** @class */ (function () {
|
|
|
181
186
|
}
|
|
182
187
|
if (Resource.endpoints[e].models[model] !== void 0) {
|
|
183
188
|
if (Resource.enableWarnings)
|
|
184
|
-
console.warn(
|
|
189
|
+
console.warn(`Model '${model}' is already defined in endpoint: `
|
|
185
190
|
+ Resource.endpoints[e].url);
|
|
186
191
|
return;
|
|
187
192
|
}
|
|
@@ -190,11 +195,11 @@ var Resource = /** @class */ (function () {
|
|
|
190
195
|
+ '/' + model, Resource.request, {
|
|
191
196
|
endpoint: e,
|
|
192
197
|
path: model,
|
|
193
|
-
entity
|
|
194
|
-
circular
|
|
198
|
+
entity,
|
|
199
|
+
circular,
|
|
195
200
|
}, customContentType); // TODO put custom content type in meta ?
|
|
196
201
|
return;
|
|
197
|
-
}
|
|
202
|
+
}
|
|
198
203
|
//#endregion
|
|
199
204
|
//#region api
|
|
200
205
|
/**
|
|
@@ -204,35 +209,35 @@ var Resource = /** @class */ (function () {
|
|
|
204
209
|
* @param {string} model
|
|
205
210
|
* @returns {Rest<T, TA>}
|
|
206
211
|
*/
|
|
207
|
-
|
|
212
|
+
api(endpoint, model) {
|
|
208
213
|
// log.i(`[api]
|
|
209
214
|
// creating for endpoint: "${endpoint}"
|
|
210
215
|
// model: "${model}"
|
|
211
216
|
// `)
|
|
212
217
|
if (model.charAt(0) === '/')
|
|
213
218
|
model = model.slice(1, model.length);
|
|
214
|
-
|
|
219
|
+
let e = (endpoint).toString();
|
|
215
220
|
if (Resource.endpoints[e] === void 0) {
|
|
216
|
-
throw
|
|
221
|
+
throw `Endpoint: ${endpoint} is not mapped ! Cannot add model: ${model}`;
|
|
217
222
|
}
|
|
218
|
-
|
|
219
|
-
|
|
223
|
+
let allModels = Resource.endpoints[e].models;
|
|
224
|
+
let orgModel = model;
|
|
220
225
|
model = this.checkNestedModels(model, allModels);
|
|
221
226
|
if (Resource.endpoints[e].models[model] === void 0) {
|
|
222
227
|
// log.d('Resource.endpoints', Resource.endpoints);
|
|
223
|
-
throw
|
|
228
|
+
throw `Model '${model}' is undefined in endpoint: ${Resource.endpoints[e].url} `;
|
|
224
229
|
}
|
|
225
|
-
|
|
230
|
+
let res = Resource.endpoints[(endpoint).toString()].models[model];
|
|
226
231
|
// log.d(`
|
|
227
232
|
// orgModel: ${orgModel}
|
|
228
233
|
// model: ${model}
|
|
229
234
|
// `)
|
|
230
235
|
if (orgModel !== model) {
|
|
231
|
-
|
|
236
|
+
let baseUrl = Resource.endpoints[(endpoint).toString()].url;
|
|
232
237
|
// log.d('base', Resource.endpoints[<string>(endpoint).toString()])
|
|
233
238
|
// log.d('baseUrl', baseUrl)
|
|
234
239
|
// log.d('orgModel', orgModel)
|
|
235
|
-
res.__rest_endpoint =
|
|
240
|
+
res.__rest_endpoint = `${baseUrl}/${orgModel}`;
|
|
236
241
|
}
|
|
237
242
|
else {
|
|
238
243
|
res.__rest_endpoint = void 0;
|
|
@@ -240,17 +245,8 @@ var Resource = /** @class */ (function () {
|
|
|
240
245
|
;
|
|
241
246
|
// log.i(`Resource.endpoints`, Resource.endpoints)
|
|
242
247
|
return res;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
Resource._listenSuccess = new rxjs_1.Subject();
|
|
246
|
-
Resource.enableWarnings = true;
|
|
247
|
-
Resource.instance = new Resource();
|
|
248
|
-
Resource.endpoints = {};
|
|
249
|
-
Resource.request = new rest_request_1.RestRequest();
|
|
250
|
-
//#endregion
|
|
251
|
-
Resource.Cookies = cookie_1.Cookie.Instance;
|
|
252
|
-
return Resource;
|
|
253
|
-
}());
|
|
248
|
+
}
|
|
249
|
+
}
|
|
254
250
|
exports.Resource = Resource;
|
|
255
251
|
// const res = Resource.create('')
|
|
256
252
|
// res.model()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-service.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAEA
|
|
1
|
+
{"version":3,"file":"resource-service.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/ng2-rest/src/lib/resource-service.ts"],"names":[],"mappings":"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"}
|
package/lib/rest-headers.js
CHANGED
|
@@ -1,97 +1,94 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RestHeaders = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
class RestHeaders {
|
|
5
|
+
/** @internal header names are lower case */
|
|
6
|
+
_headers = new Map();
|
|
7
|
+
/** @internal map lower case names to actual names */
|
|
8
|
+
_normalizedNames = new Map();
|
|
9
|
+
static from(headers) {
|
|
10
|
+
if (!headers) {
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
return new RestHeaders(headers);
|
|
14
|
+
}
|
|
15
|
+
constructor(headers) {
|
|
12
16
|
if (headers instanceof RestHeaders) {
|
|
13
|
-
headers.forEach(
|
|
14
|
-
values.forEach(
|
|
17
|
+
headers.forEach((values, name) => {
|
|
18
|
+
values.forEach(value => this.set(name, value));
|
|
15
19
|
});
|
|
16
20
|
}
|
|
17
21
|
else {
|
|
18
|
-
Object.keys(headers).forEach(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
values.forEach(
|
|
22
|
+
Object.keys(headers).forEach((name) => {
|
|
23
|
+
const values = (Array.isArray(headers[name]) ? headers[name] : [headers[name]]);
|
|
24
|
+
this.delete(name);
|
|
25
|
+
values.forEach(value => this.set(name, value));
|
|
22
26
|
});
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
|
-
RestHeaders.from = function (headers) {
|
|
26
|
-
if (!headers) {
|
|
27
|
-
return void 0;
|
|
28
|
-
}
|
|
29
|
-
return new RestHeaders(headers);
|
|
30
|
-
};
|
|
31
29
|
/**
|
|
32
30
|
* Returns a new RestHeaders instance from the given DOMString of Response RestHeaders
|
|
33
31
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
static fromResponseHeaderString(headersString) {
|
|
33
|
+
const headers = new RestHeaders();
|
|
36
34
|
// console.log({
|
|
37
35
|
// headersString
|
|
38
36
|
// })
|
|
39
|
-
headersString.split('\n').forEach(
|
|
40
|
-
|
|
37
|
+
headersString.split('\n').forEach(line => {
|
|
38
|
+
const index = line.indexOf(':');
|
|
41
39
|
if (index > 0) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
headers.set(
|
|
40
|
+
const name = line.slice(0, index);
|
|
41
|
+
const value = line.slice(index + 1).trim();
|
|
42
|
+
headers.set(name, value);
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
45
|
return headers;
|
|
48
|
-
}
|
|
46
|
+
}
|
|
49
47
|
/**
|
|
50
48
|
* Appends a header to existing list of header values for a given header name.
|
|
51
49
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
append(name, value) {
|
|
51
|
+
const values = this.getAll(name);
|
|
54
52
|
if (values === null) {
|
|
55
53
|
this.set(name, value);
|
|
56
54
|
}
|
|
57
55
|
else {
|
|
58
56
|
values.push(value);
|
|
59
57
|
}
|
|
60
|
-
}
|
|
58
|
+
}
|
|
61
59
|
/**
|
|
62
60
|
* Deletes all header values for the given name.
|
|
63
61
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
delete(name) {
|
|
63
|
+
const lcName = name.toLowerCase();
|
|
66
64
|
this._normalizedNames.delete(lcName);
|
|
67
65
|
this._headers.delete(lcName);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
};
|
|
66
|
+
}
|
|
67
|
+
forEach(fn) {
|
|
68
|
+
this._headers.forEach((values, lcName) => fn(values, this._normalizedNames.get(lcName), this._headers));
|
|
69
|
+
}
|
|
73
70
|
/**
|
|
74
71
|
* Returns first header that matches given name.
|
|
75
72
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
get(name) {
|
|
74
|
+
const values = this.getAll(name);
|
|
78
75
|
if (values === null) {
|
|
79
76
|
return null;
|
|
80
77
|
}
|
|
81
78
|
return values.length > 0 ? values[0] : null;
|
|
82
|
-
}
|
|
79
|
+
}
|
|
83
80
|
/**
|
|
84
81
|
* Checks for existence of header by given name.
|
|
85
82
|
*/
|
|
86
|
-
|
|
83
|
+
has(name) { return this._headers.has(name.toLowerCase()); }
|
|
87
84
|
/**
|
|
88
85
|
* Returns the names of the headers
|
|
89
86
|
*/
|
|
90
|
-
|
|
87
|
+
keys() { return Array.from(this._normalizedNames.values()); }
|
|
91
88
|
/**
|
|
92
89
|
* Sets or overrides header value for given name.
|
|
93
90
|
*/
|
|
94
|
-
|
|
91
|
+
set(name, value) {
|
|
95
92
|
if (Array.isArray(value)) {
|
|
96
93
|
if (value.length) {
|
|
97
94
|
this._headers.set(name.toLowerCase(), [value.join(',')]);
|
|
@@ -101,46 +98,44 @@ var RestHeaders = /** @class */ (function () {
|
|
|
101
98
|
this._headers.set(name.toLowerCase(), [value]);
|
|
102
99
|
}
|
|
103
100
|
this.mayBeSetNormalizedName(name);
|
|
104
|
-
}
|
|
101
|
+
}
|
|
105
102
|
/**
|
|
106
103
|
* Returns values of all headers.
|
|
107
104
|
*/
|
|
108
|
-
|
|
105
|
+
values() { return Array.from(this._headers.values()); }
|
|
109
106
|
/**
|
|
110
107
|
* Returns string of all headers.
|
|
111
108
|
*/
|
|
112
109
|
// TODO(vicb): returns {[name: string]: string[]}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
var serialized = {};
|
|
110
|
+
toJSON() {
|
|
111
|
+
const serialized = {};
|
|
116
112
|
if (!this._headers) {
|
|
117
113
|
// debugger
|
|
118
114
|
}
|
|
119
115
|
// console.log('serializing headers',this._headers)
|
|
120
|
-
this._headers.forEach(
|
|
121
|
-
|
|
122
|
-
values.forEach(
|
|
116
|
+
this._headers.forEach((values, name) => {
|
|
117
|
+
const split = [];
|
|
118
|
+
values.forEach(v => split.push(...v.split(',')));
|
|
123
119
|
// console.log({
|
|
124
120
|
// values
|
|
125
121
|
// })
|
|
126
122
|
// values.forEach(v => split.push(...(v ? v : '').split(',')));
|
|
127
|
-
serialized[
|
|
123
|
+
serialized[this._normalizedNames.get(name)] = split;
|
|
128
124
|
});
|
|
129
125
|
return serialized;
|
|
130
|
-
}
|
|
126
|
+
}
|
|
131
127
|
/**
|
|
132
128
|
* Returns list of header values for a given name.
|
|
133
129
|
*/
|
|
134
|
-
|
|
130
|
+
getAll(name) {
|
|
135
131
|
return this.has(name) ? this._headers.get(name.toLowerCase()) : null;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
132
|
+
}
|
|
133
|
+
mayBeSetNormalizedName(name) {
|
|
134
|
+
const lcName = name.toLowerCase();
|
|
139
135
|
if (!this._normalizedNames.has(lcName)) {
|
|
140
136
|
this._normalizedNames.set(lcName, name);
|
|
141
137
|
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
}());
|
|
138
|
+
}
|
|
139
|
+
}
|
|
145
140
|
exports.RestHeaders = RestHeaders;
|
|
146
141
|
//# sourceMappingURL=rest-headers.js.map
|
package/lib/rest-headers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-headers.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rest-headers.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/ng2-rest/src/lib/rest-headers.ts"],"names":[],"mappings":"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"}
|