bx-rest 0.0.15 → 0.0.16

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.
Files changed (83) hide show
  1. package/esm2020/public-api.mjs +2 -6
  2. package/fesm2015/bx-rest.mjs +1 -1777
  3. package/fesm2015/bx-rest.mjs.map +1 -1
  4. package/fesm2020/bx-rest.mjs +1 -1772
  5. package/fesm2020/bx-rest.mjs.map +1 -1
  6. package/package.json +1 -1
  7. package/public-api.d.ts +1 -3
  8. package/consts/part-name-metods.d.ts +0 -74
  9. package/consts/time.d.ts +0 -3
  10. package/esm2020/consts/part-name-metods.mjs +0 -75
  11. package/esm2020/consts/time.mjs +0 -4
  12. package/esm2020/functions/mapResult.mjs +0 -7
  13. package/esm2020/functions/serializeJavascript.mjs +0 -200
  14. package/esm2020/map/base.mjs +0 -14
  15. package/esm2020/map/lists/element.mjs +0 -22
  16. package/esm2020/request/bx-rest.module.mjs +0 -28
  17. package/esm2020/request/lists/element.mjs +0 -55
  18. package/esm2020/request/lists.mjs +0 -46
  19. package/esm2020/request/user.mjs +0 -227
  20. package/esm2020/services/base.mjs +0 -174
  21. package/esm2020/services/http/HttpBX.mjs +0 -128
  22. package/esm2020/services/http/HttpData.mjs +0 -124
  23. package/esm2020/services/http/base/base.mjs +0 -29
  24. package/esm2020/services/http/base/http.mjs +0 -28
  25. package/esm2020/services/http/http.mjs +0 -135
  26. package/esm2020/services/http/sessionKey.mjs +0 -180
  27. package/esm2020/services/map/base.mjs +0 -14
  28. package/esm2020/services/map/rest/user.mjs +0 -89
  29. package/esm2020/services/snack-bar/snack-bar.service.mjs +0 -42
  30. package/esm2020/services/snack-bar/toast-message/toast-message.component.mjs +0 -31
  31. package/esm2020/services/vanilla/JSON.mjs +0 -20
  32. package/esm2020/services/vanilla/localStorage.mjs +0 -35
  33. package/esm2020/services/vanilla//321/201ookies.mjs +0 -44
  34. package/esm2020/store/auth.mjs +0 -26
  35. package/esm2020/store/users.mjs +0 -67
  36. package/esm2020/typification/auth/save.mjs +0 -2
  37. package/esm2020/typification/rest/api-lib.mjs +0 -21
  38. package/esm2020/typification/rest/base/YesNo.mjs +0 -2
  39. package/esm2020/typification/rest/base/httpAnswerBX.mjs +0 -2
  40. package/esm2020/typification/rest/batch/batchRequestParam.mjs +0 -2
  41. package/esm2020/typification/rest/lib.mjs +0 -2
  42. package/esm2020/typification/rest/lists/element/get.mjs +0 -2
  43. package/esm2020/typification/rest/settings.mjs +0 -2
  44. package/esm2020/typification/rest/support/param.mjs +0 -2
  45. package/esm2020/typification/rest/user/UserFilterSearch.mjs +0 -2
  46. package/esm2020/typification/rest/user/get.mjs +0 -2
  47. package/esm2020/typification/rest/user/user.mjs +0 -2
  48. package/functions/mapResult.d.ts +0 -2
  49. package/functions/serializeJavascript.d.ts +0 -2
  50. package/map/base.d.ts +0 -6
  51. package/map/lists/element.d.ts +0 -8
  52. package/request/bx-rest.module.d.ts +0 -8
  53. package/request/lists/element.d.ts +0 -27
  54. package/request/lists.d.ts +0 -18
  55. package/request/user.d.ts +0 -59
  56. package/services/base.d.ts +0 -32
  57. package/services/http/HttpBX.d.ts +0 -26
  58. package/services/http/HttpData.d.ts +0 -13
  59. package/services/http/base/base.d.ts +0 -16
  60. package/services/http/base/http.d.ts +0 -7
  61. package/services/http/http.d.ts +0 -31
  62. package/services/http/sessionKey.d.ts +0 -34
  63. package/services/map/base.d.ts +0 -6
  64. package/services/map/rest/user.d.ts +0 -12
  65. package/services/snack-bar/snack-bar.service.d.ts +0 -12
  66. package/services/snack-bar/toast-message/toast-message.component.d.ts +0 -16
  67. package/services/vanilla/JSON.d.ts +0 -7
  68. package/services/vanilla/localStorage.d.ts +0 -10
  69. package/services/vanilla//321/201ookies.d.ts +0 -9
  70. package/store/auth.d.ts +0 -20
  71. package/store/users.d.ts +0 -34
  72. package/typification/auth/save.d.ts +0 -14
  73. package/typification/rest/api-lib.d.ts +0 -9
  74. package/typification/rest/base/YesNo.d.ts +0 -1
  75. package/typification/rest/base/httpAnswerBX.d.ts +0 -15
  76. package/typification/rest/batch/batchRequestParam.d.ts +0 -16
  77. package/typification/rest/lib.d.ts +0 -18
  78. package/typification/rest/lists/element/get.d.ts +0 -28
  79. package/typification/rest/settings.d.ts +0 -6
  80. package/typification/rest/support/param.d.ts +0 -5
  81. package/typification/rest/user/UserFilterSearch.d.ts +0 -43
  82. package/typification/rest/user/get.d.ts +0 -13
  83. package/typification/rest/user/user.d.ts +0 -62
