zek 17.3.97 → 17.3.118
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/esm2022/lib/directives/delayed-input.directive.mjs +57 -0
- package/esm2022/lib/directives/index.mjs +2 -0
- package/esm2022/lib/models/tree.mjs +2 -0
- package/esm2022/lib/models/tree.model.mjs +4 -1
- package/esm2022/lib/modules/alert/toast/toast.mjs +3 -6
- package/esm2022/lib/modules/progress/progress.mjs +3 -6
- package/esm2022/lib/services/auth.service.mjs +14 -20
- package/esm2022/lib/services/web.api.mjs +1 -1
- package/esm2022/lib/utils/array-helper.mjs +91 -27
- package/esm2022/lib/utils/index.mjs +2 -1
- package/esm2022/lib/utils/interval-helper.mjs +32 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/zek.mjs +195 -56
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/directives/delayed-input.directive.d.ts +15 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/models/tree.d.ts +22 -0
- package/lib/models/tree.model.d.ts +3 -0
- package/lib/services/web.api.d.ts +1 -1
- package/lib/utils/array-helper.d.ts +12 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/interval-helper.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/esm2022/lib/models/flatten-tree.mjs +0 -2
- package/lib/models/flatten-tree.d.ts +0 -6
|
@@ -77,53 +77,74 @@ export class ArrayHelper {
|
|
|
77
77
|
}
|
|
78
78
|
static flatten(array, indent = 0) {
|
|
79
79
|
let result = [];
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
if (!Array.isArray(array)) {
|
|
81
|
+
const flattenedItem = {
|
|
82
|
+
...array, // shallow copy the current item
|
|
83
|
+
indent, // add the current indent level
|
|
84
|
+
count: Array.isArray(array.children) ? array.children.length : 0 // set count based on children
|
|
85
|
+
};
|
|
86
|
+
delete flattenedItem.children;
|
|
87
|
+
delete flattenedItem.childrenIds;
|
|
88
|
+
result.push(flattenedItem);
|
|
89
|
+
if (flattenedItem.count) {
|
|
90
|
+
result.push(...this.flatten(array.children, indent + 1)); // Use spread operator for efficiency
|
|
84
91
|
}
|
|
92
|
+
return result;
|
|
85
93
|
}
|
|
86
94
|
else {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
item.indent = indent;
|
|
90
|
-
item.count = Array.isArray(array.children)
|
|
91
|
-
? array.children.length
|
|
92
|
-
: 0;
|
|
93
|
-
delete item.children;
|
|
94
|
-
delete item.childrenIds;
|
|
95
|
-
result.push(item);
|
|
96
|
-
// If there are children, recursively flatten them
|
|
97
|
-
if (Array.isArray(array.children)) {
|
|
98
|
-
for (const child of array.children) {
|
|
99
|
-
result = result.concat(this.flatten(child, indent + 1));
|
|
100
|
-
}
|
|
95
|
+
for (const item of array) {
|
|
96
|
+
result.push(...this.flatten(item, indent));
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
99
|
return result;
|
|
104
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* @deprecated use flattenDropDownList2
|
|
103
|
+
*/
|
|
105
104
|
static flattenDropDownList(tree, indent = 0) {
|
|
106
105
|
let result = [];
|
|
107
106
|
// If the input is an array of trees, we process each one
|
|
108
|
-
if (Array.isArray(tree)) {
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
if (!Array.isArray(tree)) {
|
|
108
|
+
// Add the current tree node to the result
|
|
109
|
+
let item = {
|
|
110
|
+
key: tree.key,
|
|
111
|
+
value: ' '.repeat(indent) + tree.value,
|
|
112
|
+
indent: indent,
|
|
113
|
+
count: Array.isArray(tree.children) ? tree.children.length : 0
|
|
114
|
+
};
|
|
115
|
+
result.push(item);
|
|
116
|
+
// If there are children, recursively flatten them
|
|
117
|
+
if (Array.isArray(tree.children)) {
|
|
118
|
+
result.push(...this.flattenDropDownList(tree.children, indent + 1)); // Use spread operator for efficiency
|
|
111
119
|
}
|
|
112
120
|
}
|
|
113
121
|
else {
|
|
122
|
+
for (const item of tree) {
|
|
123
|
+
result.push(...this.flattenDropDownList(item, indent));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
static flattenTreeNodeDropDownList(tree, indent = 0) {
|
|
129
|
+
let result = [];
|
|
130
|
+
// If the input is an array of trees, we process each one
|
|
131
|
+
if (!Array.isArray(tree)) {
|
|
114
132
|
// Add the current tree node to the result
|
|
115
133
|
let item = {
|
|
116
|
-
|
|
117
|
-
|
|
134
|
+
id: tree.id,
|
|
135
|
+
name: ' '.repeat(indent) + tree.name,
|
|
118
136
|
indent: indent,
|
|
119
137
|
count: Array.isArray(tree.children) ? tree.children.length : 0
|
|
120
138
|
};
|
|
121
139
|
result.push(item);
|
|
122
140
|
// If there are children, recursively flatten them
|
|
123
141
|
if (Array.isArray(tree.children)) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
142
|
+
result.push(...this.flattenTreeNodeDropDownList(tree.children, indent + 1)); // Use spread operator for efficiency
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
for (const item of tree) {
|
|
147
|
+
result.push(...this.flattenTreeNodeDropDownList(item, indent));
|
|
127
148
|
}
|
|
128
149
|
}
|
|
129
150
|
return result;
|
|
@@ -148,5 +169,48 @@ export class ArrayHelper {
|
|
|
148
169
|
static enumToKeyPairExArray(value) {
|
|
149
170
|
return this.enumToKeyPairBaseArray(value);
|
|
150
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Method to create a tree from a flat array of nodes
|
|
174
|
+
* @param array
|
|
175
|
+
* @param safe if tue and some nodes not have parent thand adds as a root node. if false than thoose nodes skipped.
|
|
176
|
+
* @returns
|
|
177
|
+
*/
|
|
178
|
+
static createTree(array, safe = true) {
|
|
179
|
+
const tree = [];
|
|
180
|
+
// Map to store nodes by their id for easy access
|
|
181
|
+
const map = {};
|
|
182
|
+
// Step 1: Loop over the array to build the nodes
|
|
183
|
+
for (const item of array) {
|
|
184
|
+
const node = {
|
|
185
|
+
id: item.id,
|
|
186
|
+
parentId: item.parentId ?? null,
|
|
187
|
+
name: item.name ?? null,
|
|
188
|
+
children: null
|
|
189
|
+
};
|
|
190
|
+
map[node.id] = node;
|
|
191
|
+
}
|
|
192
|
+
for (const item of array) {
|
|
193
|
+
const node = map[item.id];
|
|
194
|
+
// Step 2: Check if it's a root or child and assign to parent or tree
|
|
195
|
+
if (typeof node.parentId === 'undefined' || node.parentId === null) {
|
|
196
|
+
// Root node, add directly to the tree
|
|
197
|
+
tree.push(node);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
// Non-root node, find its parent and add to its children
|
|
201
|
+
let parentNode = map[node.parentId];
|
|
202
|
+
if (parentNode) {
|
|
203
|
+
if (!Array.isArray(parentNode.children))
|
|
204
|
+
parentNode.children = [];
|
|
205
|
+
parentNode.children.push(node);
|
|
206
|
+
}
|
|
207
|
+
else if (safe) {
|
|
208
|
+
//if save=true and parent node not exists, then we add as a root node
|
|
209
|
+
tree.push(node);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return tree;
|
|
214
|
+
}
|
|
151
215
|
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvYXJyYXktaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCwrQ0FBK0M7QUFNL0MsTUFBTSxPQUFPLFdBQVc7SUFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFZLEVBQUUsS0FBYSxFQUFFLElBQVM7UUFDaEQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFZLEVBQUUsSUFBUztRQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7WUFDckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQ0FBMkM7UUFDdkUsQ0FBQztJQUNMLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFZLEVBQUUsSUFBUztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixFQUFFLENBQUMsQ0FBQztZQUNSLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBWSxF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QyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFPLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7UUFDZCx3RkFBd0Y7SUFDNUYsQ0FBQztJQUNELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUEwQixLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQVU7UUFDbEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQTRCLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IEtleVBhaXIgfSBmcm9tIFwiLi4vbW9kZWxzL2tleS1wYWlyLm1vZGVsXCI7XHJcbi8vIGltcG9ydCB7IFRyZWUgfSBmcm9tIFwiLi4vbW9kZWxzL3RyZWUubW9kZWxcIjtcclxuXHJcbmltcG9ydCB7IEtleVBhaXIsIEtleVBhaXJFeCwgVHJlZSB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSUZsYXR0ZW5UcmVlIH0gZnJvbSBcIi4uL21vZGVscy9mbGF0dGVuLXRyZWVcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQXJyYXlIZWxwZXIge1xyXG4gICAgc3RhdGljIGluc2VydChhcnJheTogYW55W10sIGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgICAgIGFycmF5LnNwbGljZShpbmRleCwgMCwgaXRlbSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGl0ZW0gZnJvbSBhcnJheVxyXG4gICAgICogQHBhcmFtIGFycmF5IFxyXG4gICAgICogQHBhcmFtIGl0ZW0gaXRlbSB0byByZW1vdmVcclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJlbW92ZShhcnJheTogYW55W10sIGl0ZW06IGFueSkge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gYXJyYXkuaW5kZXhPZihpdGVtKTtcclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkgeyAvLyBvbmx5IHNwbGljZSBhcnJheSB3aGVuIGl0ZW0gaXMgZm91bmRcclxuICAgICAgICAgICAgYXJyYXkuc3BsaWNlKGluZGV4LCAxKTsgLy8gMm5kIHBhcmFtZXRlciBtZWFucyByZW1vdmUgb25lIGl0ZW0gb25seVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgYWxsIGl0ZW1zIGZyb20gYXJyYXlcclxuICAgICAqIEBwYXJhbSBhcnJheSBcclxuICAgICAqIEBwYXJhbSBpdGVtIGl0ZW0gdG8gcmVtb3ZlXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyByZW1vdmVBbGwoYXJyYXk6IGFueVtdLCBpdGVtOiBhbnkpIHtcclxuICAgICAgICB2YXIgaSA9IDA7XHJcbiAgICAgICAgd2hpbGUgKGkgPCBhcnJheS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgaWYgKGFycmF5W2ldID09PSBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICBhcnJheS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICArK2k7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBtb3ZlKGFycmF5OiBhbnlbXSwgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcikge1xyXG5cclxuICAgICAgICBjb25zdCBpdGVtID0gYXJyYXlbZnJvbUluZGV4XTtcclxuICAgICAgICBhcnJheS5zcGxpY2UoZnJvbUluZGV4LCAxKTsvL3JlbW92ZSBpdGVtIGZycm9tIGFycmF5XHJcbiAgICAgICAgYXJyYXkuc3BsaWNlKHRvSW5kZXgsIDAsIGl0ZW0pOy8vaW5zZXJ0IGl0ZW0gaW50byBhcnJheVxyXG4gICAgICAgIHJldHVybiBhcnJheTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY29udGFpbnModmFsdWU6IGFueVtdLCB2OiBhbnkpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZVtpXSA9PT0gdikgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGlzQXJyYXkodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG4gICAgLy8gc3RhdGljIGRpc3RpbmN0KHZhbHVlOiBhbnlbXSkge1xyXG4gICAgLy8gICAgIHZhciBhcnI6IGFueVtdID0gW107XHJcbiAgICAvLyAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgLy8gICAgICAgICBsZXQgdmFsID0gdmFsdWVbaV07XHJcbiAgICAvLyAgICAgICAgIGlmICghdGhpcy5jb250YWlucyhhcnIsIHZhbCkpIHtcclxuICAgIC8vICAgICAgICAgICAgIGFyci5wdXNoKHZhbCk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIGFycjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBzdGF0aWMgZGlzdGluY3QoYXJyYXk6IGFueVtdKSB7XHJcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdXHJcbiAgICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFycmF5W2luZGV4XTtcclxuICAgICAgICAgICAgaWYgKHNlZW4uaGFzKHZhbHVlKSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBzZWVuLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGZpbHRlckJ5S2V5KGZpbHRlclZhbHVlOiBhbnksIGtleTogc3RyaW5nLCBhcnJheTogYW55W10pIHtcclxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAndW5kZWZpbmVkJyB8fCBmaWx0ZXJWYWx1ZSA9PSBudWxsIHx8ICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiBrZXkubGVuZ3RoID09PSAwKSlcclxuICAgICAgICAgICAgcmV0dXJuIGFycmF5O1xyXG5cclxuICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKHggPT4geCAhPT0gdW5kZWZpbmVkICYmIHggIT09IG51bGwgJiYgeFtrZXldID09PSBmaWx0ZXJWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBmbGF0dGVuKGFycmF5OiBhbnksIGluZGVudDogbnVtYmVyID0gMCkge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IGFueVtdID0gW107XHJcbiAgICAgICAgLy8gSWYgdGhlIGlucHV0IGlzIGFuIGFycmF5IG9mIHRyZWVzLCB3ZSBwcm9jZXNzIGVhY2ggb25lXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJyYXkpKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBhcnJheSkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCh0aGlzLmZsYXR0ZW4oaXRlbSwgaW5kZW50KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGN1cnJlbnQgdHJlZSBub2RlIHRvIHRoZSByZXN1bHRcclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IE9iamVjdC5hc3NpZ24oe30sIGFycmF5KTtcclxuICAgICAgICAgICAgaXRlbS5pbmRlbnQgPSBpbmRlbnQ7XHJcbiAgICAgICAgICAgIGl0ZW0uY291bnQgPSBBcnJheS5pc0FycmF5KGFycmF5LmNoaWxkcmVuKVxyXG4gICAgICAgICAgICAgICAgPyBhcnJheS5jaGlsZHJlbi5sZW5ndGhcclxuICAgICAgICAgICAgICAgIDogMDtcclxuICAgICAgICAgICAgZGVsZXRlIGl0ZW0uY2hpbGRyZW47XHJcbiAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmNoaWxkcmVuSWRzO1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIGNoaWxkcmVuLCByZWN1cnNpdmVseSBmbGF0dGVuIHRoZW1cclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJyYXkuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGFycmF5LmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCh0aGlzLmZsYXR0ZW4oY2hpbGQsIGluZGVudCArIDEpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZmxhdHRlbkRyb3BEb3duTGlzdCh0cmVlOiBUcmVlIHwgVHJlZVtdLCBpbmRlbnQ6IG51bWJlciA9IDApIHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBJRmxhdHRlblRyZWVbXSA9IFtdO1xyXG4gICAgICAgIC8vIElmIHRoZSBpbnB1dCBpcyBhbiBhcnJheSBvZiB0cmVlcywgd2UgcHJvY2VzcyBlYWNoIG9uZVxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRyZWUpKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0cmVlKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRoaXMuZmxhdHRlbkRyb3BEb3duTGlzdChpdGVtLCBpbmRlbnQpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEFkZCB0aGUgY3VycmVudCB0cmVlIG5vZGUgdG8gdGhlIHJlc3VsdFxyXG4gICAgICAgICAgICBsZXQgaXRlbSA9IHtcclxuICAgICAgICAgICAgICAgIGtleTogdHJlZS5rZXksXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogJyZlbXNwOycucmVwZWF0KGluZGVudCkgKyB0cmVlLnZhbHVlLFxyXG4gICAgICAgICAgICAgICAgaW5kZW50OiBpbmRlbnQsXHJcbiAgICAgICAgICAgICAgICBjb3VudDogQXJyYXkuaXNBcnJheSh0cmVlLmNoaWxkcmVuKSA/IHRyZWUuY2hpbGRyZW4ubGVuZ3RoIDogMFxyXG4gICAgICAgICAgICB9IGFzIElGbGF0dGVuVHJlZTtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBjaGlsZHJlbiwgcmVjdXJzaXZlbHkgZmxhdHRlbiB0aGVtXHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRyZWUuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRyZWUuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRoaXMuZmxhdHRlbkRyb3BEb3duTGlzdChjaGlsZCwgaW5kZW50ICsgMSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGVudW1Ub0tleVBhaXJCYXNlQXJyYXk8VCBleHRlbmRzIEtleVBhaXI8bnVtYmVyLCBzdHJpbmc+Pih2YWx1ZTogYW55KTogVFtdIHtcclxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IHNsaWNlID0ga2V5cy5sZW5ndGggLyAyO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogVFtdID0gW107XHJcbiAgICAgICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZTsgaSsrKSB7XHJcbiAgICAgICAgLy8gICAgIHJlc3VsdC5wdXNoKHsga2V5OiAra2V5c1tpXSwgdmFsdWU6IGtleXNbaSArIHNsaWNlXSB9IGFzIFQpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gc2xpY2U7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBrZXlzW2ldO1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogKyB2YWx1ZVtuYW1lXSwgdmFsdWU6IG5hbWUgfSBhcyBUKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAvL3JldHVybiBBcnJheS5mcm9tKGtleXMuc2xpY2Uoa2V5cy5sZW5ndGggLyAyKSwgeCA9PiB7IGtleTp4LCB2YWx1ZTonYWFhJyB9IGFzIE9iamVjdCk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZW51bVRvS2V5UGFpckFycmF5KHZhbHVlOiBhbnkpOiBLZXlQYWlyPG51bWJlciwgc3RyaW5nPltdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbnVtVG9LZXlQYWlyQmFzZUFycmF5PEtleVBhaXI8bnVtYmVyLCBzdHJpbmc+Pih2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZW51bVRvS2V5UGFpckV4QXJyYXkodmFsdWU6IGFueSk6IEtleVBhaXJFeDxudW1iZXIsIHN0cmluZz5bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZW51bVRvS2V5UGFpckJhc2VBcnJheTxLZXlQYWlyRXg8bnVtYmVyLCBzdHJpbmc+Pih2YWx1ZSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvYXJyYXktaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCwrQ0FBK0M7QUFPL0MsTUFBTSxPQUFPLFdBQVc7SUFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFZLEVBQUUsS0FBYSxFQUFFLElBQVM7UUFDaEQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFZLEVBQUUsSUFBUztRQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7WUFDckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQ0FBMkM7UUFDdkUsQ0FBQztJQUNMLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFZLEVBQUUsSUFBUztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixFQUFFLENBQUMsQ0FBQztZQUNSLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBWSxF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Q3BCLENBQUM7aUJBQU0sQ0FBQztnQkFDSix5REFBeUQ7Z0JBQ3pELElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzt3QkFDbkMsVUFBVSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7b0JBQzdCLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO3FCQUFNLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ2QscUVBQXFFO29CQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL21vZGVscy9rZXktcGFpci5tb2RlbFwiO1xyXG4vLyBpbXBvcnQgeyBUcmVlIH0gZnJvbSBcIi4uL21vZGVscy90cmVlLm1vZGVsXCI7XHJcblxyXG5pbXBvcnQgeyBLZXlQYWlyLCBLZXlQYWlyRXgsIFRyZWUgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IElGbGF0dGVuVHJlZSwgSUZsYXR0ZW5UcmVlTm9kZSwgSU5vZGUsIElUcmVlTm9kZSB9IGZyb20gXCIuLi9tb2RlbHMvdHJlZVwiO1xyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQXJyYXlIZWxwZXIge1xyXG4gICAgc3RhdGljIGluc2VydChhcnJheTogYW55W10sIGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgICAgIGFycmF5LnNwbGljZShpbmRleCwgMCwgaXRlbSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIGl0ZW0gZnJvbSBhcnJheVxyXG4gICAgICogQHBhcmFtIGFycmF5IFxyXG4gICAgICogQHBhcmFtIGl0ZW0gaXRlbSB0byByZW1vdmVcclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJlbW92ZShhcnJheTogYW55W10sIGl0ZW06IGFueSkge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gYXJyYXkuaW5kZXhPZihpdGVtKTtcclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkgeyAvLyBvbmx5IHNwbGljZSBhcnJheSB3aGVuIGl0ZW0gaXMgZm91bmRcclxuICAgICAgICAgICAgYXJyYXkuc3BsaWNlKGluZGV4LCAxKTsgLy8gMm5kIHBhcmFtZXRlciBtZWFucyByZW1vdmUgb25lIGl0ZW0gb25seVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgYWxsIGl0ZW1zIGZyb20gYXJyYXlcclxuICAgICAqIEBwYXJhbSBhcnJheSBcclxuICAgICAqIEBwYXJhbSBpdGVtIGl0ZW0gdG8gcmVtb3ZlXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyByZW1vdmVBbGwoYXJyYXk6IGFueVtdLCBpdGVtOiBhbnkpIHtcclxuICAgICAgICB2YXIgaSA9IDA7XHJcbiAgICAgICAgd2hpbGUgKGkgPCBhcnJheS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgaWYgKGFycmF5W2ldID09PSBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICBhcnJheS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICArK2k7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBtb3ZlKGFycmF5OiBhbnlbXSwgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcikge1xyXG5cclxuICAgICAgICBjb25zdCBpdGVtID0gYXJyYXlbZnJvbUluZGV4XTtcclxuICAgICAgICBhcnJheS5zcGxpY2UoZnJvbUluZGV4LCAxKTsvL3JlbW92ZSBpdGVtIGZycm9tIGFycmF5XHJcbiAgICAgICAgYXJyYXkuc3BsaWNlKHRvSW5kZXgsIDAsIGl0ZW0pOy8vaW5zZXJ0IGl0ZW0gaW50byBhcnJheVxyXG4gICAgICAgIHJldHVybiBhcnJheTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY29udGFpbnModmFsdWU6IGFueVtdLCB2OiBhbnkpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZVtpXSA9PT0gdikgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGlzQXJyYXkodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG4gICAgLy8gc3RhdGljIGRpc3RpbmN0KHZhbHVlOiBhbnlbXSkge1xyXG4gICAgLy8gICAgIHZhciBhcnI6IGFueVtdID0gW107XHJcbiAgICAvLyAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgLy8gICAgICAgICBsZXQgdmFsID0gdmFsdWVbaV07XHJcbiAgICAvLyAgICAgICAgIGlmICghdGhpcy5jb250YWlucyhhcnIsIHZhbCkpIHtcclxuICAgIC8vICAgICAgICAgICAgIGFyci5wdXNoKHZhbCk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIGFycjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBzdGF0aWMgZGlzdGluY3QoYXJyYXk6IGFueVtdKSB7XHJcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdXHJcbiAgICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFycmF5W2luZGV4XTtcclxuICAgICAgICAgICAgaWYgKHNlZW4uaGFzKHZhbHVlKSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBzZWVuLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGZpbHRlckJ5S2V5KGZpbHRlclZhbHVlOiBhbnksIGtleTogc3RyaW5nLCBhcnJheTogYW55W10pIHtcclxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAndW5kZWZpbmVkJyB8fCBmaWx0ZXJWYWx1ZSA9PSBudWxsIHx8ICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiBrZXkubGVuZ3RoID09PSAwKSlcclxuICAgICAgICAgICAgcmV0dXJuIGFycmF5O1xyXG5cclxuICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKHggPT4geCAhPT0gdW5kZWZpbmVkICYmIHggIT09IG51bGwgJiYgeFtrZXldID09PSBmaWx0ZXJWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBzdGF0aWMgZmxhdHRlbihhcnJheTogYW55LCBpbmRlbnQ6IG51bWJlciA9IDApIHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheSkpIHtcclxuICAgICAgICAgICAgY29uc3QgZmxhdHRlbmVkSXRlbSA9IHtcclxuICAgICAgICAgICAgICAgIC4uLmFycmF5LCAvLyBzaGFsbG93IGNvcHkgdGhlIGN1cnJlbnQgaXRlbVxyXG4gICAgICAgICAgICAgICAgaW5kZW50LCAvLyBhZGQgdGhlIGN1cnJlbnQgaW5kZW50IGxldmVsXHJcbiAgICAgICAgICAgICAgICBjb3VudDogQXJyYXkuaXNBcnJheShhcnJheS5jaGlsZHJlbikgPyBhcnJheS5jaGlsZHJlbi5sZW5ndGggOiAwIC8vIHNldCBjb3VudCBiYXNlZCBvbiBjaGlsZHJlblxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgZGVsZXRlIGZsYXR0ZW5lZEl0ZW0uY2hpbGRyZW47XHJcbiAgICAgICAgICAgIGRlbGV0ZSBmbGF0dGVuZWRJdGVtLmNoaWxkcmVuSWRzO1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaChmbGF0dGVuZWRJdGVtKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChmbGF0dGVuZWRJdGVtLmNvdW50KSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCguLi50aGlzLmZsYXR0ZW4oYXJyYXkuY2hpbGRyZW4sIGluZGVudCArIDEpKTsgLy8gVXNlIHNwcmVhZCBvcGVyYXRvciBmb3IgZWZmaWNpZW5jeVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXJyYXkpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZmxhdHRlbihpdGVtLCBpbmRlbnQpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogQGRlcHJlY2F0ZWQgdXNlIGZsYXR0ZW5Ecm9wRG93bkxpc3QyXHJcbiAgICAqL1xyXG4gICAgc3RhdGljIGZsYXR0ZW5Ecm9wRG93bkxpc3QodHJlZTogVHJlZSB8IFRyZWVbXSwgaW5kZW50OiBudW1iZXIgPSAwKSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogSUZsYXR0ZW5UcmVlW10gPSBbXTtcclxuICAgICAgICAvLyBJZiB0aGUgaW5wdXQgaXMgYW4gYXJyYXkgb2YgdHJlZXMsIHdlIHByb2Nlc3MgZWFjaCBvbmVcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodHJlZSkpIHtcclxuICAgICAgICAgICAgLy8gQWRkIHRoZSBjdXJyZW50IHRyZWUgbm9kZSB0byB0aGUgcmVzdWx0XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBJRmxhdHRlblRyZWUgPSB7XHJcbiAgICAgICAgICAgICAgICBrZXk6IHRyZWUua2V5LFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6ICcmZW1zcDsnLnJlcGVhdChpbmRlbnQpICsgdHJlZS52YWx1ZSxcclxuICAgICAgICAgICAgICAgIGluZGVudDogaW5kZW50LFxyXG4gICAgICAgICAgICAgICAgY291bnQ6IEFycmF5LmlzQXJyYXkodHJlZS5jaGlsZHJlbikgPyB0cmVlLmNoaWxkcmVuLmxlbmd0aCA6IDBcclxuICAgICAgICAgICAgfSBhcyBJRmxhdHRlblRyZWU7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgY2hpbGRyZW4sIHJlY3Vyc2l2ZWx5IGZsYXR0ZW4gdGhlbVxyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0cmVlLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5mbGF0dGVuRHJvcERvd25MaXN0KHRyZWUuY2hpbGRyZW4sIGluZGVudCArIDEpKTsgLy8gVXNlIHNwcmVhZCBvcGVyYXRvciBmb3IgZWZmaWNpZW5jeVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRyZWUpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZmxhdHRlbkRyb3BEb3duTGlzdChpdGVtLCBpbmRlbnQpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZmxhdHRlblRyZWVOb2RlRHJvcERvd25MaXN0KHRyZWU6IElUcmVlTm9kZSB8IElUcmVlTm9kZVtdLCBpbmRlbnQ6IG51bWJlciA9IDApIHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBJRmxhdHRlblRyZWVOb2RlW10gPSBbXTtcclxuICAgICAgICAvLyBJZiB0aGUgaW5wdXQgaXMgYW4gYXJyYXkgb2YgdHJlZXMsIHdlIHByb2Nlc3MgZWFjaCBvbmVcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodHJlZSkpIHtcclxuICAgICAgICAgICAgLy8gQWRkIHRoZSBjdXJyZW50IHRyZWUgbm9kZSB0byB0aGUgcmVzdWx0XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBJRmxhdHRlblRyZWVOb2RlID0ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IHRyZWUuaWQsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnJmVtc3A7Jy5yZXBlYXQoaW5kZW50KSArIHRyZWUubmFtZSxcclxuICAgICAgICAgICAgICAgIGluZGVudDogaW5kZW50LFxyXG4gICAgICAgICAgICAgICAgY291bnQ6IEFycmF5LmlzQXJyYXkodHJlZS5jaGlsZHJlbikgPyB0cmVlLmNoaWxkcmVuLmxlbmd0aCA6IDBcclxuICAgICAgICAgICAgfSBhcyBJRmxhdHRlblRyZWU7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgY2hpbGRyZW4sIHJlY3Vyc2l2ZWx5IGZsYXR0ZW4gdGhlbVxyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0cmVlLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5mbGF0dGVuVHJlZU5vZGVEcm9wRG93bkxpc3QodHJlZS5jaGlsZHJlbiwgaW5kZW50ICsgMSkpOyAvLyBVc2Ugc3ByZWFkIG9wZXJhdG9yIGZvciBlZmZpY2llbmN5XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdHJlZSkge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5mbGF0dGVuVHJlZU5vZGVEcm9wRG93bkxpc3QoaXRlbSwgaW5kZW50KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGVudW1Ub0tleVBhaXJCYXNlQXJyYXk8VCBleHRlbmRzIEtleVBhaXI8bnVtYmVyLCBzdHJpbmc+Pih2YWx1ZTogYW55KTogVFtdIHtcclxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IHNsaWNlID0ga2V5cy5sZW5ndGggLyAyO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogVFtdID0gW107XHJcbiAgICAgICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZTsgaSsrKSB7XHJcbiAgICAgICAgLy8gICAgIHJlc3VsdC5wdXNoKHsga2V5OiAra2V5c1tpXSwgdmFsdWU6IGtleXNbaSArIHNsaWNlXSB9IGFzIFQpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gc2xpY2U7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBrZXlzW2ldO1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogKyB2YWx1ZVtuYW1lXSwgdmFsdWU6IG5hbWUgfSBhcyBUKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAvL3JldHVybiBBcnJheS5mcm9tKGtleXMuc2xpY2Uoa2V5cy5sZW5ndGggLyAyKSwgeCA9PiB7IGtleTp4LCB2YWx1ZTonYWFhJyB9IGFzIE9iamVjdCk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZW51bVRvS2V5UGFpckFycmF5KHZhbHVlOiBhbnkpOiBLZXlQYWlyPG51bWJlciwgc3RyaW5nPltdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbnVtVG9LZXlQYWlyQmFzZUFycmF5PEtleVBhaXI8bnVtYmVyLCBzdHJpbmc+Pih2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZW51bVRvS2V5UGFpckV4QXJyYXkodmFsdWU6IGFueSk6IEtleVBhaXJFeDxudW1iZXIsIHN0cmluZz5bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZW51bVRvS2V5UGFpckJhc2VBcnJheTxLZXlQYWlyRXg8bnVtYmVyLCBzdHJpbmc+Pih2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0aG9kIHRvIGNyZWF0ZSBhIHRyZWUgZnJvbSBhIGZsYXQgYXJyYXkgb2Ygbm9kZXNcclxuICAgICAqIEBwYXJhbSBhcnJheSBcclxuICAgICAqIEBwYXJhbSBzYWZlIGlmIHR1ZSBhbmQgc29tZSBub2RlcyBub3QgaGF2ZSBwYXJlbnQgdGhhbmQgYWRkcyBhcyBhIHJvb3Qgbm9kZS4gaWYgZmFsc2UgdGhhbiB0aG9vc2Ugbm9kZXMgc2tpcHBlZC5cclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgY3JlYXRlVHJlZShhcnJheTogSU5vZGVbXSwgc2FmZSA9IHRydWUpOiBJVHJlZU5vZGVbXSB7XHJcbiAgICAgICAgY29uc3QgdHJlZTogSVRyZWVOb2RlW10gPSBbXTtcclxuXHJcbiAgICAgICAgLy8gTWFwIHRvIHN0b3JlIG5vZGVzIGJ5IHRoZWlyIGlkIGZvciBlYXN5IGFjY2Vzc1xyXG4gICAgICAgIGNvbnN0IG1hcDogeyBba2V5OiBudW1iZXJdOiBJVHJlZU5vZGUgfSA9IHt9O1xyXG5cclxuICAgICAgICAvLyBTdGVwIDE6IExvb3Agb3ZlciB0aGUgYXJyYXkgdG8gYnVpbGQgdGhlIG5vZGVzXHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGFycmF5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vZGU6IElUcmVlTm9kZSA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICAgICAgcGFyZW50SWQ6IGl0ZW0ucGFyZW50SWQgPz8gbnVsbCxcclxuICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSA/PyBudWxsLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IG51bGxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgbWFwW25vZGUuaWRdID0gbm9kZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBhcnJheSkge1xyXG4gICAgICAgICAgICBjb25zdCBub2RlID0gbWFwW2l0ZW0uaWRdO1xyXG5cclxuICAgICAgICAgICAgLy8gU3RlcCAyOiBDaGVjayBpZiBpdCdzIGEgcm9vdCBvciBjaGlsZCBhbmQgYXNzaWduIHRvIHBhcmVudCBvciB0cmVlXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygbm9kZS5wYXJlbnRJZCA9PT0gJ3VuZGVmaW5lZCcgfHwgbm9kZS5wYXJlbnRJZCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgLy8gUm9vdCBub2RlLCBhZGQgZGlyZWN0bHkgdG8gdGhlIHRyZWVcclxuICAgICAgICAgICAgICAgIHRyZWUucHVzaChub2RlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIE5vbi1yb290IG5vZGUsIGZpbmQgaXRzIHBhcmVudCBhbmQgYWRkIHRvIGl0cyBjaGlsZHJlblxyXG4gICAgICAgICAgICAgICAgbGV0IHBhcmVudE5vZGUgPSBtYXBbbm9kZS5wYXJlbnRJZF07XHJcbiAgICAgICAgICAgICAgICBpZiAocGFyZW50Tm9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJlbnROb2RlLmNoaWxkcmVuKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Tm9kZS5jaGlsZHJlbiA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudE5vZGUuY2hpbGRyZW4ucHVzaChub2RlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2FmZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vaWYgc2F2ZT10cnVlIGFuZCBwYXJlbnQgbm9kZSBub3QgZXhpc3RzLCB0aGVuIHdlIGFkZCBhcyBhIHJvb3Qgbm9kZVxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWUucHVzaChub2RlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRyZWU7XHJcbiAgICB9XHJcblxyXG59Il19
|
|
@@ -21,7 +21,8 @@ export * from './storage-helper';
|
|
|
21
21
|
export * from './string-helper';
|
|
22
22
|
export * from './thenBy';
|
|
23
23
|
export * from './time-helper';
|
|
24
|
+
export * from './interval-helper';
|
|
24
25
|
export * from './tmp-helper';
|
|
25
26
|
export * from './url-helper';
|
|
26
27
|
export * from './validation-helper';
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJyYXktaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYXNlNjQtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9iaXR3aXNlLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vYm9vdHN0cmFwLmhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udmVydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3NzLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXhjZWwtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLmhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHRtbC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2p3dC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL21hdGgtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9vdmVybGFwLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXItaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9yYW5kb20taGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGhlbkJ5JztcclxuZXhwb3J0ICogZnJvbSAnLi90aW1lLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJ2YWwtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi90bXAtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi91cmwtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcic7Il19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export class IntervalHelper {
|
|
2
|
+
static { this._timeouts = []; }
|
|
3
|
+
static create(callback, ms) {
|
|
4
|
+
const id = setInterval(() => {
|
|
5
|
+
callback();
|
|
6
|
+
}, ms);
|
|
7
|
+
const timeout = {
|
|
8
|
+
id: +id,
|
|
9
|
+
callback: callback.toString(),
|
|
10
|
+
interval: ms,
|
|
11
|
+
createdAt: new Date()
|
|
12
|
+
};
|
|
13
|
+
this._timeouts.push(timeout);
|
|
14
|
+
return timeout;
|
|
15
|
+
}
|
|
16
|
+
static clear(id) {
|
|
17
|
+
const index = this._timeouts.findIndex(x => x.id === id);
|
|
18
|
+
if (index !== -1) {
|
|
19
|
+
clearInterval(id);
|
|
20
|
+
this._timeouts.splice(index, 1);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
static clearAll() {
|
|
26
|
+
for (const timeout of this._timeouts) {
|
|
27
|
+
this.clear(timeout.id);
|
|
28
|
+
}
|
|
29
|
+
this._timeouts = [];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvaW50ZXJ2YWwtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxjQUFjO2FBQ1YsY0FBUyxHQUFlLEVBQUUsQ0FBQztJQUUxQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWtCLEVBQUUsRUFBVTtRQUMxQyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQzFCLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsTUFBTSxPQUFPLEdBQUc7WUFDZCxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ1AsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDN0IsUUFBUSxFQUFFLEVBQUU7WUFDWixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7U0FDVixDQUFDO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVTtRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRO1FBQ2IsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGludGVyZmFjZSBJVGltZW91dCB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBjYWxsYmFjazogc3RyaW5nO1xyXG4gIGludGVydmFsOiBudW1iZXI7XHJcbiAgY3JlYXRlZEF0OiBEYXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW50ZXJ2YWxIZWxwZXIge1xyXG4gIHByaXZhdGUgc3RhdGljIF90aW1lb3V0czogSVRpbWVvdXRbXSA9IFtdO1xyXG5cclxuICBzdGF0aWMgY3JlYXRlKGNhbGxiYWNrOiBGdW5jdGlvbiwgbXM6IG51bWJlcikge1xyXG4gICAgY29uc3QgaWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICB9LCBtcyk7XHJcblxyXG4gICAgY29uc3QgdGltZW91dCA9IHtcclxuICAgICAgaWQ6ICtpZCxcclxuICAgICAgY2FsbGJhY2s6IGNhbGxiYWNrLnRvU3RyaW5nKCksXHJcbiAgICAgIGludGVydmFsOiBtcyxcclxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpXHJcbiAgICB9IGFzIElUaW1lb3V0O1xyXG4gICAgdGhpcy5fdGltZW91dHMucHVzaCh0aW1lb3V0KTtcclxuICAgIHJldHVybiB0aW1lb3V0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNsZWFyKGlkOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fdGltZW91dHMuZmluZEluZGV4KHggPT4geC5pZCA9PT0gaWQpO1xyXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICBjbGVhckludGVydmFsKGlkKTtcclxuICAgICAgdGhpcy5fdGltZW91dHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2xlYXJBbGwoKSB7XHJcbiAgICBmb3IgKGNvbnN0IHRpbWVvdXQgb2YgdGhpcy5fdGltZW91dHMpIHtcclxuICAgICAgdGhpcy5jbGVhcih0aW1lb3V0LmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3RpbWVvdXRzID0gW107XHJcbiAgfVxyXG59Il19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* Public API Surface of zek
|
|
3
3
|
*/
|
|
4
4
|
export * from "./lib/components";
|
|
5
|
+
export * from "./lib/directives";
|
|
5
6
|
export * from "./lib/models";
|
|
6
7
|
export * from "./lib/modules";
|
|
7
8
|
export * from "./lib/services";
|
|
8
9
|
export * from "./lib/utils";
|
|
9
10
|
export * from "./lib/tokens";
|
|
10
11
|
export * from "./lib/zek.module";
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgemVrXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZXNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZGVsc1wiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kdWxlc1wiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3V0aWxzXCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdG9rZW5zXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi96ZWsubW9kdWxlXCI7Il19
|