bx-rest 0.3.2 → 0.3.4
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/consts/part-name-methods.d.ts +6 -0
- package/esm2022/consts/part-name-methods.mjs +7 -1
- package/esm2022/map/sonet_group.mjs +1 -1
- package/esm2022/request/im/chat.mjs +33 -0
- package/esm2022/request/im.mjs +17 -0
- package/esm2022/request/tasks/task.mjs +3 -28
- package/esm2022/request-navvy/im/chat.mjs +22 -0
- package/esm2022/request-navvy/im.mjs +17 -0
- package/esm2022/request-navvy/task/commentitem.mjs +4 -8
- package/esm2022/request-navvy/tasks/task.mjs +5 -44
- package/esm2022/request-navvy/user.mjs +7 -1
- package/esm2022/rest.mjs +25 -21
- package/esm2022/services/Navvy/NavvySimple.mjs +2 -2
- package/esm2022/services/Navvy/NavvySupport.mjs +2 -4
- package/esm2022/services/Navvy/extends/NavvyPagNavBase.mjs +2 -2
- package/esm2022/services/http/base/base.mjs +4 -6
- package/esm2022/services/http/http.mjs +5 -8
- package/esm2022/services/navvy.mjs +2 -4
- package/esm2022/services/vanilla/localStorage.mjs +5 -5
- package/esm2022/services/vanilla//321/201ookies.mjs +3 -4
- package/esm2022/typification/rest/api-lib.mjs +1 -1
- package/esm2022/typification/rest/im/chat/add.mjs +2 -0
- package/esm2022/typification/rest/tasks/task/getFields.mjs +2 -0
- package/fesm2022/bx-rest.mjs +134 -421
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/package.json +1 -1
- package/request/im/chat.d.ts +19 -0
- package/request/im.d.ts +8 -0
- package/request/tasks/task.d.ts +2 -0
- package/request-navvy/im/chat.d.ts +11 -0
- package/request-navvy/im.d.ts +8 -0
- package/request-navvy/task/commentitem.d.ts +1 -3
- package/request-navvy/tasks/task.d.ts +3 -2
- package/rest.d.ts +6 -2
- package/services/Navvy/NavvySupport.d.ts +1 -1
- package/services/http/base/base.d.ts +1 -3
- package/services/http/http.d.ts +1 -2
- package/typification/rest/im/chat/add.d.ts +12 -0
- package/typification/rest/tasks/task/getFields.d.ts +17 -0
- package/consts/part-name-metods.d.ts +0 -89
- package/esm2022/consts/part-name-metods.mjs +0 -90
- package/esm2022/functions/serializeJavascript.mjs +0 -200
- package/esm2022/request/bx-rest.module.mjs +0 -28
- package/esm2022/services/snack-bar/snack-bar.service.mjs +0 -42
- package/esm2022/services/snack-bar/toast-message/toast-message.component.mjs +0 -31
- package/esm2022/services/vanilla/JSON.mjs +0 -20
- package/functions/serializeJavascript.d.ts +0 -2
- package/request/bx-rest.module.d.ts +0 -8
- package/services/snack-bar/snack-bar.service.d.ts +0 -12
- package/services/snack-bar/toast-message/toast-message.component.d.ts +0 -16
- package/services/vanilla/JSON.d.ts +0 -7
|
@@ -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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QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZSBhbiBpbnRlcm5hbCBVSUQgdG8gbWFrZSB0aGUgcmVnZXhwIHBhdHRlcm4gaGFyZGVyIHRvIGd1ZXNzLlxyXG5jb25zdCBVSURfTEVOR1RIID0gMTY7XHJcbmNvbnN0IFVJRCA9IGdlbmVyYXRlVUlEKCk7XHJcbmNvbnN0IFBMQUNFX0hPTERFUl9SRUdFWFAgPSBuZXcgUmVnRXhwKCcoXFxcXFxcXFwpP1wiQF9fKEZ8UnxEfE18U3xBfFV8SXxCfEwpLScgKyBVSUQgKyAnLShcXFxcZCspX19AXCInLCAnZycpO1xyXG5cclxuY29uc3QgSVNfTkFUSVZFX0NPREVfUkVHRVhQID0gL1xce1xccypcXFtuYXRpdmUgY29kZV1cXHMqfS9nO1xyXG5jb25zdCBJU19QVVJFX0ZVTkNUSU9OID0gL2Z1bmN0aW9uLio/XFwoLztcclxuY29uc3QgSVNfQVJST1dfRlVOQ1RJT04gPSAvLio/PT4uKj8vO1xyXG5jb25zdCBVTlNBRkVfQ0hBUlNfUkVHRVhQID0gL1s8PlxcL1xcdTIwMjhcXHUyMDI5XS9nO1xyXG5cclxuY29uc3QgUkVTRVJWRURfU1lNQk9MUyA9IFsnKicsICdhc3luYyddO1xyXG5cclxuLy8gTWFwcGluZyBvZiB1bnNhZmUgSFRNTCBhbmQgaW52YWxpZCBKYXZhU2NyaXB0IGxpbmUgdGVybWluYXRvciBjaGFycyB0byB0aGVpclxyXG4vLyBVbmljb2RlIGNoYXIgY291bnRlcnBhcnRzIHdoaWNoIGFyZSBzYWZlIHRvIHVzZSBpbiBKYXZhU2NyaXB0IHN0cmluZ3MuXHJcbmNvbnN0IEVTQ0FQRURfQ0hBUlM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ICA9IHtcclxuICAnPCc6ICdcXFxcdTAwM0MnLFxyXG4gICc+JzogJ1xcXFx1MDAzRScsXHJcbiAgJy8nOiAnXFxcXHUwMDJGJyxcclxuICAnXFx1MjAyOCc6ICdcXFxcdTIwMjgnLFxyXG4gICdcXHUyMDI5JzogJ1xcXFx1MjAyOSdcclxufTtcclxuXHJcbmZ1bmN0aW9uIGVzY2FwZVVuc2FmZUNoYXJzKHVuc2FmZUNoYXI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIChFU0NBUEVEX0NIQVJTLmhhc093blByb3BlcnR5KHVuc2FmZUNoYXIpKSA/IEVTQ0FQRURfQ0hBUlNbdW5zYWZlQ2hhcl0gOiAnJztcclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVVSUQoKSB7XHJcbiAgbGV0IGJ5dGVzID0gd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KFVJRF9MRU5HVEgpKVxyXG4gIGxldCByZXN1bHQgPSAnJztcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IFVJRF9MRU5HVEg7ICsraSkge1xyXG4gICAgcmVzdWx0ICs9IGJ5dGVzW2ldLnRvU3RyaW5nKDE2KTtcclxuICB9XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZnVuY3Rpb24gZGVsZXRlRnVuY3Rpb25zKG9iajogYW55KSB7XHJcbiAgbGV0IGZ1bmN0aW9uS2V5cyA9IFtdO1xyXG4gIGZvciAobGV0IGtleSBpbiBvYmopIHtcclxuICAgIGlmICh0eXBlb2Ygb2JqW2tleV0gPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICBmdW5jdGlvbktleXMucHVzaChrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGZ1bmN0aW9uS2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgZGVsZXRlIG9ialtmdW5jdGlvbktleXNbaV1dO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gc2VyaWFsaXplKG9iajogYW55LCBvcHRpb25zOiBhbnkgPSB7fSk6IGFueSB7XHJcbiAgLy8gQmFja3dhcmRzLWNvbXBhdGliaWxpdHkgZm9yIGBzcGFjZWAgYXMgdGhlIHNlY29uZCBhcmd1bWVudC5cclxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xyXG4gICAgb3B0aW9ucyA9IHtzcGFjZTogb3B0aW9uc307XHJcbiAgfVxyXG5cclxuICBsZXQgZnVuY3Rpb25zOiBGdW5jdGlvbltdID0gW107XHJcbiAgbGV0IHJlZ2V4cHM6IGFueVtdID0gW107XHJcbiAgbGV0IGRhdGVzOiBhbnlbXSA9IFtdO1xyXG4gIGxldCBtYXBzOiBhbnlbXSA9IFtdO1xyXG4gIGxldCBzZXRzOiBhbnlbXSA9IFtdO1xyXG4gIGxldCBhcnJheXM6IGFueVtdID0gW107XHJcbiAgbGV0IHVuZGVmczogYW55W10gPSBbXTtcclxuICBsZXQgaW5maW5pdGllczogYW55W10gPSBbXTtcclxuICBsZXQgYmlnSW50czogYW55W10gPSBbXTtcclxuICBsZXQgdXJsczogYW55W10gPSBbXTtcclxuXHJcbiAgLy8gUmV0dXJucyBwbGFjZWhvbGRlcnMgZm9yIGZ1bmN0aW9ucyBhbmQgcmVnZXhwcyAoaWRlbnRpZmllZCBieSBpbmRleClcclxuICAvLyB3aGljaCBhcmUgbGF0ZXIgcmVwbGFjZWQgYnkgdGhlaXIgc3RyaW5nIHJlcHJlc2VudGF0aW9uLlxyXG4gIGZ1bmN0aW9uIHJlcGxhY2VyKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcblxyXG4gICAgLy8gRm9yIG5lc3RlZCBmdW5jdGlvblxyXG4gICAgaWYgKG9wdGlvbnMuaWdub3JlRnVuY3Rpb24pIHtcclxuICAgICAgZGVsZXRlRnVuY3Rpb25zKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXZhbHVlICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGxldCBvcmlnVmFsdWU6IGFueSA9IHRoaXNba2V5XTtcclxuICAgIGxldCBvcmlnVmFsdWU6IGFueSA9IHZhbHVlO1xyXG4gICAgbGV0IHR5cGUgPSB0eXBlb2Ygb3JpZ1ZhbHVlO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSl7XHJcbiAgICAgIGNhc2UgJ29iamVjdCc6XHJcblxyXG4gICAgICAgIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fUi0nICsgVUlEICsgJy0nICsgKHJlZ2V4cHMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICB9IGVsc2UgaWYgKG9yaWdWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fRC0nICsgVUlEICsgJy0nICsgKGRhdGVzLnB1c2gob3JpZ1ZhbHVlKSAtIDEpICsgJ19fQCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBNYXApIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fTS0nICsgVUlEICsgJy0nICsgKG1hcHMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICB9IGVsc2UgaWYgKG9yaWdWYWx1ZSBpbnN0YW5jZW9mIFNldCkge1xyXG4gICAgICAgICAgcmV0dXJuICdAX19TLScgKyBVSUQgKyAnLScgKyAoc2V0cy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG9yaWdWYWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICBsZXQgaXNTcGFyc2UgPSBvcmlnVmFsdWUuZmlsdGVyKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgICAgIH0pLmxlbmd0aCAhPT0gb3JpZ1ZhbHVlLmxlbmd0aDtcclxuICAgICAgICAgIGlmIChpc1NwYXJzZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ0BfX0EtJyArIFVJRCArICctJyArIChhcnJheXMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBVUkwpIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fTC0nICsgVUlEICsgJy0nICsgKHVybHMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcclxuICAgICAgICByZXR1cm4gJ0BfX0YtJyArIFVJRCArICctJyArIChmdW5jdGlvbnMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcclxuICAgICAgICByZXR1cm4gJ0BfX1UtJyArIFVJRCArICctJyArICh1bmRlZnMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICByZXR1cm4gJ0BfX0ktJyArIFVJRCArICctJyArIChpbmZpbml0aWVzLnB1c2gob3JpZ1ZhbHVlKSAtIDEpICsgJ19fQCc7XHJcbiAgICAgIGNhc2UgJ2JpZ2ludCc6XHJcbiAgICAgICAgcmV0dXJuICdAX19CLScgKyBVSUQgKyAnLScgKyAoYmlnSW50cy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIHNlcmlhbGl6ZUZ1bmMoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICBsZXQgc2VyaWFsaXplZEZuID0gZm4udG9TdHJpbmcoKTtcclxuICAgIGlmIChJU19OQVRJVkVfQ09ERV9SRUdFWFAudGVzdChzZXJpYWxpemVkRm4pKSB7XHJcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1NlcmlhbGl6aW5nIG5hdGl2ZSBmdW5jdGlvbjogJyArIGZuLm5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHB1cmUgZnVuY3Rpb25zLCBleGFtcGxlOiB7a2V5OiBmdW5jdGlvbigpIHt9fVxyXG4gICAgaWYgKElTX1BVUkVfRlVOQ1RJT04udGVzdChzZXJpYWxpemVkRm4pKSB7XHJcbiAgICAgIHJldHVybiBzZXJpYWxpemVkRm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYXJyb3cgZnVuY3Rpb25zLCBleGFtcGxlOiBhcmcxID0+IGFyZzErNVxyXG4gICAgaWYgKElTX0FSUk9XX0ZVTkNUSU9OLnRlc3Qoc2VyaWFsaXplZEZuKSkge1xyXG4gICAgICByZXR1cm4gc2VyaWFsaXplZEZuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBhcmdzU3RhcnRzQXQgPSBzZXJpYWxpemVkRm4uaW5kZXhPZignKCcpO1xyXG4gICAgbGV0IGRlZiA9IHNlcmlhbGl6ZWRGbi5zbGljZSgwLCBhcmdzU3RhcnRzQXQpXHJcbiAgICAudHJpbSgpXHJcbiAgICAuc3BsaXQoJyAnKVxyXG4gICAgLmZpbHRlcihmdW5jdGlvbiAodmFsKSB7XHJcbiAgICAgIHJldHVybiB2YWwubGVuZ3RoID4gMFxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IG5vblJlc2VydmVkU3ltYm9scyA9IGRlZi5maWx0ZXIoZnVuY3Rpb24gKHZhbCkge1xyXG4gICAgICByZXR1cm4gUkVTRVJWRURfU1lNQk9MUy5pbmRleE9mKHZhbCkgPT09IC0xXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBlbmhhbmNlZCBsaXRlcmFsIG9iamVjdHMsIGV4YW1wbGU6IHtrZXkoKSB7fX1cclxuICAgIGlmIChub25SZXNlcnZlZFN5bWJvbHMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gKGRlZi5pbmRleE9mKCdhc3luYycpID4gLTEgPyAnYXN5bmMgJyA6ICcnKSArICdmdW5jdGlvbidcclxuICAgICAgICArIChkZWYuam9pbignJykuaW5kZXhPZignKicpID4gLTEgPyAnKicgOiAnJylcclxuICAgICAgICArIHNlcmlhbGl6ZWRGbi5zbGljZShhcmdzU3RhcnRzQXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGFycm93IGZ1bmN0aW9uc1xyXG4gICAgcmV0dXJuIHNlcmlhbGl6ZWRGbjtcclxuICB9XHJcblxyXG4gIC8vIENoZWNrIGlmIHRoZSBwYXJhbWV0ZXIgaXMgZnVuY3Rpb25cclxuICBpZiAob3B0aW9ucy5pZ25vcmVGdW5jdGlvbiAmJiB0eXBlb2Ygb2JqID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgIG9iaiA9IHVuZGVmaW5lZDtcclxuICB9XHJcbiAgLy8gUHJvdGVjdHMgYWdhaW5zdCBgSlNPTi5zdHJpbmdpZnkoKWAgcmV0dXJuaW5nIGB1bmRlZmluZWRgLCBieSBzZXJpYWxpemluZ1xyXG4gIC8vIHRvIHRoZSBsaXRlcmFsIHN0cmluZzogXCJ1bmRlZmluZWRcIi5cclxuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcclxuICAgIHJldHVybiBTdHJpbmcob2JqKTtcclxuICB9XHJcblxyXG4gIGxldCBzdHI6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvLyBDcmVhdGVzIGEgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLlxyXG4gIC8vIE5PVEU6IE5vZGUgMC4xMiBnb2VzIGludG8gc2xvdyBtb2RlIHdpdGggZXh0cmEgSlNPTi5zdHJpbmdpZnkoKSBhcmdzLlxyXG4gIGlmIChvcHRpb25zLmlzSlNPTiAmJiAhb3B0aW9ucy5zcGFjZSkge1xyXG4gICAgc3RyID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICB9IGVsc2Uge1xyXG4gICAgc3RyID0gSlNPTi5zdHJpbmdpZnkob2JqLCBvcHRpb25zLmlzSlNPTiA/IHVuZGVmaW5lZCA6IHJlcGxhY2VyLCBvcHRpb25zLnNwYWNlKTtcclxuICB9XHJcblxyXG4gIC8vIFJlcGxhY2UgdW5zYWZlIEhUTUwgYW5kIGludmFsaWQgSmF2YVNjcmlwdCBsaW5lIHRlcm1pbmF0b3IgY2hhcnMgd2l0aFxyXG4gIC8vIHRoZWlyIHNhZmUgVW5pY29kZSBjaGFyIGNvdW50ZXJwYXJ0LiBUaGlzIF9tdXN0XyBoYXBwZW4gYmVmb3JlIHRoZVxyXG4gIC8vIHJlZ2V4cHMgYW5kIGZ1bmN0aW9ucyBhcmUgc2VyaWFsaXplZCBhbmQgYWRkZWQgYmFjayB0byB0aGUgc3RyaW5nLlxyXG4gIGlmIChvcHRpb25zLnVuc2FmZSAhPT0gdHJ1ZSkge1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoVU5TQUZFX0NIQVJTX1JFR0VYUCwgZXNjYXBlVW5zYWZlQ2hhcnMpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZ1bmN0aW9ucy5sZW5ndGggPT09IDAgJiYgcmVnZXhwcy5sZW5ndGggPT09IDAgJiYgZGF0ZXMubGVuZ3RoID09PSAwICYmIG1hcHMubGVuZ3RoID09PSAwICYmIHNldHMubGVuZ3RoID09PSAwICYmIGFycmF5cy5sZW5ndGggPT09IDAgJiYgdW5kZWZzLmxlbmd0aCA9PT0gMCAmJiBpbmZpbml0aWVzLmxlbmd0aCA9PT0gMCAmJiBiaWdJbnRzLmxlbmd0aCA9PT0gMCAmJiB1cmxzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuIHN0cjtcclxuICB9XHJcblxyXG4gIC8vIFJlcGxhY2VzIGFsbCBvY2N1cnJlbmNlcyBvZiBmdW5jdGlvbiwgcmVnZXhwLCBkYXRlLCBtYXAgYW5kIHNldCBwbGFjZWhvbGRlcnMgaW4gdGhlXHJcbiAgLy8gSlNPTiBzdHJpbmcgd2l0aCB0aGVpciBzdHJpbmcgcmVwcmVzZW50YXRpb25zLiBJZiB0aGUgb3JpZ2luYWwgdmFsdWUgY2FuXHJcbiAgLy8gbm90IGJlIGZvdW5kLCB0aGVuIGB1bmRlZmluZWRgIGlzIHVzZWQuXHJcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKFBMQUNFX0hPTERFUl9SRUdFWFAsIGZ1bmN0aW9uIChtYXRjaCwgYmFja1NsYXNoLCB0eXBlLCB2YWx1ZUluZGV4KSB7XHJcbiAgICAvLyBUaGUgcGxhY2Vob2xkZXIgbWF5IG5vdCBiZSBwcmVjZWRlZCBieSBhIGJhY2tzbGFzaC4gVGhpcyBpcyB0byBwcmV2ZW50XHJcbiAgICAvLyByZXBsYWNpbmcgdGhpbmdzIGxpa2UgYFwiYVxcXCJAX19SLTxVSUQ+LTBfX0BcImAgYW5kIHRodXMgb3V0cHV0dGluZ1xyXG4gICAgLy8gaW52YWxpZCBKUy5cclxuICAgIGlmIChiYWNrU2xhc2gpIHtcclxuICAgICAgcmV0dXJuIG1hdGNoO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAodHlwZSl7XHJcbiAgICAgIGNhc2UgJ0QnOlxyXG4gICAgICAgIHJldHVybiBcIm5ldyBEYXRlKFxcXCJcIiArIGRhdGVzW3ZhbHVlSW5kZXhdLnRvSVNPU3RyaW5nKCkgKyBcIlxcXCIpXCJcclxuICAgICAgY2FzZSAnUic6XHJcbiAgICAgICAgcmV0dXJuIFwibmV3IFJlZ0V4cChcIiArIHNlcmlhbGl6ZShyZWdleHBzW3ZhbHVlSW5kZXhdLnNvdXJjZSkgKyBcIiwgXFxcIlwiICsgcmVnZXhwc1t2YWx1ZUluZGV4XS5mbGFncyArIFwiXFxcIilcIlxyXG4gICAgICBjYXNlICdNJzpcclxuICAgICAgICByZXR1cm4gXCJuZXcgTWFwKFwiICsgc2VyaWFsaXplKEFycmF5LmZyb20obWFwc1t2YWx1ZUluZGV4XS5lbnRyaWVzKCkpLCBvcHRpb25zKSArIFwiKVwiXHJcbiAgICAgIGNhc2UgJ1MnOlxyXG4gICAgICAgIHJldHVybiBcIm5ldyBTZXQoXCIgKyBzZXJpYWxpemUoQXJyYXkuZnJvbShzZXRzW3ZhbHVlSW5kZXhdLnZhbHVlcygpKSwgb3B0aW9ucykgKyBcIilcIlxyXG4gICAgICBjYXNlICdBJzpcclxuICAgICAgICByZXR1cm4gXCJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcIiArIHNlcmlhbGl6ZShPYmplY3QuYXNzaWduKHtsZW5ndGg6IGFycmF5c1t2YWx1ZUluZGV4XS5sZW5ndGh9LCBhcnJheXNbdmFsdWVJbmRleF0pLCBvcHRpb25zKSArIFwiKVwiXHJcbiAgICAgIGNhc2UgJ1UnOlxyXG4gICAgICAgIHJldHVybiAndW5kZWZpbmVkJ1xyXG4gICAgICBjYXNlICdJJzpcclxuICAgICAgICByZXR1cm4gaW5maW5pdGllc1t2YWx1ZUluZGV4XVxyXG4gICAgICBjYXNlICdCJzpcclxuICAgICAgICByZXR1cm4gXCJCaWdJbnQoXFxcIlwiICsgYmlnSW50c1t2YWx1ZUluZGV4XSArIFwiXFxcIilcIlxyXG4gICAgICBjYXNlICdMJzpcclxuICAgICAgICByZXR1cm4gXCJuZXcgVVJMKFxcXCJcIiArIHVybHNbdmFsdWVJbmRleF0udG9TdHJpbmcoKSArIFwiXFxcIilcIlxyXG4gICAgfVxyXG5cclxuICAgIGxldCBmbiA9IGZ1bmN0aW9uc1t2YWx1ZUluZGV4XTtcclxuXHJcbiAgICByZXR1cm4gc2VyaWFsaXplRnVuYyhmbik7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHNlcmlhbGl6ZVxyXG4iXX0=
|
|
@@ -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
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BxRestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.11", ngImport: i0, type: BxRestModule, imports: [MatIconModule,
|
|
8
|
-
MatButtonModule], exports: [MatButtonModule,
|
|
9
|
-
MatIconModule] }); }
|
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BxRestModule, imports: [MatIconModule,
|
|
11
|
-
MatButtonModule, MatButtonModule,
|
|
12
|
-
MatIconModule] }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYngtcmVzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0L2J4LXJlc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFjMUQsTUFBTSxPQUFPLFlBQVk7K0dBQVosWUFBWTtnSEFBWixZQUFZLFlBUnJCLGFBQWE7WUFDYixlQUFlLGFBR2YsZUFBZTtZQUNmLGFBQWE7Z0hBR0osWUFBWSxZQVJyQixhQUFhO1lBQ2IsZUFBZSxFQUdmLGVBQWU7WUFDZixhQUFhOzs0RkFHSixZQUFZO2tCQVp4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ4UmVzdE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Сервис для вывода сообщений пользователю
|
|
3
|
-
* TODO: логирование
|
|
4
|
-
*/
|
|
5
|
-
import { Injectable } from '@angular/core';
|
|
6
|
-
import { ToastMessageComponent } from '../../services/snack-bar/toast-message/toast-message.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/snack-bar";
|
|
9
|
-
export default class SnackBarService {
|
|
10
|
-
constructor(snackBar) {
|
|
11
|
-
this.snackBar = snackBar;
|
|
12
|
-
}
|
|
13
|
-
error(message, sec = 12) {
|
|
14
|
-
this.standardMessage(message, sec, 'error');
|
|
15
|
-
}
|
|
16
|
-
warning(message, sec = 7) {
|
|
17
|
-
this.standardMessage(message, sec, 'warning');
|
|
18
|
-
}
|
|
19
|
-
success(message, sec = 7) {
|
|
20
|
-
this.standardMessage(message, sec, 'success');
|
|
21
|
-
}
|
|
22
|
-
standardMessage(message, sec = 5, name = 'error') {
|
|
23
|
-
this.snackBar.open(message);
|
|
24
|
-
this.snackBar.openFromComponent(ToastMessageComponent, {
|
|
25
|
-
duration: sec * 1000,
|
|
26
|
-
data: {
|
|
27
|
-
message: message,
|
|
28
|
-
type: name
|
|
29
|
-
},
|
|
30
|
-
panelClass: name + '-box'
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SnackBarService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SnackBarService, providedIn: 'root' }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SnackBarService, decorators: [{
|
|
37
|
-
type: Injectable,
|
|
38
|
-
args: [{
|
|
39
|
-
providedIn: 'root'
|
|
40
|
-
}]
|
|
41
|
-
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQTs7O0FBTXRHLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZTtJQUVsQyxZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLEdBQUcsR0FBRyxFQUFFO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLE9BQU87UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRTtZQUNyRCxRQUFRLEVBQUUsR0FBRyxHQUFHLElBQUk7WUFDcEIsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixJQUFJLEVBQUUsSUFBSTthQUNYO1lBQ0QsVUFBVSxFQUFFLElBQUksR0FBRyxNQUFNO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBM0JrQixlQUFlO21IQUFmLGVBQWUsY0FGdEIsTUFBTTs7NEZBRUMsZUFBZTtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICog0KHQtdGA0LLQuNGBINC00LvRjyDQstGL0LLQvtC00LAg0YHQvtC+0LHRidC10L3QuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjlxyXG4gKiBUT0RPOiDQu9C+0LPQuNGA0L7QstCw0L3QuNC1XHJcbiAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgVG9hc3RNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc25hY2stYmFyL3RvYXN0LW1lc3NhZ2UvdG9hc3QtbWVzc2FnZS5jb21wb25lbnQnXHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbmFja0JhclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xyXG4gIH1cclxuXHJcbiAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCBzZWMgPSAxMik6IHZvaWQge1xyXG4gICAgdGhpcy5zdGFuZGFyZE1lc3NhZ2UobWVzc2FnZSwgc2VjLCAnZXJyb3InKVxyXG4gIH1cclxuXHJcbiAgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIHNlYyA9IDcpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhbmRhcmRNZXNzYWdlKG1lc3NhZ2UsIHNlYywgJ3dhcm5pbmcnKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBzZWMgPSA3KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YW5kYXJkTWVzc2FnZShtZXNzYWdlLCBzZWMsICdzdWNjZXNzJyk7XHJcbiAgfVxyXG5cclxuICBzdGFuZGFyZE1lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCBzZWMgPSA1LCBuYW1lID0gJ2Vycm9yJyk6IHZvaWR7XHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSk7XHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFRvYXN0TWVzc2FnZUNvbXBvbmVudCwge1xyXG4gICAgICBkdXJhdGlvbjogc2VjICogMTAwMCxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgICAgdHlwZTogbmFtZVxyXG4gICAgICB9LFxyXG4gICAgICBwYW5lbENsYXNzOiBuYW1lICsgJy1ib3gnXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Component, inject, Inject, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';
|
|
3
|
-
import { BxRestModule } from '../../../request/bx-rest.module';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/button";
|
|
6
|
-
import * as i2 from "@angular/material/icon";
|
|
7
|
-
export class ToastMessageComponent {
|
|
8
|
-
constructor(data) {
|
|
9
|
-
this.data = data;
|
|
10
|
-
this.snackBarRef = inject(MatSnackBarRef);
|
|
11
|
-
}
|
|
12
|
-
getClass() {
|
|
13
|
-
switch (this.data.type) {
|
|
14
|
-
case 'error':
|
|
15
|
-
case 'warning':
|
|
16
|
-
case 'success':
|
|
17
|
-
return this.data.type + '-message';
|
|
18
|
-
}
|
|
19
|
-
return '';
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ToastMessageComponent, deps: [{ token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ToastMessageComponent, isStandalone: true, selector: "app-view", ngImport: i0, template: "<div class=\"w-100 d-flex\">\r\n <span matSnackBarLabel [class]=\"getClass()\">\r\n {{ data.message }}\r\n</span>\r\n <span matSnackBarActions [class]=\"getClass()\">\r\n <button mat-button matSnackBarAction (click)=\"snackBarRef.dismissWithAction()\">\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n</span>\r\n</div>\r\n\r\n", styles: [":host{display:flex;background-color:red}:host .mdc-snackbar__surface{padding:0;margin:0}:host .error-message{color:red}:host.error-box{background-color:#eec1c1}:host.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.error-box .mdc-snackbar__surface{background-color:#eec1c1}mat-snack-bar-container.mdc-snackbar.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.warning-box .mdc-snackbar__surface{background-color:#f0f2b9}mat-snack-bar-container.mdc-snackbar.warning-box .warning-message{color:#15140f}mat-snack-bar-container.mdc-snackbar.success-box .mdc-snackbar__surface{background-color:#daf7d1}mat-snack-bar-container.mdc-snackbar.success-box .success-message{color:#423f31}\n"], dependencies: [{ kind: "ngmodule", type: BxRestModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ToastMessageComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{ selector: 'app-view', encapsulation: ViewEncapsulation.None, standalone: true, imports: [BxRestModule], template: "<div class=\"w-100 d-flex\">\r\n <span matSnackBarLabel [class]=\"getClass()\">\r\n {{ data.message }}\r\n</span>\r\n <span matSnackBarActions [class]=\"getClass()\">\r\n <button mat-button matSnackBarAction (click)=\"snackBarRef.dismissWithAction()\">\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n</span>\r\n</div>\r\n\r\n", styles: [":host{display:flex;background-color:red}:host .mdc-snackbar__surface{padding:0;margin:0}:host .error-message{color:red}:host.error-box{background-color:#eec1c1}:host.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.error-box .mdc-snackbar__surface{background-color:#eec1c1}mat-snack-bar-container.mdc-snackbar.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.warning-box .mdc-snackbar__surface{background-color:#f0f2b9}mat-snack-bar-container.mdc-snackbar.warning-box .warning-message{color:#15140f}mat-snack-bar-container.mdc-snackbar.success-box .mdc-snackbar__surface{background-color:#daf7d1}mat-snack-bar-container.mdc-snackbar.success-box .success-message{color:#423f31}\n"] }]
|
|
27
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
28
|
-
type: Inject,
|
|
29
|
-
args: [MAT_SNACK_BAR_DATA]
|
|
30
|
-
}] }]; } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9zbmFjay1iYXIvdG9hc3QtbWVzc2FnZS90b2FzdC1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL3NuYWNrLWJhci90b2FzdC1tZXNzYWdlL3RvYXN0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUE7Ozs7QUFVOUQsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUErQyxJQUFnRTtRQUFoRSxTQUFJLEdBQUosSUFBSSxDQUE0RDtRQUYvRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUdwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7WUFDckIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssU0FBUztnQkFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztTQUN0QztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FmVSxxQkFBcUIsa0JBSVosa0JBQWtCO21HQUozQixxQkFBcUIsb0VDWmxDLGtXQWFBLDZ3QkRIWSxZQUFZOzs0RkFFWCxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UsVUFBVSxpQkFHTCxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs7MEJBTVYsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE1BVF9TTkFDS19CQVJfREFUQSwgTWF0U25hY2tCYXJSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInXHJcbmltcG9ydCB7IEJ4UmVzdE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3JlcXVlc3QvYngtcmVzdC5tb2R1bGUnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QtbWVzc2FnZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQnhSZXN0TW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0TWVzc2FnZUNvbXBvbmVudCB7XHJcblxyXG4gIHNuYWNrQmFyUmVmID0gaW5qZWN0KE1hdFNuYWNrQmFyUmVmKVxyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9TTkFDS19CQVJfREFUQSkgcHVibGljIGRhdGE6IHsgbWVzc2FnZTogc3RyaW5nLCB0eXBlOiAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIH0pIHtcclxuICB9XHJcblxyXG4gIGdldENsYXNzKCk6c3RyaW5ne1xyXG4gICAgc3dpdGNoICh0aGlzLmRhdGEudHlwZSl7XHJcbiAgICAgIGNhc2UgJ2Vycm9yJzpcclxuICAgICAgY2FzZSAnd2FybmluZyc6XHJcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZSArICctbWVzc2FnZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3LTEwMCBkLWZsZXhcIj5cclxuICA8c3BhbiBtYXRTbmFja0JhckxhYmVsIFtjbGFzc109XCJnZXRDbGFzcygpXCI+XHJcbiAge3sgZGF0YS5tZXNzYWdlIH19XHJcbjwvc3Bhbj5cclxuICA8c3BhbiBtYXRTbmFja0JhckFjdGlvbnMgW2NsYXNzXT1cImdldENsYXNzKClcIj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gbWF0U25hY2tCYXJBY3Rpb24gKGNsaWNrKT1cInNuYWNrQmFyUmVmLmRpc21pc3NXaXRoQWN0aW9uKClcIj5cclxuICAgIDxtYXQtaWNvbj5cclxuICAgICAgY2xvc2VcclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbjwvc3Bhbj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import serialize from '../../functions/serializeJavascript';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export default class JSONServices {
|
|
5
|
-
static deserialize(data) {
|
|
6
|
-
return eval('(' + data + ')');
|
|
7
|
-
}
|
|
8
|
-
static serialize(data) {
|
|
9
|
-
return serialize(data);
|
|
10
|
-
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: JSONServices, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: JSONServices, providedIn: 'root' }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: JSONServices, decorators: [{
|
|
15
|
-
type: Injectable,
|
|
16
|
-
args: [{
|
|
17
|
-
providedIn: 'root'
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSlNPTi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL3ZhbmlsbGEvSlNPTi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sU0FBUyxNQUFNLHFDQUFxQyxDQUFBOztBQUszRCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUFDL0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFTO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBUztRQUN4QixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDOytHQVBrQixZQUFZO21IQUFaLFlBQVksY0FGbkIsTUFBTTs7NEZBRUMsWUFBWTtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHNlcmlhbGl6ZSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvc2VyaWFsaXplSmF2YXNjcmlwdCdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSlNPTlNlcnZpY2VzIHtcclxuICBzdGF0aWMgZGVzZXJpYWxpemUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gZXZhbCgnKCcgKyBkYXRhICsgJyknKVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHNlcmlhbGl6ZShkYXRhOiBhbnkgKSB7XHJcbiAgICByZXR1cm4gc2VyaWFsaXplKGRhdGEpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "@angular/material/icon";
|
|
3
|
-
import * as i2 from "@angular/material/button";
|
|
4
|
-
export declare class BxRestModule {
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BxRestModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<BxRestModule, never, [typeof i1.MatIconModule, typeof i2.MatButtonModule], [typeof i2.MatButtonModule, typeof i1.MatIconModule]>;
|
|
7
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<BxRestModule>;
|
|
8
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export default class SnackBarService {
|
|
4
|
-
private snackBar;
|
|
5
|
-
constructor(snackBar: MatSnackBar);
|
|
6
|
-
error(message: string, sec?: number): void;
|
|
7
|
-
warning(message: string, sec?: number): void;
|
|
8
|
-
success(message: string, sec?: number): void;
|
|
9
|
-
standardMessage(message: string, sec?: number, name?: string): void;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SnackBarService, never>;
|
|
11
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SnackBarService>;
|
|
12
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { MatSnackBarRef } from '@angular/material/snack-bar';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class ToastMessageComponent {
|
|
4
|
-
data: {
|
|
5
|
-
message: string;
|
|
6
|
-
type: 'error' | 'warning' | 'success';
|
|
7
|
-
};
|
|
8
|
-
snackBarRef: MatSnackBarRef<any>;
|
|
9
|
-
constructor(data: {
|
|
10
|
-
message: string;
|
|
11
|
-
type: 'error' | 'warning' | 'success';
|
|
12
|
-
});
|
|
13
|
-
getClass(): string;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToastMessageComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToastMessageComponent, "app-view", never, {}, {}, never, never, true, never>;
|
|
16
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export default class JSONServices {
|
|
3
|
-
static deserialize(data: any): any;
|
|
4
|
-
static serialize(data: any): any;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<JSONServices, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<JSONServices>;
|
|
7
|
-
}
|