@@ -1,200 +0,0 @@
1
- // Generate an internal UID to make the regexp pattern harder to guess.
2
- const UID_LENGTH = 16;
3
- const UID = generateUID();
4
- const PLACE_HOLDER_REGEXP = new RegExp('(\\\\)?"@__(F|R|D|M|S|A|U|I|B|L)-' + UID + '-(\\d+)__@"', 'g');
5
- const IS_NATIVE_CODE_REGEXP = /\{\s*\[native code]\s*}/g;
6
- const IS_PURE_FUNCTION = /function.*?\(/;
7
- const IS_ARROW_FUNCTION = /.*?=>.*?/;
8
- const UNSAFE_CHARS_REGEXP = /[<>\/\u2028\u2029]/g;
9
- const RESERVED_SYMBOLS = ['*', 'async'];
10
- // Mapping of unsafe HTML and invalid JavaScript line terminator chars to their
11
- // Unicode char counterparts which are safe to use in JavaScript strings.
12
- const ESCAPED_CHARS = {
13
- '<': '\\u003C',
14
- '>': '\\u003E',
15
- '/': '\\u002F',
16
- '\u2028': '\\u2028',
17
- '\u2029': '\\u2029'
18
- };
19
- function escapeUnsafeChars(unsafeChar) {
20
- return (ESCAPED_CHARS.hasOwnProperty(unsafeChar)) ? ESCAPED_CHARS[unsafeChar] : '';
21
- }
22
- function generateUID() {
23
- let bytes = window.crypto.getRandomValues(new Uint32Array(UID_LENGTH));
24
- let result = '';
25
- for (let i = 0; i < UID_LENGTH; ++i) {
26
- result += bytes[i].toString(16);
27
- }
28
- return result;
29
- }
30
- function deleteFunctions(obj) {
31
- let functionKeys = [];
32
- for (let key in obj) {
33
- if (typeof obj[key] === "function") {
34
- functionKeys.push(key);
35
- }
36
- }
37
- for (let i = 0; i < functionKeys.length; i++) {
38
- delete obj[functionKeys[i]];
39
- }
40
- }
41
- function serialize(obj, options = {}) {
42
- // Backwards-compatibility for `space` as the second argument.
43
- if (typeof options === 'number' || typeof options === 'string') {
44
- options = { space: options };
45
- }
46
- let functions = [];
47
- let regexps = [];
48
- let dates = [];
49
- let maps = [];
50
- let sets = [];
51
- let arrays = [];
52
- let undefs = [];
53
- let infinities = [];
54
- let bigInts = [];
55
- let urls = [];
56
- // Returns placeholders for functions and regexps (identified by index)
57
- // which are later replaced by their string representation.
58
- function replacer(key, value) {
59
- // For nested function
60
- if (options.ignoreFunction) {
61
- deleteFunctions(value);
62
- }
63
- if (!value && value !== undefined) {
64
- return value;
65
- }
66
- // let origValue: any = this[key];
67
- let origValue = value;
68
- let type = typeof origValue;
69
- switch (type) {
70
- case 'object':
71
- if (origValue instanceof RegExp) {
72
- return '@__R-' + UID + '-' + (regexps.push(origValue) - 1) + '__@';
73
- }
74
- else if (origValue instanceof Date) {
75
- return '@__D-' + UID + '-' + (dates.push(origValue) - 1) + '__@';
76
- }
77
- else if (origValue instanceof Map) {
78
- return '@__M-' + UID + '-' + (maps.push(origValue) - 1) + '__@';
79
- }
80
- else if (origValue instanceof Set) {
81
- return '@__S-' + UID + '-' + (sets.push(origValue) - 1) + '__@';
82
- }
83
- if (origValue instanceof Array) {
84
- let isSparse = origValue.filter(function () {
85
- return true;
86
- }).length !== origValue.length;
87
- if (isSparse) {
88
- return '@__A-' + UID + '-' + (arrays.push(origValue) - 1) + '__@';
89
- }
90
- }
91
- if (origValue instanceof URL) {
92
- return '@__L-' + UID + '-' + (urls.push(origValue) - 1) + '__@';
93
- }
94
- break;
95
- case 'function':
96
- return '@__F-' + UID + '-' + (functions.push(origValue) - 1) + '__@';
97
- case 'undefined':
98
- return '@__U-' + UID + '-' + (undefs.push(origValue) - 1) + '__@';
99
- case 'number':
100
- return '@__I-' + UID + '-' + (infinities.push(origValue) - 1) + '__@';
101
- case 'bigint':
102
- return '@__B-' + UID + '-' + (bigInts.push(origValue) - 1) + '__@';
103
- }
104
- return value;
105
- }
106
- function serializeFunc(fn) {
107
- let serializedFn = fn.toString();
108
- if (IS_NATIVE_CODE_REGEXP.test(serializedFn)) {
109
- throw new TypeError('Serializing native function: ' + fn.name);
110
- }
111
- // pure functions, example: {key: function() {}}
112
- if (IS_PURE_FUNCTION.test(serializedFn)) {
113
- return serializedFn;
114
- }
115
- // arrow functions, example: arg1 => arg1+5
116
- if (IS_ARROW_FUNCTION.test(serializedFn)) {
117
- return serializedFn;
118
- }
119
- let argsStartsAt = serializedFn.indexOf('(');
120
- let def = serializedFn.slice(0, argsStartsAt)
121
- .trim()
122
- .split(' ')
123
- .filter(function (val) {
124
- return val.length > 0;
125
- });
126
- let nonReservedSymbols = def.filter(function (val) {
127
- return RESERVED_SYMBOLS.indexOf(val) === -1;
128
- });
129
- // enhanced literal objects, example: {key() {}}
130
- if (nonReservedSymbols.length > 0) {
131
- return (def.indexOf('async') > -1 ? 'async ' : '') + 'function'
132
- + (def.join('').indexOf('*') > -1 ? '*' : '')
133
- + serializedFn.slice(argsStartsAt);
134
- }
135
- // arrow functions
136
- return serializedFn;
137
- }
138
- // Check if the parameter is function
139
- if (options.ignoreFunction && typeof obj === "function") {
140
- obj = undefined;
141
- }
142
- // Protects against `JSON.stringify()` returning `undefined`, by serializing
143
- // to the literal string: "undefined".
144
- if (obj === undefined) {
145
- return String(obj);
146
- }
147
- let str = '';
148
- // Creates a JSON string representation of the value.
149
- // NOTE: Node 0.12 goes into slow mode with extra JSON.stringify() args.
150
- if (options.isJSON && !options.space) {
151
- str = JSON.stringify(obj);
152
- }
153
- else {
154
- str = JSON.stringify(obj, options.isJSON ? undefined : replacer, options.space);
155
- }
156
- // Replace unsafe HTML and invalid JavaScript line terminator chars with
157
- // their safe Unicode char counterpart. This _must_ happen before the
158
- // regexps and functions are serialized and added back to the string.
159
- if (options.unsafe !== true) {
160
- str = str.replace(UNSAFE_CHARS_REGEXP, escapeUnsafeChars);
161
- }
162
- if (functions.length === 0 && regexps.length === 0 && dates.length === 0 && maps.length === 0 && sets.length === 0 && arrays.length === 0 && undefs.length === 0 && infinities.length === 0 && bigInts.length === 0 && urls.length === 0) {
163
- return str;
164
- }
165
- // Replaces all occurrences of function, regexp, date, map and set placeholders in the
166
- // JSON string with their string representations. If the original value can
167
- // not be found, then `undefined` is used.
168
- return str.replace(PLACE_HOLDER_REGEXP, function (match, backSlash, type, valueIndex) {
169
- // The placeholder may not be preceded by a backslash. This is to prevent
170
- // replacing things like `"a\"@__R-<UID>-0__@"` and thus outputting
171
- // invalid JS.
172
- if (backSlash) {
173
- return match;
174
- }
175
- switch (type) {
176
- case 'D':
177
- return "new Date(\"" + dates[valueIndex].toISOString() + "\")";
178
- case 'R':
179
- return "new RegExp(" + serialize(regexps[valueIndex].source) + ", \"" + regexps[valueIndex].flags + "\")";
180
- case 'M':
181
- return "new Map(" + serialize(Array.from(maps[valueIndex].entries()), options) + ")";
182
- case 'S':
183
- return "new Set(" + serialize(Array.from(sets[valueIndex].values()), options) + ")";
184
- case 'A':
185
- return "Array.prototype.slice.call(" + serialize(Object.assign({ length: arrays[valueIndex].length }, arrays[valueIndex]), options) + ")";
186
- case 'U':
187
- return 'undefined';
188
- case 'I':
189
- return infinities[valueIndex];
190
- case 'B':
191
- return "BigInt(\"" + bigInts[valueIndex] + "\")";
192
- case 'L':
193
- return "new URL(\"" + urls[valueIndex].toString() + "\")";
194
- }
195
- let fn = functions[valueIndex];
196
- return serializeFunc(fn);
197
- });
198
- }
199
- export default serialize;
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplSmF2YXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL2Z1bmN0aW9ucy9zZXJpYWxpemVKYXZhc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVFQUF1RTtBQUN2RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxHQUFHLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFDMUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxtQ0FBbUMsR0FBRyxHQUFHLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXZHLE1BQU0scUJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7QUFDekMsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7QUFDckMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXhDLCtFQUErRTtBQUMvRSx5RUFBeUU7QUFDekUsTUFBTSxhQUFhLEdBQTZCO0lBQzlDLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLFNBQVM7SUFDZCxHQUFHLEVBQUUsU0FBUztJQUNkLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFFRixTQUFTLGlCQUFpQixDQUFDLFVBQWtCO0lBQzNDLE9BQU8sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3JGLENBQUM7QUFFRCxTQUFTLFdBQVc7SUFDbEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxX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QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZSBhbiBpbnRlcm5hbCBVSUQgdG8gbWFrZSB0aGUgcmVnZXhwIHBhdHRlcm4gaGFyZGVyIHRvIGd1ZXNzLlxuY29uc3QgVUlEX0xFTkdUSCA9IDE2O1xuY29uc3QgVUlEID0gZ2VuZXJhdGVVSUQoKTtcbmNvbnN0IFBMQUNFX0hPTERFUl9SRUdFWFAgPSBuZXcgUmVnRXhwKCcoXFxcXFxcXFwpP1wiQF9fKEZ8UnxEfE18U3xBfFV8SXxCfEwpLScgKyBVSUQgKyAnLShcXFxcZCspX19AXCInLCAnZycpO1xuXG5jb25zdCBJU19OQVRJVkVfQ09ERV9SRUdFWFAgPSAvXFx7XFxzKlxcW25hdGl2ZSBjb2RlXVxccyp9L2c7XG5jb25zdCBJU19QVVJFX0ZVTkNUSU9OID0gL2Z1bmN0aW9uLio/XFwoLztcbmNvbnN0IElTX0FSUk9XX0ZVTkNUSU9OID0gLy4qPz0+Lio/LztcbmNvbnN0IFVOU0FGRV9DSEFSU19SRUdFWFAgPSAvWzw+XFwvXFx1MjAyOFxcdTIwMjldL2c7XG5cbmNvbnN0IFJFU0VSVkVEX1NZTUJPTFMgPSBbJyonLCAnYXN5bmMnXTtcblxuLy8gTWFwcGluZyBvZiB1bnNhZmUgSFRNTCBhbmQgaW52YWxpZCBKYXZhU2NyaXB0IGxpbmUgdGVybWluYXRvciBjaGFycyB0byB0aGVpclxuLy8gVW5pY29kZSBjaGFyIGNvdW50ZXJwYXJ0cyB3aGljaCBhcmUgc2FmZSB0byB1c2UgaW4gSmF2YVNjcmlwdCBzdHJpbmdzLlxuY29uc3QgRVNDQVBFRF9DSEFSUzoge1trZXk6IHN0cmluZ106IHN0cmluZ30gID0ge1xuICAnPCc6ICdcXFxcdTAwM0MnLFxuICAnPic6ICdcXFxcdTAwM0UnLFxuICAnLyc6ICdcXFxcdTAwMkYnLFxuICAnXFx1MjAyOCc6ICdcXFxcdTIwMjgnLFxuICAnXFx1MjAyOSc6ICdcXFxcdTIwMjknXG59O1xuXG5mdW5jdGlvbiBlc2NhcGVVbnNhZmVDaGFycyh1bnNhZmVDaGFyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gKEVTQ0FQRURfQ0hBUlMuaGFzT3duUHJvcGVydHkodW5zYWZlQ2hhcikpID8gRVNDQVBFRF9DSEFSU1t1bnNhZmVDaGFyXSA6ICcnO1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVVJRCgpIHtcbiAgbGV0IGJ5dGVzID0gd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KFVJRF9MRU5HVEgpKVxuICBsZXQgcmVzdWx0ID0gJyc7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgVUlEX0xFTkdUSDsgKytpKSB7XG4gICAgcmVzdWx0ICs9IGJ5dGVzW2ldLnRvU3RyaW5nKDE2KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBkZWxldGVGdW5jdGlvbnMob2JqOiBhbnkpIHtcbiAgbGV0IGZ1bmN0aW9uS2V5cyA9IFtdO1xuICBmb3IgKGxldCBrZXkgaW4gb2JqKSB7XG4gICAgaWYgKHR5cGVvZiBvYmpba2V5XSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBmdW5jdGlvbktleXMucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGZ1bmN0aW9uS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGRlbGV0ZSBvYmpbZnVuY3Rpb25LZXlzW2ldXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXJpYWxpemUob2JqOiBhbnksIG9wdGlvbnM6IGFueSA9IHt9KTogYW55IHtcbiAgLy8gQmFja3dhcmRzLWNvbXBhdGliaWxpdHkgZm9yIGBzcGFjZWAgYXMgdGhlIHNlY29uZCBhcmd1bWVudC5cbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnbnVtYmVyJyB8fCB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICBvcHRpb25zID0ge3NwYWNlOiBvcHRpb25zfTtcbiAgfVxuXG4gIGxldCBmdW5jdGlvbnM6IEZ1bmN0aW9uW10gPSBbXTtcbiAgbGV0IHJlZ2V4cHM6IGFueVtdID0gW107XG4gIGxldCBkYXRlczogYW55W10gPSBbXTtcbiAgbGV0IG1hcHM6IGFueVtdID0gW107XG4gIGxldCBzZXRzOiBhbnlbXSA9IFtdO1xuICBsZXQgYXJyYXlzOiBhbnlbXSA9IFtdO1xuICBsZXQgdW5kZWZzOiBhbnlbXSA9IFtdO1xuICBsZXQgaW5maW5pdGllczogYW55W10gPSBbXTtcbiAgbGV0IGJpZ0ludHM6IGFueVtdID0gW107XG4gIGxldCB1cmxzOiBhbnlbXSA9IFtdO1xuXG4gIC8vIFJldHVybnMgcGxhY2Vob2xkZXJzIGZvciBmdW5jdGlvbnMgYW5kIHJlZ2V4cHMgKGlkZW50aWZpZWQgYnkgaW5kZXgpXG4gIC8vIHdoaWNoIGFyZSBsYXRlciByZXBsYWNlZCBieSB0aGVpciBzdHJpbmcgcmVwcmVzZW50YXRpb24uXG4gIGZ1bmN0aW9uIHJlcGxhY2VyKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG5cbiAgICAvLyBGb3IgbmVzdGVkIGZ1bmN0aW9uXG4gICAgaWYgKG9wdGlvbnMuaWdub3JlRnVuY3Rpb24pIHtcbiAgICAgIGRlbGV0ZUZ1bmN0aW9ucyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gbGV0IG9yaWdWYWx1ZTogYW55ID0gdGhpc1trZXldO1xuICAgIGxldCBvcmlnVmFsdWU6IGFueSA9IHZhbHVlO1xuICAgIGxldCB0eXBlID0gdHlwZW9mIG9yaWdWYWx1ZTtcblxuICAgIHN3aXRjaCAodHlwZSl7XG4gICAgICBjYXNlICdvYmplY3QnOlxuXG4gICAgICAgIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgICByZXR1cm4gJ0BfX1ItJyArIFVJRCArICctJyArIChyZWdleHBzLnB1c2gob3JpZ1ZhbHVlKSAtIDEpICsgJ19fQCc7XG4gICAgICAgIH0gZWxzZSBpZiAob3JpZ1ZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgIHJldHVybiAnQF9fRC0nICsgVUlEICsgJy0nICsgKGRhdGVzLnB1c2gob3JpZ1ZhbHVlKSAtIDEpICsgJ19fQCc7XG4gICAgICAgIH0gZWxzZSBpZiAob3JpZ1ZhbHVlIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgcmV0dXJuICdAX19NLScgKyBVSUQgKyAnLScgKyAobWFwcy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xuICAgICAgICB9IGVsc2UgaWYgKG9yaWdWYWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICAgIHJldHVybiAnQF9fUy0nICsgVUlEICsgJy0nICsgKHNldHMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgIGxldCBpc1NwYXJzZSA9IG9yaWdWYWx1ZS5maWx0ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICB9KS5sZW5ndGggIT09IG9yaWdWYWx1ZS5sZW5ndGg7XG4gICAgICAgICAgaWYgKGlzU3BhcnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0BfX0EtJyArIFVJRCArICctJyArIChhcnJheXMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3JpZ1ZhbHVlIGluc3RhbmNlb2YgVVJMKSB7XG4gICAgICAgICAgcmV0dXJuICdAX19MLScgKyBVSUQgKyAnLScgKyAodXJscy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gJ0BfX0YtJyArIFVJRCArICctJyArIChmdW5jdGlvbnMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcbiAgICAgIGNhc2UgJ3VuZGVmaW5lZCc6XG4gICAgICAgIHJldHVybiAnQF9fVS0nICsgVUlEICsgJy0nICsgKHVuZGVmcy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmV0dXJuICdAX19JLScgKyBVSUQgKyAnLScgKyAoaW5maW5pdGllcy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xuICAgICAgY2FzZSAnYmlnaW50JzpcbiAgICAgICAgcmV0dXJuICdAX19CLScgKyBVSUQgKyAnLScgKyAoYmlnSW50cy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNlcmlhbGl6ZUZ1bmMoZm46IEZ1bmN0aW9uKSB7XG4gICAgbGV0IHNlcmlhbGl6ZWRGbiA9IGZuLnRvU3RyaW5nKCk7XG4gICAgaWYgKElTX05BVElWRV9DT0RFX1JFR0VYUC50ZXN0KHNlcmlhbGl6ZWRGbikpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1NlcmlhbGl6aW5nIG5hdGl2ZSBmdW5jdGlvbjogJyArIGZuLm5hbWUpO1xuICAgIH1cblxuICAgIC8vIHB1cmUgZnVuY3Rpb25zLCBleGFtcGxlOiB7a2V5OiBmdW5jdGlvbigpIHt9fVxuICAgIGlmIChJU19QVVJFX0ZVTkNUSU9OLnRlc3Qoc2VyaWFsaXplZEZuKSkge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZWRGbjtcbiAgICB9XG5cbiAgICAvLyBhcnJvdyBmdW5jdGlvbnMsIGV4YW1wbGU6IGFyZzEgPT4gYXJnMSs1XG4gICAgaWYgKElTX0FSUk9XX0ZVTkNUSU9OLnRlc3Qoc2VyaWFsaXplZEZuKSkge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZWRGbjtcbiAgICB9XG5cbiAgICBsZXQgYXJnc1N0YXJ0c0F0ID0gc2VyaWFsaXplZEZuLmluZGV4T2YoJygnKTtcbiAgICBsZXQgZGVmID0gc2VyaWFsaXplZEZuLnNsaWNlKDAsIGFyZ3NTdGFydHNBdClcbiAgICAudHJpbSgpXG4gICAgLnNwbGl0KCcgJylcbiAgICAuZmlsdGVyKGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgIHJldHVybiB2YWwubGVuZ3RoID4gMFxuICAgIH0pO1xuXG4gICAgbGV0IG5vblJlc2VydmVkU3ltYm9scyA9IGRlZi5maWx0ZXIoZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcmV0dXJuIFJFU0VSVkVEX1NZTUJPTFMuaW5kZXhPZih2YWwpID09PSAtMVxuICAgIH0pO1xuXG4gICAgLy8gZW5oYW5jZWQgbGl0ZXJhbCBvYmplY3RzLCBleGFtcGxlOiB7a2V5KCkge319XG4gICAgaWYgKG5vblJlc2VydmVkU3ltYm9scy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKGRlZi5pbmRleE9mKCdhc3luYycpID4gLTEgPyAnYXN5bmMgJyA6ICcnKSArICdmdW5jdGlvbidcbiAgICAgICAgKyAoZGVmLmpvaW4oJycpLmluZGV4T2YoJyonKSA+IC0xID8gJyonIDogJycpXG4gICAgICAgICsgc2VyaWFsaXplZEZuLnNsaWNlKGFyZ3NTdGFydHNBdCk7XG4gICAgfVxuXG4gICAgLy8gYXJyb3cgZnVuY3Rpb25zXG4gICAgcmV0dXJuIHNlcmlhbGl6ZWRGbjtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBwYXJhbWV0ZXIgaXMgZnVuY3Rpb25cbiAgaWYgKG9wdGlvbnMuaWdub3JlRnVuY3Rpb24gJiYgdHlwZW9mIG9iaiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgb2JqID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFByb3RlY3RzIGFnYWluc3QgYEpTT04uc3RyaW5naWZ5KClgIHJldHVybmluZyBgdW5kZWZpbmVkYCwgYnkgc2VyaWFsaXppbmdcbiAgLy8gdG8gdGhlIGxpdGVyYWwgc3RyaW5nOiBcInVuZGVmaW5lZFwiLlxuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gU3RyaW5nKG9iaik7XG4gIH1cblxuICBsZXQgc3RyOiBzdHJpbmcgPSAnJztcblxuICAvLyBDcmVhdGVzIGEgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLlxuICAvLyBOT1RFOiBOb2RlIDAuMTIgZ29lcyBpbnRvIHNsb3cgbW9kZSB3aXRoIGV4dHJhIEpTT04uc3RyaW5naWZ5KCkgYXJncy5cbiAgaWYgKG9wdGlvbnMuaXNKU09OICYmICFvcHRpb25zLnNwYWNlKSB7XG4gICAgc3RyID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcbiAgfSBlbHNlIHtcbiAgICBzdHIgPSBKU09OLnN0cmluZ2lmeShvYmosIG9wdGlvbnMuaXNKU09OID8gdW5kZWZpbmVkIDogcmVwbGFjZXIsIG9wdGlvbnMuc3BhY2UpO1xuICB9XG5cbiAgLy8gUmVwbGFjZSB1bnNhZmUgSFRNTCBhbmQgaW52YWxpZCBKYXZhU2NyaXB0IGxpbmUgdGVybWluYXRvciBjaGFycyB3aXRoXG4gIC8vIHRoZWlyIHNhZmUgVW5pY29kZSBjaGFyIGNvdW50ZXJwYXJ0LiBUaGlzIF9tdXN0XyBoYXBwZW4gYmVmb3JlIHRoZVxuICAvLyByZWdleHBzIGFuZCBmdW5jdGlvbnMgYXJlIHNlcmlhbGl6ZWQgYW5kIGFkZGVkIGJhY2sgdG8gdGhlIHN0cmluZy5cbiAgaWYgKG9wdGlvbnMudW5zYWZlICE9PSB0cnVlKSB7XG4gICAgc3RyID0gc3RyLnJlcGxhY2UoVU5TQUZFX0NIQVJTX1JFR0VYUCwgZXNjYXBlVW5zYWZlQ2hhcnMpO1xuICB9XG5cbiAgaWYgKGZ1bmN0aW9ucy5sZW5ndGggPT09IDAgJiYgcmVnZXhwcy5sZW5ndGggPT09IDAgJiYgZGF0ZXMubGVuZ3RoID09PSAwICYmIG1hcHMubGVuZ3RoID09PSAwICYmIHNldHMubGVuZ3RoID09PSAwICYmIGFycmF5cy5sZW5ndGggPT09IDAgJiYgdW5kZWZzLmxlbmd0aCA9PT0gMCAmJiBpbmZpbml0aWVzLmxlbmd0aCA9PT0gMCAmJiBiaWdJbnRzLmxlbmd0aCA9PT0gMCAmJiB1cmxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICAvLyBSZXBsYWNlcyBhbGwgb2NjdXJyZW5jZXMgb2YgZnVuY3Rpb24sIHJlZ2V4cCwgZGF0ZSwgbWFwIGFuZCBzZXQgcGxhY2Vob2xkZXJzIGluIHRoZVxuICAvLyBKU09OIHN0cmluZyB3aXRoIHRoZWlyIHN0cmluZyByZXByZXNlbnRhdGlvbnMuIElmIHRoZSBvcmlnaW5hbCB2YWx1ZSBjYW5cbiAgLy8gbm90IGJlIGZvdW5kLCB0aGVuIGB1bmRlZmluZWRgIGlzIHVzZWQuXG4gIHJldHVybiBzdHIucmVwbGFjZShQTEFDRV9IT0xERVJfUkVHRVhQLCBmdW5jdGlvbiAobWF0Y2gsIGJhY2tTbGFzaCwgdHlwZSwgdmFsdWVJbmRleCkge1xuICAgIC8vIFRoZSBwbGFjZWhvbGRlciBtYXkgbm90IGJlIHByZWNlZGVkIGJ5IGEgYmFja3NsYXNoLiBUaGlzIGlzIHRvIHByZXZlbnRcbiAgICAvLyByZXBsYWNpbmcgdGhpbmdzIGxpa2UgYFwiYVxcXCJAX19SLTxVSUQ+LTBfX0BcImAgYW5kIHRodXMgb3V0cHV0dGluZ1xuICAgIC8vIGludmFsaWQgSlMuXG4gICAgaWYgKGJhY2tTbGFzaCkge1xuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZSl7XG4gICAgICBjYXNlICdEJzpcbiAgICAgICAgcmV0dXJuIFwibmV3IERhdGUoXFxcIlwiICsgZGF0ZXNbdmFsdWVJbmRleF0udG9JU09TdHJpbmcoKSArIFwiXFxcIilcIlxuICAgICAgY2FzZSAnUic6XG4gICAgICAgIHJldHVybiBcIm5ldyBSZWdFeHAoXCIgKyBzZXJpYWxpemUocmVnZXhwc1t2YWx1ZUluZGV4XS5zb3VyY2UpICsgXCIsIFxcXCJcIiArIHJlZ2V4cHNbdmFsdWVJbmRleF0uZmxhZ3MgKyBcIlxcXCIpXCJcbiAgICAgIGNhc2UgJ00nOlxuICAgICAgICByZXR1cm4gXCJuZXcgTWFwKFwiICsgc2VyaWFsaXplKEFycmF5LmZyb20obWFwc1t2YWx1ZUluZGV4XS5lbnRyaWVzKCkpLCBvcHRpb25zKSArIFwiKVwiXG4gICAgICBjYXNlICdTJzpcbiAgICAgICAgcmV0dXJuIFwibmV3IFNldChcIiArIHNlcmlhbGl6ZShBcnJheS5mcm9tKHNldHNbdmFsdWVJbmRleF0udmFsdWVzKCkpLCBvcHRpb25zKSArIFwiKVwiXG4gICAgICBjYXNlICdBJzpcbiAgICAgICAgcmV0dXJuIFwiQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXCIgKyBzZXJpYWxpemUoT2JqZWN0LmFzc2lnbih7bGVuZ3RoOiBhcnJheXNbdmFsdWVJbmRleF0ubGVuZ3RofSwgYXJyYXlzW3ZhbHVlSW5kZXhdKSwgb3B0aW9ucykgKyBcIilcIlxuICAgICAgY2FzZSAnVSc6XG4gICAgICAgIHJldHVybiAndW5kZWZpbmVkJ1xuICAgICAgY2FzZSAnSSc6XG4gICAgICAgIHJldHVybiBpbmZpbml0aWVzW3ZhbHVlSW5kZXhdXG4gICAgICBjYXNlICdCJzpcbiAgICAgICAgcmV0dXJuIFwiQmlnSW50KFxcXCJcIiArIGJpZ0ludHNbdmFsdWVJbmRleF0gKyBcIlxcXCIpXCJcbiAgICAgIGNhc2UgJ0wnOlxuICAgICAgICByZXR1cm4gXCJuZXcgVVJMKFxcXCJcIiArIHVybHNbdmFsdWVJbmRleF0udG9TdHJpbmcoKSArIFwiXFxcIilcIlxuICAgIH1cblxuICAgIGxldCBmbiA9IGZ1bmN0aW9uc1t2YWx1ZUluZGV4XTtcblxuICAgIHJldHVybiBzZXJpYWxpemVGdW5jKGZuKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHNlcmlhbGl6ZVxuIl19
@@ -1,14 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BaseServices } from '../services/base';
3
- import * as i0 from "@angular/core";
4
- export default class BaseMapServices extends BaseServices {
5
- }
6
- BaseMapServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7
- BaseMapServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices, providedIn: 'root' });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices, decorators: [{
9
- type: Injectable,
10
- args: [{
11
- providedIn: 'root'
12
- }]
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL21hcC9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFBOztBQUsvQyxNQUFNLENBQUMsT0FBTyxPQUFPLGVBQWdCLFNBQVEsWUFBWTs7NEdBQXBDLGVBQWU7Z0hBQWYsZUFBZSxjQUZ0QixNQUFNOzJGQUVDLGVBQWU7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlcyB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2UnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhc2VNYXBTZXJ2aWNlcyBleHRlbmRzIEJhc2VTZXJ2aWNlc3tcclxuXHJcbn1cclxuIl19
@@ -1,22 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import BaseMapServices from '../base';
3
- import * as i0 from "@angular/core";
4
- export default class BXRestListsElementMap extends BaseMapServices {
5
- get(item) {
6
- return Object.assign(item, {
7
- BP_PUBLISHED: item.BP_PUBLISHED === 'Y',
8
- CREATED_BY: this.toNum(item.CREATED_BY),
9
- IBLOCK_ID: this.toNum(item.IBLOCK_ID),
10
- ID: this.toNum(item.ID)
11
- });
12
- }
13
- }
14
- BXRestListsElementMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElementMap, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15
- BXRestListsElementMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElementMap, providedIn: 'root' });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElementMap, decorators: [{
17
- type: Injectable,
18
- args: [{
19
- providedIn: 'root'
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL21hcC9saXN0cy9lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxlQUFlLE1BQU0sU0FBUyxDQUFBOztBQVNyQyxNQUFNLENBQUMsT0FBTyxPQUFPLHFCQUFzQixTQUFRLGVBQWU7SUFFaEUsR0FBRyxDQUFDLElBQTZCO1FBRS9CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUM7WUFDeEIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEtBQUssR0FBRztZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDckMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUN4QixDQUFDLENBQUE7SUFDSixDQUFDOztrSEFWa0IscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGNUIsTUFBTTsyRkFFQyxxQkFBcUI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCBCYXNlTWFwU2VydmljZXMgZnJvbSAnLi4vYmFzZSdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0SHR0cExpc3RzRWxlbWVudCxcclxuICBpQlhSZXN0TGlzdHNFbGVtZW50XHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvbGlzdHMvZWxlbWVudC9nZXQnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJYUmVzdExpc3RzRWxlbWVudE1hcCBleHRlbmRzIEJhc2VNYXBTZXJ2aWNlcyB7XHJcblxyXG4gIGdldChpdGVtOiBpQlhSZXN0SHR0cExpc3RzRWxlbWVudCk6IGlCWFJlc3RMaXN0c0VsZW1lbnRcclxuICB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihpdGVtLHtcclxuICAgICAgQlBfUFVCTElTSEVEOiBpdGVtLkJQX1BVQkxJU0hFRCA9PT0gJ1knLFxyXG4gICAgICBDUkVBVEVEX0JZOiB0aGlzLnRvTnVtKGl0ZW0uQ1JFQVRFRF9CWSksXHJcbiAgICAgIElCTE9DS19JRDogdGhpcy50b051bShpdGVtLklCTE9DS19JRCksXHJcbiAgICAgIElEOiB0aGlzLnRvTnVtKGl0ZW0uSUQpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,28 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MatIconModule } from '@angular/material/icon';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import * as i0 from "@angular/core";
5
- export class BxRestModule {
6
- }
7
- BxRestModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BxRestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- BxRestModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: BxRestModule, imports: [MatIconModule,
9
- MatButtonModule], exports: [MatButtonModule,
10
- MatIconModule] });
11
- BxRestModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BxRestModule, imports: [MatIconModule,
12
- MatButtonModule, MatButtonModule,
13
- MatIconModule] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BxRestModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- declarations: [],
18
- imports: [
19
- MatIconModule,
20
- MatButtonModule
21
- ],
22
- exports: [
23
- MatButtonModule,
24
- MatIconModule
25
- ]
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYngtcmVzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0L2J4LXJlc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFjMUQsTUFBTSxPQUFPLFlBQVk7O3lHQUFaLFlBQVk7MEdBQVosWUFBWSxZQVJyQixhQUFhO1FBQ2IsZUFBZSxhQUdmLGVBQWU7UUFDZixhQUFhOzBHQUdKLFlBQVksWUFSckIsYUFBYTtRQUNiLGVBQWUsRUFHZixlQUFlO1FBQ2YsYUFBYTsyRkFHSixZQUFZO2tCQVp4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbidcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCeFJlc3RNb2R1bGUgeyB9XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { $add, $delete, $element, $file, $get, $lists, $update, $url } from '../../consts/part-name-metods';
2
- import { Injectable } from '@angular/core';
3
- import { Observable } from 'rxjs';
4
- import { map } from 'rxjs/operators';
5
- import { mapResult } from '../../functions/mapResult';
6
- import BXRestListsElementMap from '../../map/lists/element';
7
- import * as i0 from "@angular/core";
8
- class BXRestListsElementBase {
9
- constructor(http, mapResult) {
10
- this.http = http;
11
- this.mapResult = mapResult;
12
- this.url = {
13
- add: [$lists, $element, $add],
14
- delete: [$lists, $element, $delete],
15
- get: [$lists, $element, $get],
16
- update: [$lists, $element, $update],
17
- getFileUrl: [$lists, $element, $get, $file, $url] // Метод возвращает путь к файлу
18
- };
19
- }
20
- get(pram) {
21
- return this.http.post(this.url.get, pram)
22
- .pipe(map(v => (v && v.result)
23
- ? Object.assign(v, { result: v.result.map(i => this.mapResult.get(i)) })
24
- : undefined));
25
- }
26
- }
27
- export class BXRestListsElement extends new Proxy(BXRestListsElementBase, {
28
- get(target, prop, receiver) {
29
- const res = Reflect.get(target, prop, receiver);
30
- console.log('res', res);
31
- if (res in Observable) {
32
- let mapRes = new BXRestListsElementMap();
33
- console.log('res', res);
34
- return Reflect.get(target, prop, receiver).pipe(
35
- // @ts-ignore
36
- map(v => (v && v.result)
37
- // @ts-ignore
38
- ? Object.assign(v, { result: v.result.map(i => mapRes.get(i)) })
39
- : undefined),
40
- // @ts-ignore
41
- map(v => mapResult(v)));
42
- }
43
- return res;
44
- }
45
- }) {
46
- }
47
- BXRestListsElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
48
- BXRestListsElement.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, providedIn: 'root' });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsElement, decorators: [{
50
- type: Injectable,
51
- args: [{
52
- providedIn: 'root'
53
- }]
54
- }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvbGlzdHMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQzNHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBR3JELE9BQU8scUJBQXFCLE1BQU0seUJBQXlCLENBQUE7O0FBRzNELE1BQU0sc0JBQXNCO0lBUzFCLFlBQ1UsSUFBb0IsRUFDcEIsU0FBZ0M7UUFEaEMsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDcEIsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFWMUMsUUFBRyxHQUFHO1lBQ0osR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDN0IsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDbkMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDN0IsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDbkMsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFFLGdDQUFnQztTQUNwRixDQUFBO0lBTUQsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFpQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7YUFDaEYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxTQUFTLENBQ1osQ0FDRixDQUFBO0lBQ0wsQ0FBQztDQUtGO0FBS0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLElBQUksS0FBSyxDQUFDLHNCQUFzQixFQUFFO0lBQ3hFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDeEIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRTtZQUNyQixJQUFJLE1BQU0sR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUE7WUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDdkIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSTtZQUM3QyxhQUFhO1lBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFDdEIsYUFBYTtnQkFDYixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztnQkFDOUQsQ0FBQyxDQUFDLFNBQVMsQ0FDWjtZQUNELGFBQWE7WUFDYixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdkIsQ0FBQTtTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0NBQ0YsQ0FBQzs7K0dBcEJXLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRhZGQsICRkZWxldGUsICRlbGVtZW50LCAkZmlsZSwgJGdldCwgJGxpc3RzLCAkdXBkYXRlLCAkdXJsIH0gZnJvbSAnLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRvZHMnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IG1hcFJlc3VsdCB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXHJcbmltcG9ydCBpSHR0cEFuc3dlckJYIGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvaHR0cEFuc3dlckJYJ1xyXG5pbXBvcnQgSHR0cEJYU2VydmljZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCBCWFJlc3RMaXN0c0VsZW1lbnRNYXAgZnJvbSAnLi4vLi4vbWFwL2xpc3RzL2VsZW1lbnQnXHJcbmltcG9ydCB7IGlCWFJlc3RIdHRwTGlzdHNFbGVtZW50LCBpQlhSZXN0UGFyYW1MaXN0c0VsZW1lbnRHZXQgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9saXN0cy9lbGVtZW50L2dldCdcclxuXHJcbmNsYXNzIEJYUmVzdExpc3RzRWxlbWVudEJhc2Uge1xyXG4gIHVybCA9IHtcclxuICAgIGFkZDogWyRsaXN0cywgJGVsZW1lbnQsICRhZGRdLCAvLyDQnNC10YLQvtC0INGB0L7Qt9C00LDRkdGCINGN0LvQtdC80LXQvdGCINGB0L/QuNGB0LrQsFxyXG4gICAgZGVsZXRlOiBbJGxpc3RzLCAkZWxlbWVudCwgJGRlbGV0ZV0sIC8vINCc0LXRgtC+0LQg0YPQtNCw0LvRj9C10YIg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwXHJcbiAgICBnZXQ6IFskbGlzdHMsICRlbGVtZW50LCAkZ2V0XSwgLy8g0JzQtdGC0L7QtCDQstC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0Y3Qu9C10LzQtdC90YLQvtCyINC40LvQuCDRjdC70LXQvNC10L3RglxyXG4gICAgdXBkYXRlOiBbJGxpc3RzLCAkZWxlbWVudCwgJHVwZGF0ZV0sIC8vXHTQnNC10YLQvtC0INC+0LHQvdC+0LLQu9GP0LXRgiDRjdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LBcclxuICAgIGdldEZpbGVVcmw6IFskbGlzdHMsICRlbGVtZW50LCAkZ2V0LCAkZmlsZSwgJHVybF0gIC8vINCc0LXRgtC+0LQg0LLQvtC30LLRgNCw0YnQsNC10YIg0L/Rg9GC0Ywg0Log0YTQsNC50LvRg1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBCWFNlcnZpY2VzLFxyXG4gICAgcHJpdmF0ZSBtYXBSZXN1bHQ6IEJYUmVzdExpc3RzRWxlbWVudE1hcFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZ2V0KHByYW06IGlCWFJlc3RQYXJhbUxpc3RzRWxlbWVudEdldCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlIdHRwQW5zd2VyQlg8aUJYUmVzdEh0dHBMaXN0c0VsZW1lbnRbXT4+KHRoaXMudXJsLmdldCwgcHJhbSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4gKHYgJiYgdi5yZXN1bHQpXHJcbiAgICAgICAgICA/IE9iamVjdC5hc3NpZ24odiwge3Jlc3VsdDogdi5yZXN1bHQubWFwKGkgPT4gdGhpcy5tYXBSZXN1bHQuZ2V0KGkpKX0pXHJcbiAgICAgICAgICA6IHVuZGVmaW5lZFxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gIH1cclxuXHJcbiAgLy8gYWRkKHBhcmFtOiBpUmVzdEJYUGFyYW1MaXN0c0VsZW1lbnRBZGQpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPG51bWJlcj4+KHRoaXMudXJsLmFkZCwgcGFyYW0pXHJcbiAgLy8gfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3RMaXN0c0VsZW1lbnQgZXh0ZW5kcyBuZXcgUHJveHkoQlhSZXN0TGlzdHNFbGVtZW50QmFzZSwge1xyXG4gIGdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7XHJcbiAgICBjb25zdCByZXMgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKVxyXG4gICAgY29uc29sZS5sb2coJ3JlcycsIHJlcylcclxuICAgIGlmIChyZXMgaW4gT2JzZXJ2YWJsZSkge1xyXG4gICAgICBsZXQgbWFwUmVzID0gbmV3IEJYUmVzdExpc3RzRWxlbWVudE1hcCgpXHJcbiAgICAgIGNvbnNvbGUubG9nKCdyZXMnLCByZXMpXHJcbiAgICAgIHJldHVybiBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKS5waXBlKFxyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBtYXAodiA9PiAodiAmJiB2LnJlc3VsdClcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgID8gT2JqZWN0LmFzc2lnbih2LCB7cmVzdWx0OiB2LnJlc3VsdC5tYXAoaSA9PiBtYXBSZXMuZ2V0KGkpKX0pXHJcbiAgICAgICAgICA6IHVuZGVmaW5lZFxyXG4gICAgICAgICksXHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIG1hcCh2ID0+IG1hcFJlc3VsdCh2KSlcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc1xyXG4gIH1cclxufSkge1xyXG59XHJcbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { $add, $delete, $get, $iblock, $id, $lists, $type, $update } from '../consts/part-name-metods';
2
- import { Injectable } from '@angular/core';
3
- import { Observable } from 'rxjs';
4
- import { map } from 'rxjs/operators';
5
- import { mapResult } from '../functions/mapResult';
6
- import * as i0 from "@angular/core";
7
- export default class BXRestLists {
8
- constructor() {
9
- this.url = {
10
- add: [$lists, $add],
11
- delete: [$lists, $delete],
12
- get: [$lists, $get],
13
- update: [$lists, $update],
14
- getIblockTypeId: [$lists, $get, $iblock, $type, $id], // Метод возвращает id типа инфоблока
15
- };
16
- }
17
- }
18
- BXRestLists.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- BXRestLists.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, providedIn: 'root' });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestLists, decorators: [{
21
- type: Injectable,
22
- args: [{
23
- providedIn: 'root'
24
- }]
25
- }] });
26
- export class BXRestListsRes extends new Proxy(BXRestLists, {
27
- get(target, prop, receiver) {
28
- const res = Reflect.get(target, prop, receiver);
29
- if (res in Observable) {
30
- return Reflect.get(target, prop, receiver).pipe(
31
- // @ts-ignore
32
- map(v => mapResult(v)));
33
- }
34
- return res;
35
- }
36
- }) {
37
- }
38
- BXRestListsRes.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsRes, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
39
- BXRestListsRes.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsRes, providedIn: 'root' });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestListsRes, decorators: [{
41
- type: Injectable,
42
- args: [{
43
- providedIn: 'root'
44
- }]
45
- }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0L2xpc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxJQUFJLEVBQ0osT0FBTyxFQUNQLElBQUksRUFDSixPQUFPLEVBQ1AsR0FBRyxFQUNILE1BQU0sRUFDTixLQUFLLEVBQ0wsT0FBTyxFQUNSLE1BQU0sNEJBQTRCLENBQUE7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7O0FBTWxELE1BQU0sQ0FBQyxPQUFPLE9BQU8sV0FBVztJQUhoQztRQUlJLFFBQUcsR0FBRztZQUNGLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDbkIsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztZQUN6QixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7WUFDekIsZUFBZSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLHFDQUFxQztTQUM5RixDQUFBO0tBZ0RKOzt3R0F2RG9CLFdBQVc7NEdBQVgsV0FBVyxjQUZoQixNQUFNOzJGQUVELFdBQVc7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOztBQTZERCxNQUFNLE9BQU8sY0FBZSxTQUFRLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtJQUN6RCxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUMvQyxJQUFHLEdBQUcsSUFBSSxVQUFVLEVBQUM7WUFDbkIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSTtZQUM3QyxhQUFhO1lBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZCLENBQUE7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztDQUNGLENBQUM7OzJHQVhXLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICRhZGQsXHJcbiAgJGRlbGV0ZSxcclxuICAkZ2V0LFxyXG4gICRpYmxvY2ssXHJcbiAgJGlkLFxyXG4gICRsaXN0cyxcclxuICAkdHlwZSxcclxuICAkdXBkYXRlXHJcbn0gZnJvbSAnLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRvZHMnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IG1hcFJlc3VsdCB9IGZyb20gJy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJYUmVzdExpc3RzIHtcclxuICAgIHVybCA9IHtcclxuICAgICAgICBhZGQ6IFskbGlzdHMsICRhZGRdLCAvLyDQnNC10YLQvtC0INGB0L7Qt9C00LDRkdGCINGB0L/QuNGB0L7QulxyXG4gICAgICAgIGRlbGV0ZTogWyRsaXN0cywgJGRlbGV0ZV0sIC8vINCc0LXRgtC+0LQg0YPQtNCw0LvRj9C10YIg0YHQv9C40YHQvtC6XHJcbiAgICAgICAgZ2V0OiBbJGxpc3RzLCAkZ2V0XSwgLy8g0JzQtdGC0L7QtCDQstC+0LfQstGA0LDRidCw0LXRgiDQtNCw0L3QvdGL0LUg0L/QviDRgdC/0LjRgdC60LDQvFxyXG4gICAgICAgIHVwZGF0ZTogWyRsaXN0cywgJHVwZGF0ZV0sIC8vINCc0LXRgtC+0LQg0L7QsdC90L7QstC70Y/QtdGCINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDRgdC/0LjRgdC+0LpcclxuICAgICAgICBnZXRJYmxvY2tUeXBlSWQ6IFskbGlzdHMsICRnZXQsICRpYmxvY2ssICR0eXBlLCAkaWRdLCAvLyDQnNC10YLQvtC0INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCIGlkINGC0LjQv9CwINC40L3RhNC+0LHQu9C+0LrQsFxyXG4gICAgfVxyXG5cclxuICAgIC8vIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXHJcbiAgICAvLyAgICAgcHJpdmF0ZSBsaXN0c01hcDogTGlzdHNNYXBTZXJ2aWNlc1xyXG4gICAgLy8gKSB7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gZ2V0KHByYW06IGlCWFJlc3RQYXJhbUxpc3RHZXQpOiBPYnNlcnZhYmxlPEl0ZW1MaXN0c1tdIHwgdW5kZWZpbmVkPiB7XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlIdHRwQW5zd2VyQlg8SXRlbUxpc3RzQlhbXT4+KHRoaXMudXJsLmdldCwgcHJhbSlcclxuICAgIC8vICAgICAgICAgLnBpcGUoXHJcbiAgICAvLyAgICAgICAgICAgICBtYXAodiA9PiAodiAmJiB2Lmxlbmd0aCkgPyB2Lm1hcChpID0+IHRoaXMubGlzdHNNYXAubWFwSXRlbUxpc3RzKGkpKSA6IFtdKVxyXG4gICAgLy8gICAgICAgICApXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gZ2V0QWxsKHByYW06IGdldExpc3RQYXJhbSk6IE9ic2VydmFibGU8SXRlbUxpc3RzQlhbXSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLmdldEJhc2UocHJhbSlcclxuICAgIC8vICAgICAgICAgLnBpcGUoXHJcbiAgICAvLyAgICAgICAgICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLnJlc3VsdCkge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbXMubmV4dCkge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgcHJhbS5zdGFydCA9IGl0ZW1zLm5leHRcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbChwcmFtKS5waXBlKFxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWy4uLml0ZW1zLnJlc3VsdCwgLi4udkVuZF1cclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGl0ZW1zLnJlc3VsdCkgPyBpdGVtcy5yZXN1bHQgOiBbXVxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihpdGVtcy5yZXN1bHQpXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAgICAgfSlcclxuICAgIC8vICAgICAgICAgKVxyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIGdldEFsbFdpdGhNYXAocHJhbTogZ2V0TGlzdFBhcmFtKTogT2JzZXJ2YWJsZTxJdGVtTGlzdHNbXSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLmdldEFsbChwcmFtKVxyXG4gICAgLy8gICAgICAgICAucGlwZShcclxuICAgIC8vICAgICAgICAgICAgIG1hcCh2ID0+ICh2ICYmIHYubGVuZ3RoKSA/IHYubWFwKGkgPT4gdGhpcy5saXN0c01hcC5tYXBJdGVtTGlzdHMoaSkpIDogW10pXHJcbiAgICAvLyAgICAgICAgIClcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBnZXRGaWVsZChwcmFtOiBnZXRMaXN0RmllbGRQYXJhbSk6IE9ic2VydmFibGU8aUh0dHBBbnN3ZXJCWDxGaWVsZEl0ZW1MaXN0c1tdPiB8IHVuZGVmaW5lZD4ge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPHsgW2tleTogc3RyaW5nXTogRmllbGRJdGVtTGlzdHMgfT4+KHRoaXMudXJsLmZpZWxkLmdldCwgcHJhbSlcclxuICAgIC8vIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TGlzdHNSZXMgZXh0ZW5kcyBuZXcgUHJveHkoQlhSZXN0TGlzdHMsIHtcclxuICBnZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xyXG4gICAgY29uc3QgcmVzID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcilcclxuICAgIGlmKHJlcyBpbiBPYnNlcnZhYmxlKXtcclxuICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpLnBpcGUoXHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIG1hcCh2ID0+IG1hcFJlc3VsdCh2KSlcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc1xyXG4gIH1cclxufSl7fVxyXG4iXX0=