ng2-rest 21.0.49 → 21.0.52
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/VERIFIED-BUILD-DATA.jsonc +3 -3
- package/browser/package.json +1 -1
- package/browser-prod/fesm2022/ng2-rest-browser-prod.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib-esm/app.d.ts +0 -0
- package/lib-esm/app.electron.d.ts +0 -0
- package/lib-esm/app.electron.js +82 -0
- package/lib-esm/app.electron.js.map +1 -0
- package/lib-esm/app.hosts.d.ts +3 -0
- package/lib-esm/app.hosts.js +48 -0
- package/lib-esm/app.hosts.js.map +1 -0
- package/lib-esm/app.js +318 -0
- package/lib-esm/app.js.map +1 -0
- package/lib-esm/app.vscode.d.ts +0 -0
- package/lib-esm/app.vscode.js +47 -0
- package/lib-esm/app.vscode.js.map +1 -0
- package/lib-esm/cli.d.ts +1 -0
- package/lib-esm/cli.js +4 -0
- package/lib-esm/cli.js.map +1 -0
- package/lib-esm/index.d.ts +1 -0
- package/lib-esm/index.js +2 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
- package/lib-esm/lib/build-info._auto-generated_.js +27 -0
- package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
- package/lib-esm/lib/env/env.angular-node-app.d.ts +66 -0
- package/lib-esm/lib/env/env.angular-node-app.js +135 -0
- package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
- package/lib-esm/lib/env/env.docs-webapp.d.ts +66 -0
- package/lib-esm/lib/env/env.docs-webapp.js +135 -0
- package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
- package/lib-esm/lib/env/env.electron-app.d.ts +66 -0
- package/lib-esm/lib/env/env.electron-app.js +135 -0
- package/lib-esm/lib/env/env.electron-app.js.map +1 -0
- package/lib-esm/lib/env/env.mobile-app.d.ts +66 -0
- package/lib-esm/lib/env/env.mobile-app.js +135 -0
- package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +66 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +135 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-esm/lib/env/env.vscode-plugin.d.ts +66 -0
- package/lib-esm/lib/env/env.vscode-plugin.js +135 -0
- package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
- package/lib-esm/lib/env/index.d.ts +6 -0
- package/lib-esm/lib/env/index.js +7 -0
- package/lib-esm/lib/env/index.js.map +1 -0
- package/lib-esm/lib/index._auto-generated_.d.ts +0 -0
- package/lib-esm/lib/index._auto-generated_.js +6 -0
- package/lib-esm/lib/index._auto-generated_.js.map +1 -0
- package/lib-esm/lib/index.d.ts +3 -0
- package/lib-esm/lib/index.js +4 -0
- package/lib-esm/lib/index.js.map +1 -0
- package/lib-esm/lib/new-mapping-decode.test.d.ts +1 -0
- package/lib-esm/lib/new-mapping-decode.test.js +119 -0
- package/lib-esm/lib/new-mapping-decode.test.js.map +1 -0
- package/lib-esm/lib/new-mapping-encode.test.d.ts +1 -0
- package/lib-esm/lib/new-mapping-encode.test.js +229 -0
- package/lib-esm/lib/new-mapping-encode.test.js.map +1 -0
- package/lib-esm/lib/new-mapping.d.ts +55 -0
- package/lib-esm/lib/new-mapping.js +314 -0
- package/lib-esm/lib/new-mapping.js.map +1 -0
- package/lib-esm/lib/new-mapping.test.d.ts +1 -0
- package/lib-esm/lib/new-mapping.test.js +7 -0
- package/lib-esm/lib/new-mapping.test.js.map +1 -0
- package/lib-esm/lib/ng2-rest.d.ts +301 -0
- package/lib-esm/lib/ng2-rest.js +998 -0
- package/lib-esm/lib/ng2-rest.js.map +1 -0
- package/lib-esm/lib/start-cli.d.ts +1 -0
- package/lib-esm/lib/start-cli.js +31 -0
- package/lib-esm/lib/start-cli.js.map +1 -0
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +1 -1
- package/lib-prod/new-mapping.js.map +1 -1
- package/lib-prod/ng2-rest.js.map +1 -1
- package/lib-prod/package.json +1 -1
- package/package.json +1 -1
- package/src.js +4 -20
- package/websql/package.json +1 -1
- package/websql-prod/fesm2022/ng2-rest-websql-prod.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
//#region imports
|
|
2
|
+
import { JSON10 } from 'json10/lib';
|
|
3
|
+
import { _ } from 'tnp-core/lib';
|
|
4
|
+
import { CLASS } from 'typescript-class-helpers/lib';
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region constatns
|
|
7
|
+
const mappingStore = new WeakMap();
|
|
8
|
+
const defaultValueStore = new WeakMap();
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region decorators
|
|
11
|
+
export function DefaultMapping(mapping) {
|
|
12
|
+
return function (target) {
|
|
13
|
+
mappingStore.set(target, { mapping });
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function DefaultModel(defaults) {
|
|
17
|
+
return function (target) {
|
|
18
|
+
defaultValueStore.set(target, { defaults });
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region helpers
|
|
23
|
+
const isPlainObject = (v) => !!v && typeof v === 'object' && !Array.isArray(v) && !(v instanceof Date);
|
|
24
|
+
const deepClone = (v) => {
|
|
25
|
+
if (Array.isArray(v))
|
|
26
|
+
return v.map(deepClone);
|
|
27
|
+
if (isPlainObject(v)) {
|
|
28
|
+
const out = {};
|
|
29
|
+
for (const k of Object.keys(v))
|
|
30
|
+
out[k] = deepClone(v[k]);
|
|
31
|
+
return out;
|
|
32
|
+
}
|
|
33
|
+
return v;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Merge defaults into target, but only when target value is undefined.
|
|
37
|
+
* (Does not overwrite defined values.)
|
|
38
|
+
*/
|
|
39
|
+
const deepMergeIfUndefined = (target, defaults) => {
|
|
40
|
+
if (!isPlainObject(defaults))
|
|
41
|
+
return;
|
|
42
|
+
for (const k of Object.keys(defaults)) {
|
|
43
|
+
const dv = defaults[k];
|
|
44
|
+
const tv = target[k];
|
|
45
|
+
if (tv === undefined) {
|
|
46
|
+
target[k] = deepClone(dv);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (isPlainObject(tv) && isPlainObject(dv)) {
|
|
50
|
+
deepMergeIfUndefined(tv, dv);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const applyDefaultsToInstance = (instance, defaults) => {
|
|
55
|
+
if (!defaults)
|
|
56
|
+
return;
|
|
57
|
+
// Path-based defaults (keys containing '.')
|
|
58
|
+
for (const k of Object.keys(defaults)) {
|
|
59
|
+
if (k.includes('.')) {
|
|
60
|
+
const value = defaults[k];
|
|
61
|
+
const current = _.get(instance, k);
|
|
62
|
+
if (current === undefined) {
|
|
63
|
+
_.set(instance, k, deepClone(value));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Object-based defaults (no dots) -> deep merge (only if undefined)
|
|
68
|
+
const objDefaults = {};
|
|
69
|
+
for (const k of Object.keys(defaults)) {
|
|
70
|
+
if (!k.includes('.'))
|
|
71
|
+
objDefaults[k] = defaults[k];
|
|
72
|
+
}
|
|
73
|
+
deepMergeIfUndefined(instance, objDefaults);
|
|
74
|
+
};
|
|
75
|
+
const getClassNameTokenFromItem = (item) => {
|
|
76
|
+
if (item == null)
|
|
77
|
+
return '';
|
|
78
|
+
if (item == undefined)
|
|
79
|
+
return '';
|
|
80
|
+
// If already constructor
|
|
81
|
+
if (typeof item === 'function') {
|
|
82
|
+
return CLASS.getName(item) || '';
|
|
83
|
+
}
|
|
84
|
+
if (typeof item !== 'object') {
|
|
85
|
+
return '';
|
|
86
|
+
}
|
|
87
|
+
// If instance
|
|
88
|
+
const classFn = item.constructor;
|
|
89
|
+
if (typeof classFn === 'function') {
|
|
90
|
+
return CLASS.getName(classFn) || '';
|
|
91
|
+
}
|
|
92
|
+
return '';
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Encode consecutive equal tokens using # run-length.
|
|
96
|
+
*
|
|
97
|
+
* Examples:
|
|
98
|
+
* - ['User','User','Author','User'] -> ['User#2','Author','User']
|
|
99
|
+
* - ['User','User','User','User'] -> ['User#4']
|
|
100
|
+
* - ['User', '', '', '', 'Author', ''] -> ['User', '#3', 'Author', '']
|
|
101
|
+
*/
|
|
102
|
+
const rleEncodeTokens = (tokens) => {
|
|
103
|
+
const out = [];
|
|
104
|
+
let i = 0;
|
|
105
|
+
while (i < tokens.length) {
|
|
106
|
+
const token = tokens[i];
|
|
107
|
+
let j = i + 1;
|
|
108
|
+
while (j < tokens.length && tokens[j] === token)
|
|
109
|
+
j++;
|
|
110
|
+
const count = j - i;
|
|
111
|
+
if (token === '') {
|
|
112
|
+
// null/undefined run
|
|
113
|
+
out.push(count >= 2 ? `#${count}` : '');
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
out.push(count >= 2 ? `${token}#${count}` : token);
|
|
117
|
+
}
|
|
118
|
+
i = j;
|
|
119
|
+
}
|
|
120
|
+
return out;
|
|
121
|
+
};
|
|
122
|
+
const parseRleToken = (token) => {
|
|
123
|
+
// '' => no mapping for 1
|
|
124
|
+
if (token === '')
|
|
125
|
+
return { name: '', count: 1 };
|
|
126
|
+
// '#N' => no mapping for next N
|
|
127
|
+
if (token.startsWith('#')) {
|
|
128
|
+
const count = Number(token.slice(1));
|
|
129
|
+
return { name: '', count: Number.isFinite(count) && count > 0 ? count : 1 };
|
|
130
|
+
}
|
|
131
|
+
// 'Name#N' => Name for next N
|
|
132
|
+
const idx = token.lastIndexOf('#');
|
|
133
|
+
if (idx > 0) {
|
|
134
|
+
const name = token.slice(0, idx);
|
|
135
|
+
const count = Number(token.slice(idx + 1));
|
|
136
|
+
if (name && Number.isFinite(count) && count > 0) {
|
|
137
|
+
return { name, count };
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// 'Name' => Name for 1
|
|
141
|
+
return { name: token, count: 1 };
|
|
142
|
+
};
|
|
143
|
+
const expandRleTokens = (tokens) => {
|
|
144
|
+
const out = [];
|
|
145
|
+
for (const t of tokens) {
|
|
146
|
+
const { name, count } = parseRleToken(t);
|
|
147
|
+
for (let i = 0; i < count; i++)
|
|
148
|
+
out.push(name);
|
|
149
|
+
}
|
|
150
|
+
return out;
|
|
151
|
+
};
|
|
152
|
+
//#endregion
|
|
153
|
+
//#region get default value for class instance from decorator data
|
|
154
|
+
export function getDefaultModel(instanceOrClass) {
|
|
155
|
+
const classFn = typeof instanceOrClass === 'function'
|
|
156
|
+
? instanceOrClass
|
|
157
|
+
: instanceOrClass?.constructor;
|
|
158
|
+
if (classFn === undefined) {
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
const getter = defaultValueStore.get(classFn)?.defaults;
|
|
162
|
+
return getter ? getter() : undefined;
|
|
163
|
+
}
|
|
164
|
+
//#endregion
|
|
165
|
+
//#region get mapping from decorator data (may container Entites classes)
|
|
166
|
+
export function getDefaultMappingSingleObjOrClass(instanceOrClass) {
|
|
167
|
+
const classFn = typeof instanceOrClass === 'function'
|
|
168
|
+
? instanceOrClass
|
|
169
|
+
: instanceOrClass?.constructor;
|
|
170
|
+
if (classFn === undefined) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
const getter = mappingStore.get(classFn)?.mapping;
|
|
174
|
+
return getter ? getter() : undefined;
|
|
175
|
+
}
|
|
176
|
+
//#endregion
|
|
177
|
+
//#region decode mapping (replace entites with names)
|
|
178
|
+
/**
|
|
179
|
+
* This will be send in request header to later restore class mapping
|
|
180
|
+
*/
|
|
181
|
+
export function getMappingHeaderString(instanceOrClass) {
|
|
182
|
+
return JSON.stringify(decodeMappingForHeaderJson(instanceOrClass));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
*
|
|
186
|
+
* @param instanceOrClass class instance or class object
|
|
187
|
+
* OR array of class instancess or class objects
|
|
188
|
+
* @returns Mapping object ready to be JSON.stringify
|
|
189
|
+
*/
|
|
190
|
+
export function decodeMappingForHeaderJson(instanceOrClass, options) {
|
|
191
|
+
options = options || {};
|
|
192
|
+
// Array encoding (special protocol)
|
|
193
|
+
if (Array.isArray(instanceOrClass) &&
|
|
194
|
+
!options.useFirstArrayItemClassNameForAllElements) {
|
|
195
|
+
const tokens = instanceOrClass.map(getClassNameTokenFromItem);
|
|
196
|
+
return { '[]': rleEncodeTokens(tokens) };
|
|
197
|
+
}
|
|
198
|
+
if (Array.isArray(instanceOrClass) &&
|
|
199
|
+
options.useFirstArrayItemClassNameForAllElements) {
|
|
200
|
+
instanceOrClass = _.first(instanceOrClass);
|
|
201
|
+
}
|
|
202
|
+
// Single object / class encoding
|
|
203
|
+
const mapping = getDefaultMappingSingleObjOrClass(instanceOrClass);
|
|
204
|
+
if (!mapping || !mapping['']) {
|
|
205
|
+
const className = CLASS.getClassNameFromObjInstanceOrClassFn(instanceOrClass) || '';
|
|
206
|
+
return {
|
|
207
|
+
'': className,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
// Your EncodeSchema is flat (dot-path keys), so we can encode it flat too.
|
|
211
|
+
const mappingObj = {};
|
|
212
|
+
for (const key of Object.keys(mapping)) {
|
|
213
|
+
const v = mapping[key];
|
|
214
|
+
if (key === '') {
|
|
215
|
+
mappingObj[''] = CLASS.getName(v);
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (Array.isArray(v) && v.length === 1) {
|
|
219
|
+
const item = v[0];
|
|
220
|
+
mappingObj[key] =
|
|
221
|
+
typeof item === 'function' ? CLASS.getName(item) : String(item);
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
if (typeof v === 'function') {
|
|
225
|
+
mappingObj[key] = CLASS.getName(v);
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return mappingObj;
|
|
230
|
+
}
|
|
231
|
+
//#endregion
|
|
232
|
+
//#region encode mapping from mapping schema and circular metadata
|
|
233
|
+
export const encodeMapping = (input, schema, circular = []) => {
|
|
234
|
+
const mapped = encodeMappingFn(input, schema, circular);
|
|
235
|
+
JSON10.applyCircularMapping(mapped, circular);
|
|
236
|
+
return mapped;
|
|
237
|
+
};
|
|
238
|
+
const encodeMappingFn = (input, schema, circular, parentPath = '') => {
|
|
239
|
+
/**
|
|
240
|
+
* HANDLE ARRAYS IN SCHEMA (header-only protocol)
|
|
241
|
+
*
|
|
242
|
+
* {
|
|
243
|
+
* '[]': ['User#1000'], // input should be in this case array...
|
|
244
|
+
* } // 1000 objects ready to be changed to User class instances
|
|
245
|
+
*/
|
|
246
|
+
if (Array.isArray(input) && schema['[]']) {
|
|
247
|
+
const rle = schema['[]'];
|
|
248
|
+
const expanded = expandRleTokens(rle);
|
|
249
|
+
const out = [];
|
|
250
|
+
const max = input.length;
|
|
251
|
+
for (let i = 0; i < max; i++) {
|
|
252
|
+
const className = expanded[i] ?? '';
|
|
253
|
+
const raw = input[i];
|
|
254
|
+
// keep null/undefined and "no mapping" items as-is
|
|
255
|
+
if (!className || raw == null) {
|
|
256
|
+
out.push(raw);
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
const ClassFn = CLASS.getBy(className);
|
|
260
|
+
if (!ClassFn) {
|
|
261
|
+
out.push(raw);
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
out.push(encodeMappingFn(raw, { ...schema, '': ClassFn }, circular, parentPath));
|
|
265
|
+
}
|
|
266
|
+
return out;
|
|
267
|
+
}
|
|
268
|
+
// Normal array (no header array schema) -> map items using same schema
|
|
269
|
+
if (Array.isArray(input)) {
|
|
270
|
+
return input.map(item => encodeMappingFn(item, schema, circular, parentPath));
|
|
271
|
+
}
|
|
272
|
+
if (!input || typeof input !== 'object') {
|
|
273
|
+
return input;
|
|
274
|
+
}
|
|
275
|
+
const classNameOrFunctionInSchema = schema[''];
|
|
276
|
+
let RootClass = (_.isString(classNameOrFunctionInSchema) &&
|
|
277
|
+
classNameOrFunctionInSchema !== ''
|
|
278
|
+
? CLASS.getBy(classNameOrFunctionInSchema)
|
|
279
|
+
: classNameOrFunctionInSchema);
|
|
280
|
+
const classNameOfRootClass = CLASS.getClassNameFromObjInstanceOrClassFn(RootClass);
|
|
281
|
+
if (classNameOfRootClass === '' || !classNameOfRootClass) {
|
|
282
|
+
RootClass = undefined;
|
|
283
|
+
}
|
|
284
|
+
const instance = RootClass ? new RootClass() : {};
|
|
285
|
+
// Apply defaults from decorator (if RootClass is known)
|
|
286
|
+
if (RootClass) {
|
|
287
|
+
const defaults = getDefaultModel(RootClass);
|
|
288
|
+
applyDefaultsToInstance(instance, defaults);
|
|
289
|
+
}
|
|
290
|
+
for (const key of Object.keys(input)) {
|
|
291
|
+
const value = input[key];
|
|
292
|
+
const fullPath = parentPath ? `${parentPath}.${key}` : key;
|
|
293
|
+
const rule = schema[fullPath];
|
|
294
|
+
if (!rule) {
|
|
295
|
+
// still recurse so nested objects/arrays also get mapped when they have deep rules
|
|
296
|
+
instance[key] = encodeMappingFn(value, schema, circular, fullPath);
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
// Array rule (value is expected to be array)
|
|
300
|
+
if (Array.isArray(rule)) {
|
|
301
|
+
const ItemClass = typeof rule[0] === 'string' ? CLASS.getBy(rule[0]) : rule[0];
|
|
302
|
+
instance[key] = Array.isArray(value)
|
|
303
|
+
? value.map(v => encodeMappingFn(v, { ...schema, '': ItemClass }, circular, fullPath))
|
|
304
|
+
: [];
|
|
305
|
+
continue;
|
|
306
|
+
}
|
|
307
|
+
// Object rule
|
|
308
|
+
const NestedClass = typeof rule === 'string' ? CLASS.getBy(rule) : rule;
|
|
309
|
+
instance[key] = encodeMappingFn(value, { ...schema, '': NestedClass }, circular, fullPath);
|
|
310
|
+
}
|
|
311
|
+
return instance;
|
|
312
|
+
};
|
|
313
|
+
//#endregion
|
|
314
|
+
//# sourceMappingURL=new-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-mapping.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function add(a: any, b: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-mapping.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
+
import type express from 'express';
|
|
3
|
+
import { Circ } from 'json10/lib';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { CoreModels } from 'tnp-core/lib';
|
|
6
|
+
import { EncodeSchema, EncodeSchemaString } from './new-mapping';
|
|
7
|
+
export declare class Cookie {
|
|
8
|
+
static get Instance(): Cookie;
|
|
9
|
+
private static __instance;
|
|
10
|
+
private constructor();
|
|
11
|
+
read(name: string): string;
|
|
12
|
+
write(name: string, value: string, days?: number): void;
|
|
13
|
+
remove(name: string): void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create query params string for url
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
* @param {UrlParams[]} params
|
|
20
|
+
* @returns {string}
|
|
21
|
+
*/
|
|
22
|
+
export declare function getParamsUrl(params: UrlParams[], doNotSerialize?: boolean): string;
|
|
23
|
+
export declare const regexisPath: RegExp;
|
|
24
|
+
/**
|
|
25
|
+
* let pattern = '/books/:bookid';
|
|
26
|
+
* let url = `/books/34`;
|
|
27
|
+
*/
|
|
28
|
+
export declare function interpolateParamsToUrl(params: Object, url: string): string;
|
|
29
|
+
export interface AxiosTaonHttpHandler<T = any> {
|
|
30
|
+
handle(req: AxiosRequestConfig): Observable<AxiosResponse<T>>;
|
|
31
|
+
}
|
|
32
|
+
export interface TaonClientMiddlewareInterceptOptions<T = any> {
|
|
33
|
+
req: AxiosRequestConfig;
|
|
34
|
+
next: AxiosTaonHttpHandler<T>;
|
|
35
|
+
}
|
|
36
|
+
export interface TaonServerMiddlewareInterceptOptions<T = any> {
|
|
37
|
+
req: express.Request;
|
|
38
|
+
res: express.Response;
|
|
39
|
+
next: express.NextFunction;
|
|
40
|
+
}
|
|
41
|
+
export interface TaonAxiosClientInterceptor<T = any> {
|
|
42
|
+
intercept(client: TaonClientMiddlewareInterceptOptions<T>): Observable<AxiosResponse<T>>;
|
|
43
|
+
}
|
|
44
|
+
export declare class AxiosBackendHandler<T = any> implements AxiosTaonHttpHandler<T> {
|
|
45
|
+
handle(req: AxiosRequestConfig): Observable<AxiosResponse<T>>;
|
|
46
|
+
}
|
|
47
|
+
export declare const buildInterceptorChain: <T = any>(globalInterceptors: Array<TaonAxiosClientInterceptor<T>>, backend: AxiosTaonHttpHandler<T>) => AxiosTaonHttpHandler<T>;
|
|
48
|
+
export type ResponseTypeAxios = 'blob' | 'text' | 'json' | 'arraybuffer' | 'document' | 'stream' | 'formdata';
|
|
49
|
+
export type RestHeadersOptions = RestHeaders | {
|
|
50
|
+
[name: string]: string | string[];
|
|
51
|
+
};
|
|
52
|
+
export declare class RestHeaders {
|
|
53
|
+
/** @internal header names are lower case */
|
|
54
|
+
protected _headers: Map<string, string[]>;
|
|
55
|
+
/** @internal map lower case names to actual names */
|
|
56
|
+
protected _normalizedNames: Map<string, string>;
|
|
57
|
+
static from(headers?: RestHeadersOptions): RestHeaders;
|
|
58
|
+
apply(headers?: RestHeadersOptions): RestHeaders;
|
|
59
|
+
private constructor();
|
|
60
|
+
/**
|
|
61
|
+
* Returns a new RestHeaders instance from the given DOMString of Response RestHeaders
|
|
62
|
+
*/
|
|
63
|
+
static fromResponseHeaderString(headersString: string): RestHeaders;
|
|
64
|
+
/**
|
|
65
|
+
* Appends a header to existing list of header values for a given header name.
|
|
66
|
+
*/
|
|
67
|
+
append(name: string, value: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Deletes all header values for the given name.
|
|
70
|
+
*/
|
|
71
|
+
delete(name: string): void;
|
|
72
|
+
forEach(fn: (values: string[], name: string, headers: Map<string, string[]>) => void): void;
|
|
73
|
+
/**
|
|
74
|
+
* Returns first header that matches given name.
|
|
75
|
+
*/
|
|
76
|
+
get(name: string): string;
|
|
77
|
+
/**
|
|
78
|
+
* Checks for existence of header by given name.
|
|
79
|
+
*/
|
|
80
|
+
has(name: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Returns the names of the headers
|
|
83
|
+
*/
|
|
84
|
+
keys(): string[];
|
|
85
|
+
/**
|
|
86
|
+
* Sets or overrides header value for given name.
|
|
87
|
+
*/
|
|
88
|
+
set(name: string, value: string | string[]): void;
|
|
89
|
+
/**
|
|
90
|
+
* Returns values of all headers.
|
|
91
|
+
*/
|
|
92
|
+
values(): string[][];
|
|
93
|
+
/**
|
|
94
|
+
* Returns string of all headers.
|
|
95
|
+
*/
|
|
96
|
+
toJSON(): {
|
|
97
|
+
[name: string]: any;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Returns list of header values for a given name.
|
|
101
|
+
*/
|
|
102
|
+
getAll(name: string): string[];
|
|
103
|
+
private mayBeSetNormalizedName;
|
|
104
|
+
}
|
|
105
|
+
declare class RestCommonHttpResponseWrapper {
|
|
106
|
+
success?: boolean;
|
|
107
|
+
}
|
|
108
|
+
export declare class RestResponseWrapper extends RestCommonHttpResponseWrapper {
|
|
109
|
+
data?: any;
|
|
110
|
+
}
|
|
111
|
+
export declare class RestErrorResponseWrapper extends RestCommonHttpResponseWrapper {
|
|
112
|
+
message: string;
|
|
113
|
+
/**
|
|
114
|
+
* stack trace / more details about error
|
|
115
|
+
*/
|
|
116
|
+
details?: string;
|
|
117
|
+
/**
|
|
118
|
+
* http status code
|
|
119
|
+
*/
|
|
120
|
+
status?: number;
|
|
121
|
+
/**
|
|
122
|
+
* custom error code from backend
|
|
123
|
+
*/
|
|
124
|
+
code?: string;
|
|
125
|
+
}
|
|
126
|
+
export declare abstract class BaseBody {
|
|
127
|
+
protected toJSON(data: any, opt: {
|
|
128
|
+
isJSONArray?: boolean;
|
|
129
|
+
parsingError?: boolean;
|
|
130
|
+
}): object | undefined;
|
|
131
|
+
}
|
|
132
|
+
export declare class HttpBody<T> extends BaseBody {
|
|
133
|
+
private readonly url;
|
|
134
|
+
private readonly method;
|
|
135
|
+
private readonly headers;
|
|
136
|
+
private readonly responseText;
|
|
137
|
+
private readonly options;
|
|
138
|
+
private readonly isArray;
|
|
139
|
+
constructor(url: string, method: string, headers: RestHeaders, responseText: string | Blob, options: ResourceOptions, isArray: boolean);
|
|
140
|
+
private get entity();
|
|
141
|
+
private get circular();
|
|
142
|
+
get blob(): Blob;
|
|
143
|
+
get booleanValue(): boolean | undefined;
|
|
144
|
+
get numericValue(): number | undefined;
|
|
145
|
+
get rawJson(): Partial<T>;
|
|
146
|
+
get json(): T;
|
|
147
|
+
private displayWarningWhenNotUsingProperAPI;
|
|
148
|
+
/**
|
|
149
|
+
* undefined when blob
|
|
150
|
+
*/
|
|
151
|
+
get text(): string | undefined;
|
|
152
|
+
}
|
|
153
|
+
export declare class ErrorBody<T = RestErrorResponseWrapper> extends BaseBody {
|
|
154
|
+
private readonly url;
|
|
155
|
+
private readonly data;
|
|
156
|
+
constructor(url: string, data: any);
|
|
157
|
+
get json(): T;
|
|
158
|
+
get text(): string;
|
|
159
|
+
}
|
|
160
|
+
export declare abstract class BaseResponse<T> {
|
|
161
|
+
readonly responseText: string | Blob;
|
|
162
|
+
readonly options: ResourceOptions;
|
|
163
|
+
readonly statusCode: number;
|
|
164
|
+
readonly headers: RestHeaders;
|
|
165
|
+
readonly isArray: boolean;
|
|
166
|
+
constructor(responseText: string | Blob, options: ResourceOptions, statusCode: number, headers: RestHeaders, isArray: boolean);
|
|
167
|
+
}
|
|
168
|
+
export declare class HttpResponse<T> extends BaseResponse<T> {
|
|
169
|
+
readonly url: string;
|
|
170
|
+
readonly method: CoreModels.HttpMethod;
|
|
171
|
+
readonly responseText: string | Blob;
|
|
172
|
+
readonly headers: RestHeaders;
|
|
173
|
+
readonly statusCode: number;
|
|
174
|
+
readonly options: ResourceOptions;
|
|
175
|
+
readonly isArray: boolean;
|
|
176
|
+
body: HttpBody<T>;
|
|
177
|
+
constructor(url: string, method: CoreModels.HttpMethod, responseText: string | Blob, headers: RestHeaders, statusCode: number, options: ResourceOptions, isArray: boolean);
|
|
178
|
+
}
|
|
179
|
+
export declare class HttpResponseError<ERROR_BODY = object> extends BaseResponse<any> {
|
|
180
|
+
readonly url: string;
|
|
181
|
+
readonly method: CoreModels.HttpMethod;
|
|
182
|
+
readonly responseText: string;
|
|
183
|
+
readonly options: ResourceOptions;
|
|
184
|
+
readonly headers: RestHeaders;
|
|
185
|
+
readonly statusCode: number;
|
|
186
|
+
readonly isArray: boolean;
|
|
187
|
+
readonly body: ErrorBody<ERROR_BODY>;
|
|
188
|
+
constructor(url: string, method: CoreModels.HttpMethod, responseText: string, options: ResourceOptions, headers: RestHeaders, statusCode: number, isArray: boolean);
|
|
189
|
+
}
|
|
190
|
+
export type ResourceStrategy = 'http' | 'ipc-electron' | 'js-mock';
|
|
191
|
+
interface ResourceOptions {
|
|
192
|
+
strategy?: ResourceStrategy;
|
|
193
|
+
headers?: RestHeaders;
|
|
194
|
+
useArrayApiWarning?: boolean;
|
|
195
|
+
defaultHeadersProfile?: keyof typeof DEFAULT_HEADERS;
|
|
196
|
+
responseMapping?: {
|
|
197
|
+
/**
|
|
198
|
+
* Use ()=> MyEntity to avoid js circural dependencies.
|
|
199
|
+
* String only when as header key value.
|
|
200
|
+
*/
|
|
201
|
+
entity?: (EncodeSchema | EncodeSchemaString) | {
|
|
202
|
+
(): EncodeSchema | EncodeSchemaString;
|
|
203
|
+
} | string;
|
|
204
|
+
/**
|
|
205
|
+
* Metadata for remapping circular objects.
|
|
206
|
+
* Generated from json10 packages.
|
|
207
|
+
* String only when as header key value.
|
|
208
|
+
*/
|
|
209
|
+
circular?: Circ[] | string;
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
type BackendError = {
|
|
213
|
+
msg?: string;
|
|
214
|
+
stack?: string[];
|
|
215
|
+
data: any;
|
|
216
|
+
};
|
|
217
|
+
export declare const HeaderKeyContentType = "Content-Type";
|
|
218
|
+
export declare const HeaderKeyAccept = "Accept";
|
|
219
|
+
export declare const DEFAULT_HEADERS: {
|
|
220
|
+
readonly APPLICATION_JSON: RestHeaders;
|
|
221
|
+
readonly APPLICATION_VND_API_JSON: RestHeaders;
|
|
222
|
+
readonly APPLICATION_X_WWW_FORM_URLENCODED: RestHeaders;
|
|
223
|
+
readonly MULTIPART_FORM_DATA: RestHeaders;
|
|
224
|
+
readonly TEXT_PLAIN: RestHeaders;
|
|
225
|
+
readonly ACCEPT_ANY: RestHeaders;
|
|
226
|
+
readonly OCTET_STREAM: RestHeaders;
|
|
227
|
+
};
|
|
228
|
+
export declare abstract class ResourceResponse<DATA = any, ERROR = any> implements Promise<HttpResponse<DATA> | HttpResponseError<ERROR>> {
|
|
229
|
+
protected httpMethodName: CoreModels.HttpMethod;
|
|
230
|
+
protected urlOrigin: string;
|
|
231
|
+
protected urlPathname: string;
|
|
232
|
+
protected options: ResourceOptions;
|
|
233
|
+
protected body: DATA | DATA;
|
|
234
|
+
protected urlParams: UrlParams[];
|
|
235
|
+
protected axiosOptions: Ng2RestAxiosRequestConfig;
|
|
236
|
+
protected isArray: boolean;
|
|
237
|
+
protected headers: RestHeaders;
|
|
238
|
+
protected globalInterceptors: Map<string, TaonAxiosClientInterceptor>;
|
|
239
|
+
protected methodsInterceptors: Map<string, TaonAxiosClientInterceptor>;
|
|
240
|
+
[Symbol.toStringTag]: string;
|
|
241
|
+
private _promise?;
|
|
242
|
+
private _promiseAbort?;
|
|
243
|
+
private _observable?;
|
|
244
|
+
constructor(httpMethodName: CoreModels.HttpMethod, urlOrigin: string, urlPathname: string, options: ResourceOptions, body: DATA | DATA, urlParams: UrlParams[], axiosOptions: Ng2RestAxiosRequestConfig, isArray: boolean, headers: RestHeaders, globalInterceptors: Map<string, TaonAxiosClientInterceptor>, methodsInterceptors: Map<string, TaonAxiosClientInterceptor>);
|
|
245
|
+
protected abstract makeRequest(abortSignal: AbortSignal): Promise<HttpResponse<DATA>>;
|
|
246
|
+
/**
|
|
247
|
+
* ✅ Explicit cancel (useful for "promise style")
|
|
248
|
+
*/
|
|
249
|
+
cancel(reason?: string): void;
|
|
250
|
+
/**
|
|
251
|
+
* Promise API (cannot be auto-cancelled by consumer, so we expose cancel())
|
|
252
|
+
*/
|
|
253
|
+
get promise(): Promise<HttpResponse<DATA> | HttpResponseError<ERROR>>;
|
|
254
|
+
then<TResult1 = HttpResponse<DATA>, TResult2 = never>(onfulfilled?: ((value: HttpResponse<DATA>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
255
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<(HttpResponse<DATA> | HttpResponseError<ERROR>) | TResult>;
|
|
256
|
+
finally(onfinally?: (() => void) | null): Promise<HttpResponse<DATA> | HttpResponseError<ERROR>>;
|
|
257
|
+
/**
|
|
258
|
+
* ✅ Observable owns AbortController:
|
|
259
|
+
* - subscribe starts request
|
|
260
|
+
* - unsubscribe aborts request
|
|
261
|
+
* - shareReplay shares the same in-flight request among subscribers
|
|
262
|
+
*/
|
|
263
|
+
get observable(): Observable<HttpResponse<DATA>>;
|
|
264
|
+
protected creatUrl(params: any, doNotSerializeParams?: boolean): string;
|
|
265
|
+
}
|
|
266
|
+
export interface UrlParams {
|
|
267
|
+
[urlModelName: string]: string | number | boolean | RegExp | Object;
|
|
268
|
+
regex?: RegExp;
|
|
269
|
+
}
|
|
270
|
+
export type Ng2RestAxiosRequestConfig = {
|
|
271
|
+
doNotSerializeParams?: boolean;
|
|
272
|
+
} & AxiosRequestConfig<any>;
|
|
273
|
+
export declare namespace Resource {
|
|
274
|
+
const globalInterceptors: Map<string, TaonAxiosClientInterceptor<any>>;
|
|
275
|
+
const methodsInterceptors: Map<string, TaonAxiosClientInterceptor<any>>;
|
|
276
|
+
const listenErrors: Observable<BackendError>;
|
|
277
|
+
const Cookies: Cookie;
|
|
278
|
+
function create<MODEL = any>(originUrl: string, pathnameModel: string, resourceOptions?: ResourceOptions): {
|
|
279
|
+
model: <INTERPOLATE_ARGS = {}>(interpolateParams?: INTERPOLATE_ARGS, overrideOptions?: ResourceOptions | {
|
|
280
|
+
(options: ResourceOptions): ResourceOptions;
|
|
281
|
+
}) => {
|
|
282
|
+
get: (item?: MODEL, urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL, any>;
|
|
283
|
+
delete: (item?: MODEL, urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL, any>;
|
|
284
|
+
head: (item?: MODEL, urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL, any>;
|
|
285
|
+
post: (item?: MODEL, urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL, any>;
|
|
286
|
+
put: (item?: MODEL, urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL, any>;
|
|
287
|
+
patch: (item?: MODEL, urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL, any>;
|
|
288
|
+
jsonp: (item?: MODEL, urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL, any>;
|
|
289
|
+
array: {
|
|
290
|
+
get: (item?: MODEL[], urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL[], any>;
|
|
291
|
+
delete: (item?: MODEL[], urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL[], any>;
|
|
292
|
+
head: (item?: MODEL[], urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL[], any>;
|
|
293
|
+
post: (item?: MODEL[], urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL[], any>;
|
|
294
|
+
put: (item?: MODEL[], urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL[], any>;
|
|
295
|
+
patch: (item?: MODEL[], urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL[], any>;
|
|
296
|
+
jsonp: (item?: MODEL[], urlParams?: UrlParams[], axiosOptions?: Ng2RestAxiosRequestConfig) => ResourceResponse<MODEL[], any>;
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
export {};
|