ng2-rest 11.0.40 → 12.0.3
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 +1 -1
- package/app.js +2 -47
- package/app.js.map +1 -1
- package/browser/README.md +24 -0
- package/browser/esm2020/lib/cookie.mjs +27 -0
- package/browser/esm2020/lib/helpers.mjs +22 -0
- package/browser/esm2020/lib/index.mjs +10 -0
- package/browser/esm2020/lib/mapping.mjs +271 -0
- package/browser/esm2020/lib/models.mjs +135 -0
- package/browser/esm2020/lib/params.mjs +305 -0
- package/browser/esm2020/lib/request-cache.mjs +95 -0
- package/browser/esm2020/lib/resource.service.mjs +255 -0
- package/browser/esm2020/lib/rest-headers.mjs +129 -0
- package/browser/esm2020/lib/rest-request.mjs +311 -0
- package/browser/esm2020/lib/rest.class.mjs +114 -0
- package/browser/esm2020/lib/simple-resource.mjs +117 -0
- package/browser/esm2020/ng2-rest.mjs +5 -0
- package/browser/esm2020/public-api.mjs +2 -0
- package/browser/fesm2015/ng2-rest.mjs +1755 -0
- package/browser/fesm2015/ng2-rest.mjs.map +1 -0
- package/browser/fesm2020/ng2-rest.mjs +1752 -0
- package/browser/fesm2020/ng2-rest.mjs.map +1 -0
- package/browser/{cookie.d.ts → lib/cookie.d.ts} +0 -0
- package/browser/{helpers.d.ts → lib/helpers.d.ts} +0 -0
- package/browser/{index.d.ts → lib/index.d.ts} +0 -0
- package/browser/{mapping.d.ts → lib/mapping.d.ts} +0 -0
- package/{client → browser/lib}/models.d.ts +2 -3
- package/browser/{params.d.ts → lib/params.d.ts} +0 -0
- package/browser/{request-cache.d.ts → lib/request-cache.d.ts} +0 -0
- package/browser/{resource.service.d.ts → lib/resource.service.d.ts} +1 -5
- package/browser/{rest-headers.d.ts → lib/rest-headers.d.ts} +0 -0
- package/{rest-request.d.ts → browser/lib/rest-request.d.ts} +0 -3
- package/{rest.class.d.ts → browser/lib/rest.class.d.ts} +0 -1
- package/browser/{simple-resource.d.ts → lib/simple-resource.d.ts} +1 -5
- package/browser/ng2-rest.d.ts +5 -0
- package/browser/package.json +31 -0
- package/browser/public-api.d.ts +1 -0
- package/client/README.md +24 -0
- package/client/esm2020/lib/cookie.mjs +27 -0
- package/client/esm2020/lib/helpers.mjs +22 -0
- package/client/esm2020/lib/index.mjs +10 -0
- package/client/esm2020/lib/mapping.mjs +271 -0
- package/client/esm2020/lib/models.mjs +135 -0
- package/client/esm2020/lib/params.mjs +305 -0
- package/client/esm2020/lib/request-cache.mjs +95 -0
- package/client/esm2020/lib/resource.service.mjs +255 -0
- package/client/esm2020/lib/rest-headers.mjs +129 -0
- package/client/esm2020/lib/rest-request.mjs +311 -0
- package/client/esm2020/lib/rest.class.mjs +114 -0
- package/client/esm2020/lib/simple-resource.mjs +117 -0
- package/client/esm2020/ng2-rest.mjs +5 -0
- package/client/esm2020/public-api.mjs +2 -0
- package/client/fesm2015/ng2-rest.mjs +1755 -0
- package/client/fesm2015/ng2-rest.mjs.map +1 -0
- package/client/fesm2020/ng2-rest.mjs +1752 -0
- package/client/fesm2020/ng2-rest.mjs.map +1 -0
- package/client/{cookie.d.ts → lib/cookie.d.ts} +0 -0
- package/client/{helpers.d.ts → lib/helpers.d.ts} +0 -0
- package/client/{index.d.ts → lib/index.d.ts} +0 -0
- package/client/{mapping.d.ts → lib/mapping.d.ts} +0 -0
- package/{browser → client/lib}/models.d.ts +2 -3
- package/client/{params.d.ts → lib/params.d.ts} +0 -0
- package/client/{request-cache.d.ts → lib/request-cache.d.ts} +0 -0
- package/client/{resource.service.d.ts → lib/resource.service.d.ts} +1 -5
- package/client/{rest-headers.d.ts → lib/rest-headers.d.ts} +0 -0
- package/client/{rest-request.d.ts → lib/rest-request.d.ts} +0 -3
- package/client/{rest.class.d.ts → lib/rest.class.d.ts} +0 -1
- package/{simple-resource.d.ts → client/lib/simple-resource.d.ts} +1 -5
- package/client/ng2-rest.d.ts +5 -0
- package/client/package.json +25 -31
- package/client/public-api.d.ts +1 -0
- package/index.d.ts +1 -9
- package/index.js +3 -13
- package/index.js.map +1 -1
- package/{cookie.d.ts → lib/cookie.d.ts} +0 -0
- package/{cookie.js → lib/cookie.js} +2 -1
- package/lib/cookie.js.map +1 -0
- package/{helpers.d.ts → lib/helpers.d.ts} +0 -0
- package/{helpers.js → lib/helpers.js} +3 -2
- package/lib/helpers.js.map +1 -0
- package/{browser/index.js → lib/index.d.ts} +0 -1
- package/lib/index.js +17 -0
- package/lib/index.js.map +1 -0
- package/{mapping.d.ts → lib/mapping.d.ts} +0 -0
- package/{mapping.js → lib/mapping.js} +5 -4
- package/lib/mapping.js.map +1 -0
- package/{models.d.ts → lib/models.d.ts} +2 -3
- package/{models.js → lib/models.js} +6 -6
- package/lib/models.js.map +1 -0
- package/{params.d.ts → lib/params.d.ts} +0 -0
- package/{params.js → lib/params.js} +17 -16
- package/lib/params.js.map +1 -0
- package/{request-cache.d.ts → lib/request-cache.d.ts} +0 -0
- package/{request-cache.js → lib/request-cache.js} +2 -1
- package/lib/request-cache.js.map +1 -0
- package/{resource.service.d.ts → lib/resource.service.d.ts} +1 -5
- package/{resource.service.js → lib/resource.service.js} +33 -26
- package/lib/resource.service.js.map +1 -0
- package/{rest-headers.d.ts → lib/rest-headers.d.ts} +0 -0
- package/{rest-headers.js → lib/rest-headers.js} +2 -1
- package/lib/rest-headers.js.map +1 -0
- package/{browser → lib}/rest-request.d.ts +0 -3
- package/{rest-request.js → lib/rest-request.js} +19 -19
- package/lib/rest-request.js.map +1 -0
- package/{browser → lib}/rest.class.d.ts +0 -1
- package/{rest.class.js → lib/rest.class.js} +4 -5
- package/lib/rest.class.js.map +1 -0
- package/{client → lib}/simple-resource.d.ts +1 -5
- package/{simple-resource.js → lib/simple-resource.js} +11 -14
- package/lib/simple-resource.js.map +1 -0
- package/package.json +10 -10
- package/package.json_devDependencies.json +24 -24
- package/package.json_tnp.json +2 -1
- package/package.json_tnp.json5 +39 -0
- package/tmp-environment.json +85 -121
- package/browser/app.d.ts +0 -0
- package/browser/app.js +0 -31
- package/browser/app.js.map +0 -1
- package/browser/cookie.js +0 -27
- package/browser/cookie.js.map +0 -1
- package/browser/es5/app.js +0 -32
- package/browser/es5/cookie.js +0 -50
- package/browser/es5/helpers.js +0 -58
- package/browser/es5/index.js +0 -107
- package/browser/es5/mapping.js +0 -287
- package/browser/es5/models.js +0 -249
- package/browser/es5/params.js +0 -310
- package/browser/es5/request-cache.js +0 -133
- package/browser/es5/resource.service.js +0 -288
- package/browser/es5/rest-headers.js +0 -200
- package/browser/es5/rest-request.js +0 -423
- package/browser/es5/rest.class.js +0 -191
- package/browser/es5/simple-resource.js +0 -175
- package/browser/helpers.js +0 -22
- package/browser/helpers.js.map +0 -1
- package/browser/index.js.map +0 -1
- package/browser/mapping.js +0 -271
- package/browser/mapping.js.map +0 -1
- package/browser/models.js +0 -136
- package/browser/models.js.map +0 -1
- package/browser/params.js +0 -305
- package/browser/params.js.map +0 -1
- package/browser/request-cache.js +0 -95
- package/browser/request-cache.js.map +0 -1
- package/browser/resource.service.js +0 -249
- package/browser/resource.service.js.map +0 -1
- package/browser/rest-headers.js +0 -129
- package/browser/rest-headers.js.map +0 -1
- package/browser/rest-request.js +0 -316
- package/browser/rest-request.js.map +0 -1
- package/browser/rest.class.js +0 -116
- package/browser/rest.class.js.map +0 -1
- package/browser/simple-resource.js +0 -121
- package/browser/simple-resource.js.map +0 -1
- package/client/app.d.ts +0 -0
- package/client/app.js +0 -31
- package/client/app.js.map +0 -1
- package/client/cookie.js +0 -27
- package/client/cookie.js.map +0 -1
- package/client/es5/app.js +0 -32
- package/client/es5/cookie.js +0 -50
- package/client/es5/helpers.js +0 -58
- package/client/es5/index.js +0 -107
- package/client/es5/mapping.js +0 -287
- package/client/es5/models.js +0 -249
- package/client/es5/params.js +0 -310
- package/client/es5/request-cache.js +0 -133
- package/client/es5/resource.service.js +0 -288
- package/client/es5/rest-headers.js +0 -200
- package/client/es5/rest-request.js +0 -423
- package/client/es5/rest.class.js +0 -191
- package/client/es5/simple-resource.js +0 -175
- package/client/helpers.js +0 -22
- package/client/helpers.js.map +0 -1
- package/client/index.js +0 -10
- package/client/index.js.map +0 -1
- package/client/mapping.js +0 -271
- package/client/mapping.js.map +0 -1
- package/client/models.js +0 -136
- package/client/models.js.map +0 -1
- package/client/params.js +0 -305
- package/client/params.js.map +0 -1
- package/client/request-cache.js +0 -95
- package/client/request-cache.js.map +0 -1
- package/client/resource.service.js +0 -249
- package/client/resource.service.js.map +0 -1
- package/client/rest-headers.js +0 -129
- package/client/rest-headers.js.map +0 -1
- package/client/rest-request.js +0 -316
- package/client/rest-request.js.map +0 -1
- package/client/rest.class.js +0 -116
- package/client/rest.class.js.map +0 -1
- package/client/simple-resource.js +0 -121
- package/client/simple-resource.js.map +0 -1
- package/cookie.js.map +0 -1
- package/helpers.js.map +0 -1
- package/mapping.js.map +0 -1
- package/models.js.map +0 -1
- package/params.js.map +0 -1
- package/request-cache.js.map +0 -1
- package/resource.service.js.map +0 -1
- package/rest-headers.js.map +0 -1
- package/rest-request.js.map +0 -1
- package/rest.class.js.map +0 -1
- package/simple-resource.js.map +0 -1
package/client/es5/params.js
DELETED
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.regexisPath = undefined;
|
|
7
|
-
|
|
8
|
-
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
9
|
-
|
|
10
|
-
exports.isValid = isValid;
|
|
11
|
-
exports.check = check;
|
|
12
|
-
exports.getModels = getModels;
|
|
13
|
-
exports.getRestPramsNames = getRestPramsNames;
|
|
14
|
-
exports.containsModels = containsModels;
|
|
15
|
-
exports.stars = stars;
|
|
16
|
-
exports.getRestParams = getRestParams;
|
|
17
|
-
exports.interpolateParamsToUrl = interpolateParamsToUrl;
|
|
18
|
-
exports.decodeUrl = decodeUrl;
|
|
19
|
-
exports.getParamsUrl = getParamsUrl;
|
|
20
|
-
exports.prepareUrlOldWay = prepareUrlOldWay;
|
|
21
|
-
|
|
22
|
-
var _diff = require('diff');
|
|
23
|
-
|
|
24
|
-
var _browser = require('tnp-core/browser');
|
|
25
|
-
|
|
26
|
-
var _browser2 = require('ng2-logger/browser');
|
|
27
|
-
|
|
28
|
-
var _helpers = require('./helpers');
|
|
29
|
-
|
|
30
|
-
var log = _browser2.Log.create('[ng2-rest] params', _browser2.Level.__NOTHING);
|
|
31
|
-
/** check if string is a valid pattern */
|
|
32
|
-
function isValid(pattern) {
|
|
33
|
-
return new RegExp('\/:[a-zA-Z]*', 'g').test(pattern.replace('://', ''));
|
|
34
|
-
}
|
|
35
|
-
function check(url, pattern) {
|
|
36
|
-
if (!_helpers.Helpers.checkValidUrl(url)) {
|
|
37
|
-
log.error('Incorrect url: ' + url);
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
if (url.charAt(url.length - 1) === '/') url = url.slice(0, url.length - 2);
|
|
41
|
-
if (pattern.charAt(pattern.length - 1) === '/') pattern = pattern.slice(0, url.length - 2);
|
|
42
|
-
pattern = pattern.replace(/\//g, '\/');
|
|
43
|
-
pattern = pattern.replace(new RegExp('\/:[a-zA-Z]*', 'g'), '.+');
|
|
44
|
-
var reg = new RegExp(pattern, 'g');
|
|
45
|
-
return reg.test(url);
|
|
46
|
-
}
|
|
47
|
-
function getModels(pattern) {
|
|
48
|
-
var m = pattern.match(new RegExp('[a-z-A-Z]*\/:', 'g'));
|
|
49
|
-
return m.map(function (p) {
|
|
50
|
-
return p.replace('/:', '');
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
function getRestPramsNames(pattern) {
|
|
54
|
-
if (pattern.charAt(pattern.length - 1) !== '/') pattern = pattern + '/';
|
|
55
|
-
var m = pattern.match(new RegExp(':[a-zA-Z]*\/', 'g'));
|
|
56
|
-
var res = m.map(function (p) {
|
|
57
|
-
return p.replace(':', '').replace('/', '');
|
|
58
|
-
});
|
|
59
|
-
return res.filter(function (p) {
|
|
60
|
-
return p.trim() !== '';
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
function containsModels(url, models) {
|
|
64
|
-
if (url.charAt(0) !== '/') url = '/' + url;
|
|
65
|
-
// url = url.replace(new RegExp('\/', 'g'), '');
|
|
66
|
-
var res = models.filter(function (m) {
|
|
67
|
-
var word = '/' + m;
|
|
68
|
-
// log.d('word', word)
|
|
69
|
-
var iii = url.indexOf(word);
|
|
70
|
-
// log.d('iii', iii)
|
|
71
|
-
if (iii + word.length < url.length && url.charAt(iii + word.length) !== '/') {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
if (iii !== -1) {
|
|
75
|
-
url = url.replace(new RegExp('\/' + m, 'g'), '');
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
return false;
|
|
79
|
-
}).length;
|
|
80
|
-
// log.d('containsModels', res);
|
|
81
|
-
return res === models.length;
|
|
82
|
-
}
|
|
83
|
-
function stars(n) {
|
|
84
|
-
var res = '';
|
|
85
|
-
for (var i = 0; i < n; i++) {
|
|
86
|
-
res += '*';
|
|
87
|
-
}return res;
|
|
88
|
-
}
|
|
89
|
-
function getRestParams(url, pattern) {
|
|
90
|
-
var res = {};
|
|
91
|
-
var models = getRestPramsNames(pattern);
|
|
92
|
-
// log.d('models', models);
|
|
93
|
-
models.forEach(function (m) {
|
|
94
|
-
pattern = pattern.replace(':' + m, stars(m.length));
|
|
95
|
-
});
|
|
96
|
-
var currentModel = void 0;
|
|
97
|
-
(0, _diff.diffChars)(pattern, url).forEach(function (d) {
|
|
98
|
-
// log.d('d', d);
|
|
99
|
-
if (d.added) {
|
|
100
|
-
if (!isNaN(Number(d.value))) res[currentModel] = Number(d.value);else if (d.value.trim() === 'true') res[currentModel] = true;else if (d.value.trim() === 'false') res[currentModel] = false;else res[currentModel] = decodeURIComponent(d.value);
|
|
101
|
-
currentModel = void 0;
|
|
102
|
-
}
|
|
103
|
-
var m = d.value.replace(':', "");
|
|
104
|
-
// log.d('model m', m)
|
|
105
|
-
if (d.removed) {
|
|
106
|
-
currentModel = models.shift();
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
return res;
|
|
110
|
-
}
|
|
111
|
-
var regexisPath = exports.regexisPath = /[^\..]+(\.[^\..]+)+/g;
|
|
112
|
-
/**
|
|
113
|
-
* Models like books/:id
|
|
114
|
-
*/
|
|
115
|
-
function cutUrlModel(params, models, output) {
|
|
116
|
-
if (models.length === 0) return output.join('\/');
|
|
117
|
-
var m = models.pop();
|
|
118
|
-
var param = m.match(/:[a-zA-Z0-9\.]+/)[0].replace(':', '');
|
|
119
|
-
var paramIsPath = regexisPath.test(param);
|
|
120
|
-
// log.i('cut param', param)
|
|
121
|
-
var model = m.match(/[a-zA-Z0-9]+\//)[0].replace('\/', '');
|
|
122
|
-
if (params === void 0 || (paramIsPath ? _browser._.get(params, param) === void 0 : params[param] === void 0) || param === 'undefined') {
|
|
123
|
-
output.length = 0;
|
|
124
|
-
output.unshift(model);
|
|
125
|
-
return cutUrlModel(params, models, output);
|
|
126
|
-
} else {
|
|
127
|
-
if (paramIsPath) {
|
|
128
|
-
// log.i('param is path', param)
|
|
129
|
-
var mrep = m.replace(new RegExp(':' + param, 'g'), '' + _browser._.get(params, param));
|
|
130
|
-
output.unshift(mrep);
|
|
131
|
-
return cutUrlModel(params, models, output);
|
|
132
|
-
} else {
|
|
133
|
-
// log.i('param is normal', param)
|
|
134
|
-
var _mrep = m.replace(new RegExp(':' + param, 'g'), '' + params[param]);
|
|
135
|
-
output.unshift(_mrep);
|
|
136
|
-
return cutUrlModel(params, models, output);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
function interpolateParamsToUrl(params, url) {
|
|
141
|
-
var regexInt = /\[\[([^\..]+\.[^\..]+)+\]\]/g;
|
|
142
|
-
url = url.split('/').map(function (p) {
|
|
143
|
-
// log.d('url parts', p)
|
|
144
|
-
var isParam = p.startsWith(':');
|
|
145
|
-
if (isParam) {
|
|
146
|
-
var part = p.slice(1);
|
|
147
|
-
// log.d('url param part', p)
|
|
148
|
-
if (regexInt.test(part)) {
|
|
149
|
-
// let level = (url.split('.').length - 1)
|
|
150
|
-
part = part.replace('[[', '');
|
|
151
|
-
part = part.replace(']]', '');
|
|
152
|
-
}
|
|
153
|
-
return ':' + part;
|
|
154
|
-
}
|
|
155
|
-
return p;
|
|
156
|
-
}).join('/');
|
|
157
|
-
// log.i('URL TO EXPOSE', url)
|
|
158
|
-
// log.i('params', params)
|
|
159
|
-
var slash = {
|
|
160
|
-
start: url.charAt(0) === '\/',
|
|
161
|
-
end: url.charAt(url.length - 1) === '\/'
|
|
162
|
-
};
|
|
163
|
-
var morePramsOnEnd = url.match(/(\/:[a-zA-Z0-9\.]+){2,10}/g);
|
|
164
|
-
if (morePramsOnEnd && Array.isArray(morePramsOnEnd) && morePramsOnEnd.length === 1) {
|
|
165
|
-
// log.i('morePramsOnEnd', morePramsOnEnd)
|
|
166
|
-
var m = morePramsOnEnd[0];
|
|
167
|
-
var match = m.match(/\/:[a-zA-Z0-9\.]+/g);
|
|
168
|
-
// log.i('match', match)
|
|
169
|
-
match.forEach(function (e) {
|
|
170
|
-
var c = e.replace('\/:', '');
|
|
171
|
-
// log.i('c', c)
|
|
172
|
-
if (regexisPath.test(c)) {
|
|
173
|
-
url = url.replace(e, '/' + _browser._.get(params, c));
|
|
174
|
-
} else {
|
|
175
|
-
url = url.replace(e, '/' + params[c]);
|
|
176
|
-
}
|
|
177
|
-
// log.i('prog url', url)
|
|
178
|
-
});
|
|
179
|
-
return url;
|
|
180
|
-
}
|
|
181
|
-
var nestedParams = url.match(/[a-zA-Z0-9]+\/:[a-zA-Z0-9\.]+/g);
|
|
182
|
-
if (!nestedParams || Array.isArray(nestedParams) && nestedParams.length === 0) return url;
|
|
183
|
-
// check alone params
|
|
184
|
-
if (!slash.end) url = url + '/';
|
|
185
|
-
var addUndefinedForAlone = !/:[a-zA-Z0-9\.]+\/$/g.test(url) && /[a-zA-Z0-9]+\/$/g.test(url);
|
|
186
|
-
var replace = (nestedParams.length > 1 ? nestedParams.join('\/') : nestedParams[0]) + (addUndefinedForAlone ? '\/' + url.match(/[a-zA-Z0-9]+\/$/g)[0] : '\/');
|
|
187
|
-
var beginHref = url.replace(replace, '');
|
|
188
|
-
if (addUndefinedForAlone) {
|
|
189
|
-
url = url.replace(/\/$/g, '/:undefined');
|
|
190
|
-
nestedParams = url.match(/[a-zA-Z0-9]+\/:[a-zA-Z0-9\.]+/g);
|
|
191
|
-
url = cutUrlModel(params, nestedParams, []);
|
|
192
|
-
} else {
|
|
193
|
-
url = cutUrlModel(params, nestedParams, []);
|
|
194
|
-
}
|
|
195
|
-
url = beginHref + url;
|
|
196
|
-
if (url.charAt(url.length - 1) !== '/' && slash.end) url = url + '/';
|
|
197
|
-
if (url.charAt(0) !== '\/' && slash.start) url = '/' + url;
|
|
198
|
-
return url;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Get query params from url, like 'ex' in /api/books?ex=value
|
|
202
|
-
*/
|
|
203
|
-
function decodeUrl(url) {
|
|
204
|
-
var regex = /[?&]([^=#]+)=([^&#]*)/g,
|
|
205
|
-
params = {},
|
|
206
|
-
match = void 0;
|
|
207
|
-
while (match = regex.exec(url)) {
|
|
208
|
-
params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]);
|
|
209
|
-
}
|
|
210
|
-
var paramsObject = params;
|
|
211
|
-
for (var p in paramsObject) {
|
|
212
|
-
if (paramsObject[p] === void 0) {
|
|
213
|
-
delete paramsObject[p];
|
|
214
|
-
continue;
|
|
215
|
-
}
|
|
216
|
-
if (paramsObject.hasOwnProperty(p)) {
|
|
217
|
-
// chcek if property is number
|
|
218
|
-
var n = Number(params[p]);
|
|
219
|
-
if (!isNaN(n)) {
|
|
220
|
-
params[p] = n;
|
|
221
|
-
continue;
|
|
222
|
-
}
|
|
223
|
-
if (typeof params[p] === 'string') {
|
|
224
|
-
// check if property is object
|
|
225
|
-
var json = void 0;
|
|
226
|
-
try {
|
|
227
|
-
json = JSON.parse(params[p]);
|
|
228
|
-
} catch (error) {}
|
|
229
|
-
if (json !== void 0) {
|
|
230
|
-
params[p] = json;
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
233
|
-
// chcek if property value is like regular rexpression
|
|
234
|
-
// let regexExpression;
|
|
235
|
-
// try {
|
|
236
|
-
// regexExpression = new RegExp(params[p]);
|
|
237
|
-
// } catch (e) { }
|
|
238
|
-
// if (regexExpression !== undefined) params[p] = regexExpression;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
return params;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Create query params string for url
|
|
246
|
-
*
|
|
247
|
-
* @export
|
|
248
|
-
* @param {UrlParams[]} params
|
|
249
|
-
* @returns {string}
|
|
250
|
-
*/
|
|
251
|
-
function getParamsUrl(params) {
|
|
252
|
-
var doNotSerialize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
253
|
-
|
|
254
|
-
var urlparts = [];
|
|
255
|
-
if (!params) return '';
|
|
256
|
-
if (!(params instanceof Array)) return '';
|
|
257
|
-
if (params.length === 0) return '';
|
|
258
|
-
params.forEach(function (urlparam) {
|
|
259
|
-
if (JSON.stringify(urlparam) !== '{}') {
|
|
260
|
-
var parameters = [];
|
|
261
|
-
var paramObject = urlparam;
|
|
262
|
-
for (var p in paramObject) {
|
|
263
|
-
if (paramObject[p] === void 0) delete paramObject[p];
|
|
264
|
-
if (paramObject.hasOwnProperty(p) && typeof p === 'string' && p !== 'regex' && !(paramObject[p] instanceof RegExp)) {
|
|
265
|
-
if (p.length > 0 && p[0] === '/') {
|
|
266
|
-
var newName = p.slice(1, p.length - 1);
|
|
267
|
-
urlparam[newName] = urlparam[p];
|
|
268
|
-
urlparam[p] = void 0;
|
|
269
|
-
p = newName;
|
|
270
|
-
}
|
|
271
|
-
if (p.length > 0 && p[p.length - 1] === '/') {
|
|
272
|
-
var _newName = p.slice(0, p.length - 2);
|
|
273
|
-
urlparam[_newName] = urlparam[p];
|
|
274
|
-
urlparam[p] = void 0;
|
|
275
|
-
p = _newName;
|
|
276
|
-
}
|
|
277
|
-
var v = urlparam[p];
|
|
278
|
-
if (v instanceof Object) {
|
|
279
|
-
urlparam[p] = JSON.stringify(urlparam[p]);
|
|
280
|
-
}
|
|
281
|
-
urlparam[p] = doNotSerialize ? urlparam[p] : encodeURIComponent(urlparam[p]);
|
|
282
|
-
if (urlparam.regex !== void 0 && urlparam.regex instanceof RegExp) {
|
|
283
|
-
if (!urlparam.regex.test(urlparam[p])) {
|
|
284
|
-
console.warn('Data: ' + urlparam[p] + ' incostistent with regex ' + urlparam.regex.source);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
parameters.push(p + '=' + urlparam[p]);
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
urlparts.push(parameters.join('&'));
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
var join = urlparts.join().trim();
|
|
294
|
-
if (join.trim() === '') return '';
|
|
295
|
-
return '?' + urlparts.join('&');
|
|
296
|
-
}
|
|
297
|
-
function transform(o) {
|
|
298
|
-
if ((typeof o === 'undefined' ? 'undefined' : _typeof(o)) === 'object') {
|
|
299
|
-
return encodeURIComponent(JSON.stringify(o));
|
|
300
|
-
}
|
|
301
|
-
return o;
|
|
302
|
-
}
|
|
303
|
-
function prepareUrlOldWay(params) {
|
|
304
|
-
if (!params) return this.endpoint;
|
|
305
|
-
if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') {
|
|
306
|
-
params = transform(params);
|
|
307
|
-
}
|
|
308
|
-
return this.endpoint + '/' + params;
|
|
309
|
-
}
|
|
310
|
-
//# sourceMappingURL=params.js.map
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.RequestCache = undefined;
|
|
7
|
-
|
|
8
|
-
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
9
|
-
|
|
10
|
-
var _models = require('./models');
|
|
11
|
-
|
|
12
|
-
var _browser = require('ng2-logger/browser');
|
|
13
|
-
|
|
14
|
-
var _browser2 = require('tnp-core/browser');
|
|
15
|
-
|
|
16
|
-
var _restHeaders = require('./rest-headers');
|
|
17
|
-
|
|
18
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19
|
-
|
|
20
|
-
var log = _browser.Log.create('request-cache', _browser.Level.__NOTHING);
|
|
21
|
-
|
|
22
|
-
var RequestCache = exports.RequestCache = function () {
|
|
23
|
-
function RequestCache(response) {
|
|
24
|
-
_classCallCheck(this, RequestCache);
|
|
25
|
-
|
|
26
|
-
this.response = response;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
_createClass(RequestCache, [{
|
|
30
|
-
key: 'persistsInLocalStorage',
|
|
31
|
-
value: function persistsInLocalStorage() {
|
|
32
|
-
localStorage.setItem(RequestCache.LOCAL_STORAGE_KEY, JSON.stringify(RequestCache.cached.map(function (r) {
|
|
33
|
-
return {
|
|
34
|
-
response: {
|
|
35
|
-
sourceRequest: r.response.sourceRequest,
|
|
36
|
-
responseText: r.response.responseText,
|
|
37
|
-
headers: r.response.headers,
|
|
38
|
-
statusCode: r.response.statusCode,
|
|
39
|
-
entity: r.response.entity,
|
|
40
|
-
circular: r.response.circular,
|
|
41
|
-
isArray: r.response.isArray
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
})));
|
|
45
|
-
}
|
|
46
|
-
}, {
|
|
47
|
-
key: 'store',
|
|
48
|
-
value: function store() {
|
|
49
|
-
RequestCache.restoreFromLocalStorage();
|
|
50
|
-
if (!this.containsCache) {
|
|
51
|
-
RequestCache.cached.push(this);
|
|
52
|
-
this.persistsInLocalStorage();
|
|
53
|
-
} else {
|
|
54
|
-
console.log('already stored');
|
|
55
|
-
}
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
}, {
|
|
59
|
-
key: 'remove',
|
|
60
|
-
value: function remove() {
|
|
61
|
-
RequestCache.restoreFromLocalStorage();
|
|
62
|
-
var index = RequestCache.cached.indexOf(this);
|
|
63
|
-
if (index !== -1) {
|
|
64
|
-
RequestCache.cached.splice(index, 1);
|
|
65
|
-
this.persistsInLocalStorage();
|
|
66
|
-
} else {
|
|
67
|
-
console.log('already removed');
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}, {
|
|
71
|
-
key: 'containsCache',
|
|
72
|
-
get: function get() {
|
|
73
|
-
RequestCache.restoreFromLocalStorage();
|
|
74
|
-
return RequestCache.cached.includes(this);
|
|
75
|
-
}
|
|
76
|
-
}], [{
|
|
77
|
-
key: 'restoreFromLocalStorage',
|
|
78
|
-
value: function restoreFromLocalStorage() {
|
|
79
|
-
if (_browser2.Helpers.isNode) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
if (!RequestCache.isRestoredFromLocalStorage) {
|
|
83
|
-
RequestCache.isRestoredFromLocalStorage = true;
|
|
84
|
-
var data = localStorage.getItem(RequestCache.LOCAL_STORAGE_KEY);
|
|
85
|
-
var requests = [];
|
|
86
|
-
if (data) {
|
|
87
|
-
try {
|
|
88
|
-
requests = JSON.parse(data);
|
|
89
|
-
} catch (error) {}
|
|
90
|
-
var restored = requests.map(function (r) {
|
|
91
|
-
var _r$response = r.response,
|
|
92
|
-
sourceRequest = _r$response.sourceRequest,
|
|
93
|
-
responseText = _r$response.responseText,
|
|
94
|
-
body = _r$response.body,
|
|
95
|
-
headers = _r$response.headers,
|
|
96
|
-
circular = _r$response.circular,
|
|
97
|
-
entity = _r$response.entity,
|
|
98
|
-
isArray = _r$response.isArray,
|
|
99
|
-
cookies = _r$response.cookies,
|
|
100
|
-
statusCode = _r$response.statusCode;
|
|
101
|
-
|
|
102
|
-
r.response = new _models.Models.HttpResponse(sourceRequest, responseText, _restHeaders.RestHeaders.from(headers), statusCode, entity, circular, -1, // jobid from local storage TODO
|
|
103
|
-
isArray);
|
|
104
|
-
r = new RequestCache(r.response);
|
|
105
|
-
r.response.rq = r;
|
|
106
|
-
return r;
|
|
107
|
-
});
|
|
108
|
-
log.i('RESTORED FROM LOCAL STORAGE', restored);
|
|
109
|
-
RequestCache.cached = restored;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, {
|
|
114
|
-
key: 'findBy',
|
|
115
|
-
value: function findBy(sourceRequest) {
|
|
116
|
-
log.i('findby', sourceRequest);
|
|
117
|
-
log.i('RequestCache.cached', RequestCache.cached);
|
|
118
|
-
RequestCache.restoreFromLocalStorage();
|
|
119
|
-
return RequestCache.cached.find(function (c) {
|
|
120
|
-
var a = c.response.sourceRequest;
|
|
121
|
-
var b = sourceRequest;
|
|
122
|
-
return a.isArray === b.isArray && a.url === b.url && a.method === b.method && a.body === b.body;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}]);
|
|
126
|
-
|
|
127
|
-
return RequestCache;
|
|
128
|
-
}();
|
|
129
|
-
|
|
130
|
-
RequestCache.LOCAL_STORAGE_KEY = 'ng2restrequestcache';
|
|
131
|
-
RequestCache.cached = [];
|
|
132
|
-
RequestCache.isRestoredFromLocalStorage = false;
|
|
133
|
-
//# sourceMappingURL=request-cache.js.map
|