ngx-sfc-common 0.0.19 → 0.0.21
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/esm2020/lib/components/button/button.component.mjs +3 -3
- package/esm2020/lib/components/checkmark/checkmark.component.mjs +3 -6
- package/esm2020/lib/components/delimeter/delimeter.component.mjs +2 -2
- package/esm2020/lib/components/dots/dots.component.mjs +2 -2
- package/esm2020/lib/components/hamburger/menu/hamburger-menu.component.mjs +2 -2
- package/esm2020/lib/components/icon/icon.component.mjs +5 -1
- package/esm2020/lib/components/index.mjs +2 -1
- package/esm2020/lib/components/load-container/load-container.component.mjs +38 -19
- package/esm2020/lib/components/load-container/load-container.enum.mjs +6 -1
- package/esm2020/lib/components/load-container/models/load-container.model.mjs +1 -1
- package/esm2020/lib/components/load-container/models/load-more-parameters.model.mjs +1 -1
- package/esm2020/lib/components/load-container/models/load-more-predicate-parameters.model.mjs +2 -0
- package/esm2020/lib/components/load-container/models/load-more.model.mjs +1 -1
- package/esm2020/lib/components/load-container/service/load-more.service.mjs +4 -4
- package/esm2020/lib/components/load-more-button/load-more-button.component.mjs +2 -2
- package/esm2020/lib/components/loader/bounce/bounce-loader.component.mjs +2 -2
- package/esm2020/lib/components/loader/circle/circle-loader.component.mjs +2 -2
- package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +6 -4
- package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +5 -6
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +24 -12
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.model.mjs +1 -1
- package/esm2020/lib/components/modal/header/default/default-modal-header.component.mjs +5 -4
- package/esm2020/lib/components/modal/header/default/default-modal-header.model.mjs +1 -1
- package/esm2020/lib/components/modal/modal.component.mjs +15 -6
- package/esm2020/lib/components/modal/service/modal.event.mjs +2 -0
- package/esm2020/lib/components/modal/service/modal.service.mjs +14 -9
- package/esm2020/lib/components/pagination/pagination.component.mjs +2 -2
- package/esm2020/lib/components/sorting/sorting.component.mjs +2 -2
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +2 -2
- package/esm2020/lib/constants/common.constants.mjs +2 -1
- package/esm2020/lib/constants/ui.constants.mjs +4 -1
- package/esm2020/lib/directives/if/if.directive.mjs +26 -0
- package/esm2020/lib/directives/index.mjs +2 -1
- package/esm2020/lib/directives/scroll-into-view/scroll-into-view.directive.mjs +18 -8
- package/esm2020/lib/directives/show-hide-element/show-hide-element.directive.mjs +1 -1
- package/esm2020/lib/enums/compare.enum.mjs +10 -0
- package/esm2020/lib/enums/index.mjs +2 -1
- package/esm2020/lib/models/class.model.mjs +2 -0
- package/esm2020/lib/models/index.mjs +2 -0
- package/esm2020/lib/ngx-sfc-common.module.mjs +6 -2
- package/esm2020/lib/utils/collections.utils.mjs +10 -1
- package/esm2020/lib/utils/common.utils.mjs +71 -2
- package/esm2020/lib/utils/date-time.utils.mjs +41 -1
- package/esm2020/lib/utils/file.utils.mjs +24 -1
- package/esm2020/lib/utils/index.mjs +5 -5
- package/fesm2015/ngx-sfc-common.mjs +469 -224
- package/fesm2015/ngx-sfc-common.mjs.map +1 -1
- package/fesm2020/ngx-sfc-common.mjs +465 -223
- package/fesm2020/ngx-sfc-common.mjs.map +1 -1
- package/lib/components/button/button.component.d.ts +4 -3
- package/lib/components/checkmark/checkmark.component.d.ts +1 -2
- package/lib/components/icon/icon.component.d.ts +2 -2
- package/lib/components/index.d.ts +2 -0
- package/lib/components/load-container/load-container.component.d.ts +3 -2
- package/lib/components/load-container/load-container.enum.d.ts +4 -0
- package/lib/components/load-container/models/load-container.model.d.ts +5 -2
- package/lib/components/load-container/models/load-more-parameters.model.d.ts +2 -1
- package/lib/components/load-container/models/load-more-predicate-parameters.model.d.ts +3 -0
- package/lib/components/load-container/models/load-more.model.d.ts +1 -0
- package/lib/components/load-container/service/load-more.service.d.ts +1 -1
- package/lib/components/modal/directive/open/modal-open.directive.d.ts +0 -1
- package/lib/components/modal/footer/default/default-modal-footer.component.d.ts +1 -1
- package/lib/components/modal/footer/default/default-modal-footer.model.d.ts +4 -2
- package/lib/components/modal/header/default/default-modal-header.component.d.ts +1 -1
- package/lib/components/modal/header/default/default-modal-header.model.d.ts +1 -1
- package/lib/components/modal/modal.component.d.ts +5 -3
- package/lib/components/modal/service/modal.event.d.ts +4 -0
- package/lib/components/modal/service/modal.service.d.ts +6 -5
- package/lib/constants/common.constants.d.ts +1 -0
- package/lib/constants/ui.constants.d.ts +3 -0
- package/lib/directives/if/if.directive.d.ts +11 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/scroll-into-view/scroll-into-view.directive.d.ts +6 -2
- package/lib/enums/compare.enum.d.ts +7 -0
- package/lib/enums/index.d.ts +1 -0
- package/lib/models/class.model.d.ts +3 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/ngx-sfc-common.module.d.ts +36 -35
- package/lib/utils/collections.utils.d.ts +7 -0
- package/lib/utils/common.utils.d.ts +7 -0
- package/lib/utils/date-time.utils.d.ts +25 -0
- package/lib/utils/file.utils.d.ts +13 -0
- package/lib/utils/index.d.ts +4 -4
- package/package.json +1 -1
- package/styles/_colors.scss +1 -0
- package/styles/_index.scss +2 -0
- package/styles/_mixins-delimeter.scss +21 -0
- package/styles/_mixins-scroll.scss +38 -0
- package/styles/_mixins.scss +10 -23
- package/styles/_variables.scss +5 -0
- package/styles/themes/_dark.scss +2 -2
- package/styles/themes/_default.scss +2 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { isEqualDateTimes } from './date-time.utils';
|
|
2
3
|
/**
|
|
3
4
|
* Return true if value defined
|
|
4
5
|
* @param value Value to check
|
|
@@ -13,7 +14,9 @@ export function isDefined(value) {
|
|
|
13
14
|
* @returns True if value is object
|
|
14
15
|
*/
|
|
15
16
|
export function isObject(value) {
|
|
16
|
-
return (isDefined(value) && typeof value === 'object'
|
|
17
|
+
return (isDefined(value) && typeof value === 'object'
|
|
18
|
+
&& !Array.isArray(value)
|
|
19
|
+
&& !(value instanceof Date || value instanceof File));
|
|
17
20
|
}
|
|
18
21
|
/**
|
|
19
22
|
* Return true if data is observable
|
|
@@ -112,4 +115,70 @@ export function isEmail(value) {
|
|
|
112
115
|
export function parseBoolean(value) {
|
|
113
116
|
return /^true$/i.test(value);
|
|
114
117
|
}
|
|
115
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Return true if values equal
|
|
120
|
+
* @param obj1 First value to compare
|
|
121
|
+
* @param obj2 Second value to compare
|
|
122
|
+
* @returns True if equal
|
|
123
|
+
*/
|
|
124
|
+
export function isEqual(obj1, obj2) {
|
|
125
|
+
/**
|
|
126
|
+
* More accurately check the type of a JavaScript object
|
|
127
|
+
* @param {Object} obj The object
|
|
128
|
+
* @return {String} The object type
|
|
129
|
+
*/
|
|
130
|
+
function getType(obj) {
|
|
131
|
+
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
|
|
132
|
+
}
|
|
133
|
+
function areArraysEqual() {
|
|
134
|
+
// Check length
|
|
135
|
+
if (obj1.length !== obj2.length)
|
|
136
|
+
return false;
|
|
137
|
+
// Check each item in the array
|
|
138
|
+
for (let i = 0; i < obj1.length; i++) {
|
|
139
|
+
if (!isEqual(obj1[i], obj2[i]))
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
// If no errors, return true
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
function areObjectsEqual() {
|
|
146
|
+
if (Object.keys(obj1).length !== Object.keys(obj2).length)
|
|
147
|
+
return false;
|
|
148
|
+
// Check each item in the object
|
|
149
|
+
for (let key in obj1) {
|
|
150
|
+
if (Object.prototype.hasOwnProperty.call(obj1, key)) {
|
|
151
|
+
if (!isEqual(obj1[key], obj2[key])) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// If no errors, return true
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
function areFunctionsEqual() {
|
|
160
|
+
return obj1.toString() === obj2.toString();
|
|
161
|
+
}
|
|
162
|
+
function arePrimativesEqual() {
|
|
163
|
+
return obj1 === obj2;
|
|
164
|
+
}
|
|
165
|
+
function areDatesEqual() {
|
|
166
|
+
return isEqualDateTimes(obj1, obj2);
|
|
167
|
+
}
|
|
168
|
+
// Get the object type
|
|
169
|
+
let type = getType(obj1);
|
|
170
|
+
// If the two items are not the same type, return false
|
|
171
|
+
if (type !== getType(obj2))
|
|
172
|
+
return false;
|
|
173
|
+
// Compare based on type
|
|
174
|
+
if (type === 'array')
|
|
175
|
+
return areArraysEqual();
|
|
176
|
+
if (type === 'date')
|
|
177
|
+
return areDatesEqual();
|
|
178
|
+
if (type === 'object')
|
|
179
|
+
return areObjectsEqual();
|
|
180
|
+
if (type === 'function')
|
|
181
|
+
return areFunctionsEqual();
|
|
182
|
+
return arePrimativesEqual();
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi91dGlscy9jb21tb24udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBSSxLQUEyQjtJQUNwRCxPQUFVLEtBQUssS0FBSyxTQUFTLElBQU8sS0FBSyxLQUFLLElBQUksQ0FBQztBQUN2RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7V0FDOUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztXQUNyQixDQUFDLENBQUMsS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBUztJQUNqQyxPQUFPLElBQUksWUFBWSxVQUFVLENBQUM7QUFDdEMsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFRLEVBQUUsUUFBZ0IsRUFBRSxRQUFhLElBQUk7SUFDN0UsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3RELElBQUksTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUNyQixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLEdBQUcsR0FBRyxFQUFF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TyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpCLHVEQUF1RDtJQUN2RCxJQUFJLElBQUksS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFekMsd0JBQXdCO0lBQ3hCLElBQUksSUFBSSxLQUFLLE9BQU87UUFBRSxPQUFPLGNBQWMsRUFBRSxDQUFDO0lBRTlDLElBQUksSUFBSSxLQUFLLE1BQU07UUFBRSxPQUFPLGFBQWEsRUFBRSxDQUFDO0lBRTVDLElBQUksSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLGVBQWUsRUFBRSxDQUFDO0lBRWhELElBQUksSUFBSSxLQUFLLFVBQVU7UUFBRSxPQUFPLGlCQUFpQixFQUFFLENBQUM7SUFFcEQsT0FBTyxrQkFBa0IsRUFBRSxDQUFDO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGlzRXF1YWxEYXRlVGltZXMgfSBmcm9tICcuL2RhdGUtdGltZS51dGlscyc7XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgdmFsdWUgZGVmaW5lZFxyXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gY2hlY2tcclxuICogQHJldHVybnMgVHJ1ZSBpZiB2YWx1ZSBpcyBub3QgbnVsbCBhbmQgZGVmaW5lZFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVmaW5lZDxUPih2YWx1ZTogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiA8VD52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIDxUPnZhbHVlICE9PSBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgdmFsdWUgaXMgb2JqZWN0XHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBjaGVja1xyXG4gKiBAcmV0dXJucyBUcnVlIGlmIHZhbHVlIGlzIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoaXNEZWZpbmVkKHZhbHVlKSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXHJcbiAgICAgICAgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpXHJcbiAgICAgICAgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgfHwgdmFsdWUgaW5zdGFuY2VvZiBGaWxlKSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBkYXRhIGlzIG9ic2VydmFibGVcclxuICogQHBhcmFtIGRhdGEgT2JqZWN0IHRvIGNoZWNrXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZGF0YSBpcyBvYnNlcnZhYmxlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNBc3luY0RhdGEoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gZGF0YSBpbnN0YW5jZW9mIE9ic2VydmFibGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gZXh0ZW5kZWQgb2JqZWN0IHdpdGggbmV3IHByb3BlcnR5XHJcbiAqIEBwYXJhbSBvYmogT2JqZWN0IHRvIGV4dGVuZCBieSBwcm9wZXJ0eVxyXG4gKiBAcGFyYW0gcHJvcGVydHkgTmV3IHByb3BlcnR5IG5hbWUgXHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBmb3IgbmV3IHByb3BlcnR5XHJcbiAqIEByZXR1cm5zIEV4dGVuZGVkIG9iamVjdCB3aXRoIG5ldyBwcm9wZXJ0eVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZFByb3BlcnR5VG9PYmplY3Qob2JqOiBhbnksIHByb3BlcnR5OiBzdHJpbmcsIHZhbHVlOiBhbnkgPSBudWxsKTogYW55IHtcclxuICAgIGlmIChpc0RlZmluZWQocHJvcGVydHkpICYmICFvYmouaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XHJcbiAgICAgICAgbGV0IG5ld09iajogYW55ID0ge307XHJcbiAgICAgICAgbmV3T2JqW3Byb3BlcnR5XSA9IHZhbHVlO1xyXG4gICAgICAgIG9iaiA9IHsgLi4ub2JqLCAuLi5uZXdPYmogfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHByb3BlcnR5IGZyb20gb2JqZWN0XHJcbiAqIEBwYXJhbSBvYmogT2JqZWN0IGZvciByZW1vdmluZyBwcm9wZXJ0eVxyXG4gKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgbmFtZSB0byByZW1vdmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQcm9wZXJ0eUZyb21PYmplY3Qob2JqOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XHJcbiAgICAgICAgZGVsZXRlIG9ialtwcm9wZXJ0eV07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gICogRGVlcCBtZXJnZSBvYmplY3Qgd2l0aCBvdGhlcnNcclxuICAqIEBwYXJhbSB0YXJnZXQgT2JqZWN0IHRvIG1lcmdlXHJcbiAgKiBAcGFyYW0gc291cmNlcyBcclxuICAqL1xyXG5cclxuLyoqXHJcbiAqIERlZXAgbWVyZ2Ugb2JqZWN0IHdpdGggb3RoZXJzXHJcbiAqIEBwYXJhbSB0YXJnZXQgIE9iamVjdCB0byBtZXJnZVxyXG4gKiBAcGFyYW0gc291cmNlcyBPYmplY3RzIHRvIGJlIG1lcmdlZCB3aXRoIHRhcmdldFxyXG4gKiBAcmV0dXJucyBNZXJnZWQgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VEZWVwKHRhcmdldDogYW55LCAuLi5zb3VyY2VzOiBhbnlbXSk6IGFueSB7XHJcbiAgICBpZiAoIXNvdXJjZXMubGVuZ3RoKVxyXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XHJcblxyXG4gICAgY29uc3Qgc291cmNlID0gc291cmNlcy5zaGlmdCgpO1xyXG5cclxuICAgIGlmIChpc09iamVjdCh0YXJnZXQpICYmIGlzT2JqZWN0KHNvdXJjZSkpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRba2V5XSkgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHt9IH0pO1xyXG4gICAgICAgICAgICAgICAgbWVyZ2VEZWVwKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRhcmdldCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1lcmdlRGVlcCh0YXJnZXQsIC4uLnNvdXJjZXMpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHR5cGUncyBwcm9wZXJ0eSBuYW1lIHNhZmV0eVxyXG4gKiBAcGFyYW0gbmFtZSBLZXlPZiBwcm9wZXJ0eVxyXG4gKiBAcmV0dXJucyBUeXBlJ3MgcHJvcGVydHkgbmFtZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IG5hbWVvZiA9IDxUPihuYW1lOiBrZXlvZiBUKSA9PiBuYW1lO1xyXG5cclxuLyoqXHJcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgaW5wdXQgaXMgYSBOdW1iZXIgb3Igc29tZXRoaW5nIHRoYXQgY2FuIGJlIGNvZXJjZWQgdG8gYSBOdW1iZXJcclxuICAgKiBAcGFyYW0gLSBUaGUgaW5wdXQgdG8gYmUgdGVzdGVkXHJcbiAgICogQHJldHVybnMgLSBBbiBpbmRpY2F0aW9uIGlmIHRoZSBpbnB1dCBpcyBhIE51bWJlciBvciBjYW4gYmUgY29lcmNlZCB0byBhIE51bWJlclxyXG4gICAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1lcmljKG51bWJlcjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobnVtYmVyKSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBjdXJyZW50IGJyb3dzZXIgaXMgQ2hyb21lXHJcbiAqIEByZXR1cm5zIElmIGN1cnJlbnQgYnJvd3NlciBpcyBDaHJvbWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0Nocm9tZUJyb3dzZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAvR29vZ2xlIEluYy8udGVzdChuYXZpZ2F0b3IudmVuZG9yKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIHZhbHVlIGlzIHZhbGlkIGVtYWlsIGFkZHJlc3NcclxuICogQHJldHVybnMgVHJ1ZSBpZiBpdCdzIHZhbGlkIGVtYWlsIGFkZHJlc3NcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0VtYWlsKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpc0RlZmluZWQodmFsdWUubWF0Y2goXHJcbiAgICAgICAgL14oKFtePD4oKVtcXF1cXFxcLiw7Olxcc0BcXFwiXSsoXFwuW148PigpW1xcXVxcXFwuLDs6XFxzQFxcXCJdKykqKXwoXFxcIi4rXFxcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcXSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC9cclxuICAgICkpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgc3RyaW5nIGlzIFwidHJ1ZVwiXHJcbiAqIEByZXR1cm5zIHBhcnNlZCBzdHJpbmcgYXMgYm9vbGVhblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQm9vbGVhbih2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gL150cnVlJC9pLnRlc3QodmFsdWUpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgdmFsdWVzIGVxdWFsXHJcbiAqIEBwYXJhbSBvYmoxIEZpcnN0IHZhbHVlIHRvIGNvbXBhcmVcclxuICogQHBhcmFtIG9iajIgU2Vjb25kIHZhbHVlIHRvIGNvbXBhcmVcclxuICogQHJldHVybnMgVHJ1ZSBpZiBlcXVhbFxyXG4gKi9cclxuIGV4cG9ydCBmdW5jdGlvbiBpc0VxdWFsKG9iajE6IGFueSwgb2JqMjogYW55KSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb3JlIGFjY3VyYXRlbHkgY2hlY2sgdGhlIHR5cGUgb2YgYSBKYXZhU2NyaXB0IG9iamVjdFxyXG4gICAgICogQHBhcmFtICB7T2JqZWN0fSBvYmogVGhlIG9iamVjdFxyXG4gICAgICogQHJldHVybiB7U3RyaW5nfSAgICAgVGhlIG9iamVjdCB0eXBlXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIGdldFR5cGUob2JqOiBhbnkpIHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopLnNsaWNlKDgsIC0xKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgZnVuY3Rpb24gYXJlQXJyYXlzRXF1YWwoKSB7XHJcbiAgXHJcbiAgICAgIC8vIENoZWNrIGxlbmd0aFxyXG4gICAgICBpZiAob2JqMS5sZW5ndGggIT09IG9iajIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcbiAgXHJcbiAgICAgIC8vIENoZWNrIGVhY2ggaXRlbSBpbiB0aGUgYXJyYXlcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmoxLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKCFpc0VxdWFsKG9iajFbaV0sIG9iajJbaV0pKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgLy8gSWYgbm8gZXJyb3JzLCByZXR1cm4gdHJ1ZVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICBcclxuICAgIH1cclxuICBcclxuICAgIGZ1bmN0aW9uIGFyZU9iamVjdHNFcXVhbCgpIHtcclxuICBcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKG9iajEpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXMob2JqMikubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcbiAgXHJcbiAgICAgIC8vIENoZWNrIGVhY2ggaXRlbSBpbiB0aGUgb2JqZWN0XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiBvYmoxKSB7XHJcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmoxLCBrZXkpKSB7XHJcbiAgICAgICAgICBpZiAoIWlzRXF1YWwob2JqMVtrZXldLCBvYmoyW2tleV0pKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC8vIElmIG5vIGVycm9ycywgcmV0dXJuIHRydWVcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgXHJcbiAgICB9XHJcbiAgXHJcbiAgICBmdW5jdGlvbiBhcmVGdW5jdGlvbnNFcXVhbCgpIHtcclxuICAgICAgcmV0dXJuIG9iajEudG9TdHJpbmcoKSA9PT0gb2JqMi50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgZnVuY3Rpb24gYXJlUHJpbWF0aXZlc0VxdWFsKCkge1xyXG4gICAgICByZXR1cm4gb2JqMSA9PT0gb2JqMjtcclxuICAgIH1cclxuICBcclxuICAgIGZ1bmN0aW9uIGFyZURhdGVzRXF1YWwoKSB7XHJcbiAgICAgIHJldHVybiBpc0VxdWFsRGF0ZVRpbWVzKG9iajEsIG9iajIpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLy8gR2V0IHRoZSBvYmplY3QgdHlwZVxyXG4gICAgbGV0IHR5cGUgPSBnZXRUeXBlKG9iajEpO1xyXG4gIFxyXG4gICAgLy8gSWYgdGhlIHR3byBpdGVtcyBhcmUgbm90IHRoZSBzYW1lIHR5cGUsIHJldHVybiBmYWxzZVxyXG4gICAgaWYgKHR5cGUgIT09IGdldFR5cGUob2JqMikpIHJldHVybiBmYWxzZTtcclxuICBcclxuICAgIC8vIENvbXBhcmUgYmFzZWQgb24gdHlwZVxyXG4gICAgaWYgKHR5cGUgPT09ICdhcnJheScpIHJldHVybiBhcmVBcnJheXNFcXVhbCgpO1xyXG4gIFxyXG4gICAgaWYgKHR5cGUgPT09ICdkYXRlJykgcmV0dXJuIGFyZURhdGVzRXF1YWwoKTtcclxuICBcclxuICAgIGlmICh0eXBlID09PSAnb2JqZWN0JykgcmV0dXJuIGFyZU9iamVjdHNFcXVhbCgpO1xyXG4gIFxyXG4gICAgaWYgKHR5cGUgPT09ICdmdW5jdGlvbicpIHJldHVybiBhcmVGdW5jdGlvbnNFcXVhbCgpO1xyXG4gIFxyXG4gICAgcmV0dXJuIGFyZVByaW1hdGl2ZXNFcXVhbCgpO1xyXG4gIH0iXX0=
|
|
@@ -87,6 +87,16 @@ export function getNextDate(date) {
|
|
|
87
87
|
nextDate.setDate(date.getDate() + 1);
|
|
88
88
|
return nextDate;
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Get previous date
|
|
92
|
+
* @param date Date value
|
|
93
|
+
* @returns Previous date
|
|
94
|
+
*/
|
|
95
|
+
export function getPreviousDate(date) {
|
|
96
|
+
const nextDate = new Date(date);
|
|
97
|
+
nextDate.setDate(date.getDate() - 1);
|
|
98
|
+
return nextDate;
|
|
99
|
+
}
|
|
90
100
|
/**
|
|
91
101
|
* Get next month as date
|
|
92
102
|
* @param date Date value
|
|
@@ -212,6 +222,16 @@ export function isEqualDates(date1, date2) {
|
|
|
212
222
|
date2Value.setHours(0, 0, 0, 0);
|
|
213
223
|
return date1Value.getTime() === date2Value.getTime();
|
|
214
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Return true if first and second datetime are equal
|
|
227
|
+
* @param date1 First datetime value
|
|
228
|
+
* @param date2 Second datetime value
|
|
229
|
+
* @returns True if first and second datetime are equal
|
|
230
|
+
*/
|
|
231
|
+
export function isEqualDateTimes(date1, date2) {
|
|
232
|
+
const date1Value = new Date(date1), date2Value = new Date(date2);
|
|
233
|
+
return date1Value.getTime() === date2Value.getTime();
|
|
234
|
+
}
|
|
215
235
|
/**
|
|
216
236
|
* Return true if first date greater than second date
|
|
217
237
|
* @param date1 First date value
|
|
@@ -252,4 +272,24 @@ export function isDateTimeGreatOrEqual(date1, date2) {
|
|
|
252
272
|
return new Date(date1.getFullYear(), date1.getMonth(), date1.getDate(), date1.getHours(), date1.getMinutes())
|
|
253
273
|
>= new Date(date2.getFullYear(), date2.getMonth(), date2.getDate(), date2.getHours(), date2.getMinutes());
|
|
254
274
|
}
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi91dGlscy9kYXRlLXRpbWUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVSxFQUFFLE1BQWM7SUFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVUsRUFBRSxJQUFZO0lBQzdDLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFVLEVBQUUsU0FBaUI7SUFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQVUsRUFBRSxJQUFZO0lBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVLEVBQUUsS0FBYTtJQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBVSxFQUFFLEtBQWE7SUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxJQUFVO0lBQ3RELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBVTtJQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNwQyxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBVTtJQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFVO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFVO0lBQ2xDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFVO0lBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQVU7SUFDekMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLElBQUksRUFBRTtRQUN6QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQzNCLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ25DO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBVTtJQUN4QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDM0IsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3ZDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBVTtJQUN4QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFO1FBQ3pDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUM3QztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVU7SUFDdkMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLElBQUksRUFBRTtRQUN6QyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDOUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsSUFBWSxFQUFFLEtBQWE7SUFDeEUsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxJQUFZLEVBQUUsS0FBYTtJQUN2RSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLElBQVU7SUFDNUMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQ3pDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFDckMsSUFBSSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQVcsRUFBRSxLQUFXO0lBQ2pELE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUM5QixVQUFVLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhDLE9BQU8sVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUN6RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVcsRUFBRSxLQUFXO0lBQ2hELE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7VUFDakUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBVyxFQUFFLEtBQVc7SUFDdkQsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztXQUNoRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBVyxFQUFFLEtBQVc7SUFDcEQsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFDbEUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztVQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFDN0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUFXLEVBQUUsS0FBVztJQUMzRCxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUNsRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1dBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUM5RCxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lQ29uc3RhbnRzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tIFwiLi9jb21tb24udXRpbHNcIjtcclxuXHJcbi8qKlxyXG4gKiBTZXQgbWludXRlcyBmb3IgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBtaW51dGUgTWludXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIERhdGUgd2l0aCBtaW51dGUgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRNaW51dGVzKGRhdGU6IERhdGUsIG1pbnV0ZTogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIHJlc3VsdC5zZXRNaW51dGVzKG1pbnV0ZSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogU2V0IGhvdXJzIGZvciBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHBhcmFtIGhvdXIgSG91ciB2YWx1ZVxyXG4gKiBAcmV0dXJucyBEYXRlIHdpdGggaG91ciB2YWx1ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldEhvdXJzKGRhdGU6IERhdGUsIGhvdXI6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICByZXN1bHQuc2V0SG91cnMoaG91cik7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogU2V0IGRheSBmb3IgZGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXlOdW1iZXIgRGF5IG51bWJlciBcclxuICogQHJldHVybnMgRGF0ZSB3aXRoIGRheSBudW1iZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXREYXkoZGF0ZTogRGF0ZSwgZGF5TnVtYmVyOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGNvbnN0IG5leHREYXRlID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICBuZXh0RGF0ZS5zZXREYXRlKGRheU51bWJlcik7XHJcbiAgICByZXR1cm4gbmV4dERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZXQgeWVhciBmb3IgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSB5ZWFyIFllYXIgdmFsdWVcclxuICogQHJldHVybnMgRGF0ZSB3aXRoIHllYXIgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRZZWFyKGRhdGU6IERhdGUsIHllYXI6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICByZXN1bHQuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogU2V0IHNlY29uZHMgZm9yIGRhdGVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0gdmFsdWUgU2Vjb25kcyB2YWx1ZVxyXG4gKiBAcmV0dXJucyBEYXRlIHdpdGggbWludXRlIHZhbHVlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0U2Vjb25kcyhkYXRlOiBEYXRlLCB2YWx1ZTogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIHJlc3VsdC5zZXRTZWNvbmRzKHZhbHVlKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZXQgbWlsbGlzZWNvbmRzIGZvciBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHBhcmFtIHZhbHVlIE1pbGxpc2Vjb25kcyB2YWx1ZVxyXG4gKiBAcmV0dXJucyBEYXRlIHdpdGggbWludXRlIHZhbHVlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0TWlsbGlzZWNvbmRzKGRhdGU6IERhdGUsIHZhbHVlOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgcmVzdWx0LnNldE1pbGxpc2Vjb25kcyh2YWx1ZSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogU2V0IDAgZm9yIHNlY29uZHMgYW5kIG1pbGxpc2Vjb25kcyBvZiBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgRGF0ZSB3aXRoIG1pbnV0ZSB2YWx1ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldERlZmF1bHRTZWNvbmRzQW5kTWlsaXNlY29uZHMoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICByZXN1bHQuc2V0U2Vjb25kcygwKTtcclxuICAgIHJlc3VsdC5zZXRNaWxsaXNlY29uZHMoMCk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IG5leHQgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIE5leHQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE5leHREYXRlKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIGNvbnN0IG5leHREYXRlID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICBuZXh0RGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgMSlcclxuICAgIHJldHVybiBuZXh0RGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBuZXh0IG1vbnRoIGFzIGRhdGVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBOZXh0IG1vbnRoIGFzIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0TW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgbmV4dE1vbnRoID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICBuZXh0TW9udGguc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgMSlcclxuICAgIHJldHVybiBuZXh0TW9udGg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgcHJldmlvdXMgbW9udGggYXMgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIFByZXZpb3VzIG1vbnRoIGFzIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmV2aW91c01vbnRoKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIGNvbnN0IHByZXZNb250aCA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgcHJldk1vbnRoLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSAtIDEpO1xyXG4gICAgcmV0dXJuIHByZXZNb250aDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBuZXh0IHllYXIgYXMgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIE5leHQgeWVhciBhcyBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dFllYXIoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgbmV4dFllYXIgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIG5leHRZZWFyLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIDEpO1xyXG4gICAgcmV0dXJuIG5leHRZZWFyO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHByZXZpb3VzIHllYXIgYXMgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIFByZXZpb3VzIHllYXIgYXMgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZXZpb3VzWWVhcihkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBjb25zdCBwcmV2WWVhciA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgcHJldlllYXIuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpIC0gMSk7XHJcbiAgICByZXR1cm4gcHJldlllYXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gZmlyc3QgZGF5IG9mIG1vbnRoIGFzIGRhdGUgZnJvbSBkYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgRmlyc3QgZGF5IG9mIG1vbnRoIGFzIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGaXJzdERheU9mTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgaWYgKGlzRGVmaW5lZChkYXRlKSAmJiBkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgICAgICAgIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gbGFzdCBkYXkgb2YgbW9udGggYXMgZGF0ZSBmcm9tIGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBMYXN0IGRheSBvZiBtb250aCBhcyBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFzdERheU9mTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgaWYgKGlzRGVmaW5lZChkYXRlKSAmJiBkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgICAgICAgIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGZpcnN0IGRheSBvZiB5ZWFyIGFzIGRhdGUgZnJvbSBkYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgRmlyc3QgZGF5IG9mIHllYXIgYXMgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcnN0RGF5T2ZZZWFyKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIGlmIChpc0RlZmluZWQoZGF0ZSkgJiYgZGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBsYXN0IGRheSBvZiB5ZWFyIGFzIGRhdGUgZnJvbSBkYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgTGFzdCBkYXkgb2YgeWVhciBhcyBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFzdERheU9mWWVhcihkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBpZiAoaXNEZWZpbmVkKGRhdGUpICYmIGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMTIsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGZpcnN0IGRheSBvZiBtb250aCBhcyBkYXRlXHJcbiAqIEBwYXJhbSB5ZWFyIFllYXIgdmFsdWVcclxuICogQHBhcmFtIG1vbnRoIE1vbnRoIHZhbHVlXHJcbiAqIEByZXR1cm5zIEZpcnN0IGRheSBvZiBtb250aFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcnN0RGF5T2ZNb250aEJ5WWVhckFuZE1vbnRoKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBsYXN0IGRheSBvZiBtb250aCBhcyBkYXRlXHJcbiAqIEBwYXJhbSB5ZWFyIFllYXIgdmFsdWVcclxuICogQHBhcmFtIG1vbnRoIE1vbnRoIHZhbHVlXHJcbiAqIEByZXR1cm5zIExhc3QgZGF5IG9mIG1vbnRoXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFzdERheU9mTW9udGhCeVllYXJBbmRNb250aCh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIDApO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHdlZWsgbnVtYmVyIGluIG1vbnRoIGZyb20gZGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIFdlZWsgbnVtYmVyXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2Vla3NOdW1iZXJJbk1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZmlyc3RPZk1vbnRoID0gZ2V0Rmlyc3REYXlPZk1vbnRoKGRhdGUpLFxyXG4gICAgICAgIGxhc3RPZk1vbnRoID0gZ2V0TGFzdERheU9mTW9udGgoZGF0ZSksXHJcbiAgICAgICAgdXNlZCA9IGZpcnN0T2ZNb250aC5nZXREYXkoKSArIGxhc3RPZk1vbnRoLmdldERhdGUoKTtcclxuICAgIHJldHVybiBNYXRoLmNlaWwodXNlZCAvIERhdGVUaW1lQ29uc3RhbnRzLkRBWVNfSU5fV0VFSyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmaXJzdCBhbmQgc2Vjb25kIGRhdGUgYXJlIGVxdWFsXHJcbiAqIEBwYXJhbSBkYXRlMSBGaXJzdCBkYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlMiBTZWNvbmQgZGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGZpcnN0IGFuZCBzZWNvbmQgZGF0ZSBhcmUgZXF1YWxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0VxdWFsRGF0ZXMoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBkYXRlMVZhbHVlID0gbmV3IERhdGUoZGF0ZTEpLFxyXG4gICAgICAgIGRhdGUyVmFsdWUgPSBuZXcgRGF0ZShkYXRlMik7XHJcbiAgICBkYXRlMVZhbHVlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG4gICAgZGF0ZTJWYWx1ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuXHJcbiAgICByZXR1cm4gZGF0ZTFWYWx1ZS5nZXRUaW1lKCkgPT09IGRhdGUyVmFsdWUuZ2V0VGltZSgpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgZmlyc3QgZGF0ZSBncmVhdGVyIHRoYW4gc2Vjb25kIGRhdGVcclxuICogQHBhcmFtIGRhdGUxIEZpcnN0IGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUyIFNlY29uZCBkYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZmlyc3QgZGF0ZSBncmVhdGVyIHRoYW4gc2Vjb25kIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVHcmVhdChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpLCBkYXRlMS5nZXREYXRlKCkpXHJcbiAgICAgICAgPiBuZXcgRGF0ZShkYXRlMi5nZXRGdWxsWWVhcigpLCBkYXRlMi5nZXRNb250aCgpLCBkYXRlMi5nZXREYXRlKCkpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgZmlyc3QgZGF0ZSBncmVhdGVyIG9yIGVxdWFsIHRvIHNlY29uZCBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlMSBGaXJzdCBkYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlMiBTZWNvbmQgZGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGZpcnN0IGRhdGUgZ3JlYXRlciBvciBlcXVhbCB0byBzZWNvbmQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUdyZWF0T3JFcXVhbChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpLCBkYXRlMS5nZXREYXRlKCkpXHJcbiAgICAgICAgPj0gbmV3IERhdGUoZGF0ZTIuZ2V0RnVsbFllYXIoKSwgZGF0ZTIuZ2V0TW9udGgoKSwgZGF0ZTIuZ2V0RGF0ZSgpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGZpcnN0IGRhdGUgdGltZSBncmVhdGVyIHRoYW4gc2Vjb25kIGRhdGUgdGltZVxyXG4gKiBAcGFyYW0gZGF0ZTEgRmlyc3QgZGF0ZSB0aW1lIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlMiBTZWNvbmQgZGF0ZSB0aW1lIHZhbHVlXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZmlyc3QgZGF0ZSB0aW1lIGdyZWF0ZXIgdGhhbiBzZWNvbmQgZGF0ZSB0aW1lXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlVGltZUdyZWF0KGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUxLmdldEZ1bGxZZWFyKCksIGRhdGUxLmdldE1vbnRoKCksIGRhdGUxLmdldERhdGUoKSxcclxuICAgICAgICBkYXRlMS5nZXRIb3VycygpLCBkYXRlMS5nZXRNaW51dGVzKCkpXHJcbiAgICAgICAgPiBuZXcgRGF0ZShkYXRlMi5nZXRGdWxsWWVhcigpLCBkYXRlMi5nZXRNb250aCgpLCBkYXRlMi5nZXREYXRlKCksXHJcbiAgICAgICAgICAgIGRhdGUyLmdldEhvdXJzKCksIGRhdGUyLmdldE1pbnV0ZXMoKSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmaXJzdCBkYXRlIHRpbWUgZ3JlYXRlciBvciBlcXVhbCB0byBzZWNvbmQgZGF0ZSB0aW1lXHJcbiAqIEBwYXJhbSBkYXRlMSBGaXJzdCBkYXRlIHRpbWUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUyIFNlY29uZCBkYXRlIHRpbWUgdmFsdWVcclxuICogQHJldHVybnMgVHJ1ZSBpZiBmaXJzdCBkYXRlIHRpbWUgZ3JlYXRlciBvciBlcXVhbCB0byBzZWNvbmQgZGF0ZSB0aW1lXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlVGltZUdyZWF0T3JFcXVhbChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpLCBkYXRlMS5nZXREYXRlKCksXHJcbiAgICAgICAgZGF0ZTEuZ2V0SG91cnMoKSwgZGF0ZTEuZ2V0TWludXRlcygpKVxyXG4gICAgICAgID49IG5ldyBEYXRlKGRhdGUyLmdldEZ1bGxZZWFyKCksIGRhdGUyLmdldE1vbnRoKCksIGRhdGUyLmdldERhdGUoKSxcclxuICAgICAgICAgICAgZGF0ZTIuZ2V0SG91cnMoKSwgZGF0ZTIuZ2V0TWludXRlcygpKTtcclxufSJdfQ==
|
|
275
|
+
/**
|
|
276
|
+
* Convert UTC date to local
|
|
277
|
+
* @param date Date value
|
|
278
|
+
* @returns Locale date
|
|
279
|
+
*/
|
|
280
|
+
export function convertUTCDateToLocalDate(date) {
|
|
281
|
+
return new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Convert Json representation of timestamp to date value
|
|
285
|
+
* @param timestamp Timestamp for example - 12:23:45
|
|
286
|
+
* @returns Date value
|
|
287
|
+
*/
|
|
288
|
+
export function convertTimestampToDate(timestamp) {
|
|
289
|
+
const tempTime = timestamp.split(":"), result = new Date();
|
|
290
|
+
result.setHours(+tempTime[0]);
|
|
291
|
+
result.setMinutes(+tempTime[1]);
|
|
292
|
+
result.setSeconds(+tempTime[2]);
|
|
293
|
+
return result;
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi91dGlscy9kYXRlLXRpbWUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVSxFQUFFLE1BQWM7SUFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVUsRUFBRSxJQUFZO0lBQzdDLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFVLEVBQUUsU0FBaUI7SUFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQVUsRUFBRSxJQUFZO0lBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLE1B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QUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQ2pDLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hCLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlVGltZUNvbnN0YW50cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSBcIi4vY29tbW9uLnV0aWxzXCI7XHJcblxyXG4vKipcclxuICogU2V0IG1pbnV0ZXMgZm9yIGRhdGVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0gbWludXRlIE1pbnV0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBEYXRlIHdpdGggbWludXRlIHZhbHVlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0TWludXRlcyhkYXRlOiBEYXRlLCBtaW51dGU6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICByZXN1bHQuc2V0TWludXRlcyhtaW51dGUpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNldCBob3VycyBmb3IgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBob3VyIEhvdXIgdmFsdWVcclxuICogQHJldHVybnMgRGF0ZSB3aXRoIGhvdXIgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRIb3VycyhkYXRlOiBEYXRlLCBob3VyOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgcmVzdWx0LnNldEhvdXJzKGhvdXIpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNldCBkYXkgZm9yIGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0gZGF5TnVtYmVyIERheSBudW1iZXIgXHJcbiAqIEByZXR1cm5zIERhdGUgd2l0aCBkYXkgbnVtYmVyXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0RGF5KGRhdGU6IERhdGUsIGRheU51bWJlcjogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICBjb25zdCBuZXh0RGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgbmV4dERhdGUuc2V0RGF0ZShkYXlOdW1iZXIpO1xyXG4gICAgcmV0dXJuIG5leHREYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogU2V0IHllYXIgZm9yIGRhdGVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0geWVhciBZZWFyIHZhbHVlXHJcbiAqIEByZXR1cm5zIERhdGUgd2l0aCB5ZWFyIHZhbHVlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0WWVhcihkYXRlOiBEYXRlLCB5ZWFyOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgcmVzdWx0LnNldEZ1bGxZZWFyKHllYXIpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNldCBzZWNvbmRzIGZvciBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHBhcmFtIHZhbHVlIFNlY29uZHMgdmFsdWVcclxuICogQHJldHVybnMgRGF0ZSB3aXRoIG1pbnV0ZSB2YWx1ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlY29uZHMoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICByZXN1bHQuc2V0U2Vjb25kcyh2YWx1ZSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogU2V0IG1pbGxpc2Vjb25kcyBmb3IgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSB2YWx1ZSBNaWxsaXNlY29uZHMgdmFsdWVcclxuICogQHJldHVybnMgRGF0ZSB3aXRoIG1pbnV0ZSB2YWx1ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldE1pbGxpc2Vjb25kcyhkYXRlOiBEYXRlLCB2YWx1ZTogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIHJlc3VsdC5zZXRNaWxsaXNlY29uZHModmFsdWUpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNldCAwIGZvciBzZWNvbmRzIGFuZCBtaWxsaXNlY29uZHMgb2YgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIERhdGUgd2l0aCBtaW51dGUgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXREZWZhdWx0U2Vjb25kc0FuZE1pbGlzZWNvbmRzKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgcmVzdWx0LnNldFNlY29uZHMoMCk7XHJcbiAgICByZXN1bHQuc2V0TWlsbGlzZWNvbmRzKDApO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBuZXh0IGRhdGVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBOZXh0IGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0RGF0ZShkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBjb25zdCBuZXh0RGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgbmV4dERhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIDEpXHJcbiAgICByZXR1cm4gbmV4dERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgcHJldmlvdXMgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIFByZXZpb3VzIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmV2aW91c0RhdGUoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgbmV4dERhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIG5leHREYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgLSAxKVxyXG4gICAgcmV0dXJuIG5leHREYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IG5leHQgbW9udGggYXMgZGF0ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIE5leHQgbW9udGggYXMgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE5leHRNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBjb25zdCBuZXh0TW9udGggPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIG5leHRNb250aC5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyAxKVxyXG4gICAgcmV0dXJuIG5leHRNb250aDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBwcmV2aW91cyBtb250aCBhcyBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgUHJldmlvdXMgbW9udGggYXMgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZXZpb3VzTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgcHJldk1vbnRoID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICBwcmV2TW9udGguc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpIC0gMSk7XHJcbiAgICByZXR1cm4gcHJldk1vbnRoO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IG5leHQgeWVhciBhcyBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgTmV4dCB5ZWFyIGFzIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0WWVhcihkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBjb25zdCBuZXh0WWVhciA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgbmV4dFllYXIuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsgMSk7XHJcbiAgICByZXR1cm4gbmV4dFllYXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgcHJldmlvdXMgeWVhciBhcyBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgUHJldmlvdXMgeWVhciBhcyBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJldmlvdXNZZWFyKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIGNvbnN0IHByZXZZZWFyID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICBwcmV2WWVhci5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCkgLSAxKTtcclxuICAgIHJldHVybiBwcmV2WWVhcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBmaXJzdCBkYXkgb2YgbW9udGggYXMgZGF0ZSBmcm9tIGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBGaXJzdCBkYXkgb2YgbW9udGggYXMgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcnN0RGF5T2ZNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBpZiAoaXNEZWZpbmVkKGRhdGUpICYmIGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgICAgICAgbW9udGggPSBkYXRlLmdldE1vbnRoKCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBsYXN0IGRheSBvZiBtb250aCBhcyBkYXRlIGZyb20gZGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0gZGF0ZSBEYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIExhc3QgZGF5IG9mIG1vbnRoIGFzIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMYXN0RGF5T2ZNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBpZiAoaXNEZWZpbmVkKGRhdGUpICYmIGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgICAgICAgbW9udGggPSBkYXRlLmdldE1vbnRoKCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gZmlyc3QgZGF5IG9mIHllYXIgYXMgZGF0ZSBmcm9tIGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBGaXJzdCBkYXkgb2YgeWVhciBhcyBkYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rmlyc3REYXlPZlllYXIoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgaWYgKGlzRGVmaW5lZChkYXRlKSAmJiBkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIDAsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGxhc3QgZGF5IG9mIHllYXIgYXMgZGF0ZSBmcm9tIGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBMYXN0IGRheSBvZiB5ZWFyIGFzIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMYXN0RGF5T2ZZZWFyKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIGlmIChpc0RlZmluZWQoZGF0ZSkgJiYgZGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCAxMiwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gZmlyc3QgZGF5IG9mIG1vbnRoIGFzIGRhdGVcclxuICogQHBhcmFtIHllYXIgWWVhciB2YWx1ZVxyXG4gKiBAcGFyYW0gbW9udGggTW9udGggdmFsdWVcclxuICogQHJldHVybnMgRmlyc3QgZGF5IG9mIG1vbnRoXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rmlyc3REYXlPZk1vbnRoQnlZZWFyQW5kTW9udGgoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGxhc3QgZGF5IG9mIG1vbnRoIGFzIGRhdGVcclxuICogQHBhcmFtIHllYXIgWWVhciB2YWx1ZVxyXG4gKiBAcGFyYW0gbW9udGggTW9udGggdmFsdWVcclxuICogQHJldHVybnMgTGFzdCBkYXkgb2YgbW9udGhcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMYXN0RGF5T2ZNb250aEJ5WWVhckFuZE1vbnRoKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gd2VlayBudW1iZXIgaW4gbW9udGggZnJvbSBkYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlIERhdGUgdmFsdWVcclxuICogQHJldHVybnMgV2VlayBudW1iZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRXZWVrc051bWJlckluTW9udGgoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICBjb25zdCBmaXJzdE9mTW9udGggPSBnZXRGaXJzdERheU9mTW9udGgoZGF0ZSksXHJcbiAgICAgICAgbGFzdE9mTW9udGggPSBnZXRMYXN0RGF5T2ZNb250aChkYXRlKSxcclxuICAgICAgICB1c2VkID0gZmlyc3RPZk1vbnRoLmdldERheSgpICsgbGFzdE9mTW9udGguZ2V0RGF0ZSgpO1xyXG4gICAgcmV0dXJuIE1hdGguY2VpbCh1c2VkIC8gRGF0ZVRpbWVDb25zdGFudHMuREFZU19JTl9XRUVLKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGZpcnN0IGFuZCBzZWNvbmQgZGF0ZSBhcmUgZXF1YWxcclxuICogQHBhcmFtIGRhdGUxIEZpcnN0IGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUyIFNlY29uZCBkYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZmlyc3QgYW5kIHNlY29uZCBkYXRlIGFyZSBlcXVhbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRXF1YWxEYXRlcyhkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGRhdGUxVmFsdWUgPSBuZXcgRGF0ZShkYXRlMSksXHJcbiAgICAgICAgZGF0ZTJWYWx1ZSA9IG5ldyBEYXRlKGRhdGUyKTtcclxuICAgIGRhdGUxVmFsdWUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICBkYXRlMlZhbHVlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG5cclxuICAgIHJldHVybiBkYXRlMVZhbHVlLmdldFRpbWUoKSA9PT0gZGF0ZTJWYWx1ZS5nZXRUaW1lKCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmaXJzdCBhbmQgc2Vjb25kIGRhdGV0aW1lIGFyZSBlcXVhbFxyXG4gKiBAcGFyYW0gZGF0ZTEgRmlyc3QgZGF0ZXRpbWUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUyIFNlY29uZCBkYXRldGltZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGZpcnN0IGFuZCBzZWNvbmQgZGF0ZXRpbWUgYXJlIGVxdWFsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNFcXVhbERhdGVUaW1lcyhkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGRhdGUxVmFsdWUgPSBuZXcgRGF0ZShkYXRlMSksXHJcbiAgICAgICAgZGF0ZTJWYWx1ZSA9IG5ldyBEYXRlKGRhdGUyKTtcclxuXHJcbiAgICByZXR1cm4gZGF0ZTFWYWx1ZS5nZXRUaW1lKCkgPT09IGRhdGUyVmFsdWUuZ2V0VGltZSgpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgZmlyc3QgZGF0ZSBncmVhdGVyIHRoYW4gc2Vjb25kIGRhdGVcclxuICogQHBhcmFtIGRhdGUxIEZpcnN0IGRhdGUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUyIFNlY29uZCBkYXRlIHZhbHVlXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZmlyc3QgZGF0ZSBncmVhdGVyIHRoYW4gc2Vjb25kIGRhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVHcmVhdChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpLCBkYXRlMS5nZXREYXRlKCkpXHJcbiAgICAgICAgPiBuZXcgRGF0ZShkYXRlMi5nZXRGdWxsWWVhcigpLCBkYXRlMi5nZXRNb250aCgpLCBkYXRlMi5nZXREYXRlKCkpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgZmlyc3QgZGF0ZSBncmVhdGVyIG9yIGVxdWFsIHRvIHNlY29uZCBkYXRlXHJcbiAqIEBwYXJhbSBkYXRlMSBGaXJzdCBkYXRlIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlMiBTZWNvbmQgZGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGZpcnN0IGRhdGUgZ3JlYXRlciBvciBlcXVhbCB0byBzZWNvbmQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUdyZWF0T3JFcXVhbChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpLCBkYXRlMS5nZXREYXRlKCkpXHJcbiAgICAgICAgPj0gbmV3IERhdGUoZGF0ZTIuZ2V0RnVsbFllYXIoKSwgZGF0ZTIuZ2V0TW9udGgoKSwgZGF0ZTIuZ2V0RGF0ZSgpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGZpcnN0IGRhdGUgdGltZSBncmVhdGVyIHRoYW4gc2Vjb25kIGRhdGUgdGltZVxyXG4gKiBAcGFyYW0gZGF0ZTEgRmlyc3QgZGF0ZSB0aW1lIHZhbHVlXHJcbiAqIEBwYXJhbSBkYXRlMiBTZWNvbmQgZGF0ZSB0aW1lIHZhbHVlXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZmlyc3QgZGF0ZSB0aW1lIGdyZWF0ZXIgdGhhbiBzZWNvbmQgZGF0ZSB0aW1lXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlVGltZUdyZWF0KGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUxLmdldEZ1bGxZZWFyKCksIGRhdGUxLmdldE1vbnRoKCksIGRhdGUxLmdldERhdGUoKSxcclxuICAgICAgICBkYXRlMS5nZXRIb3VycygpLCBkYXRlMS5nZXRNaW51dGVzKCkpXHJcbiAgICAgICAgPiBuZXcgRGF0ZShkYXRlMi5nZXRGdWxsWWVhcigpLCBkYXRlMi5nZXRNb250aCgpLCBkYXRlMi5nZXREYXRlKCksXHJcbiAgICAgICAgICAgIGRhdGUyLmdldEhvdXJzKCksIGRhdGUyLmdldE1pbnV0ZXMoKSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmaXJzdCBkYXRlIHRpbWUgZ3JlYXRlciBvciBlcXVhbCB0byBzZWNvbmQgZGF0ZSB0aW1lXHJcbiAqIEBwYXJhbSBkYXRlMSBGaXJzdCBkYXRlIHRpbWUgdmFsdWVcclxuICogQHBhcmFtIGRhdGUyIFNlY29uZCBkYXRlIHRpbWUgdmFsdWVcclxuICogQHJldHVybnMgVHJ1ZSBpZiBmaXJzdCBkYXRlIHRpbWUgZ3JlYXRlciBvciBlcXVhbCB0byBzZWNvbmQgZGF0ZSB0aW1lXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlVGltZUdyZWF0T3JFcXVhbChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpLCBkYXRlMS5nZXREYXRlKCksXHJcbiAgICAgICAgZGF0ZTEuZ2V0SG91cnMoKSwgZGF0ZTEuZ2V0TWludXRlcygpKVxyXG4gICAgICAgID49IG5ldyBEYXRlKGRhdGUyLmdldEZ1bGxZZWFyKCksIGRhdGUyLmdldE1vbnRoKCksIGRhdGUyLmdldERhdGUoKSxcclxuICAgICAgICAgICAgZGF0ZTIuZ2V0SG91cnMoKSwgZGF0ZTIuZ2V0TWludXRlcygpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgVVRDIGRhdGUgdG8gbG9jYWxcclxuICogQHBhcmFtIGRhdGUgRGF0ZSB2YWx1ZVxyXG4gKiBAcmV0dXJucyBMb2NhbGUgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRVVENEYXRlVG9Mb2NhbERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAgKiAxMDAwKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgSnNvbiByZXByZXNlbnRhdGlvbiBvZiB0aW1lc3RhbXAgdG8gZGF0ZSB2YWx1ZVxyXG4gKiBAcGFyYW0gdGltZXN0YW1wIFRpbWVzdGFtcCBmb3IgZXhhbXBsZSAtIDEyOjIzOjQ1XHJcbiAqIEByZXR1cm5zIERhdGUgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VGltZXN0YW1wVG9EYXRlKHRpbWVzdGFtcDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB0ZW1wVGltZSA9IHRpbWVzdGFtcC5zcGxpdChcIjpcIiksXHJcbiAgICAgICAgcmVzdWx0ID0gbmV3IERhdGUoKTtcclxuICAgIHJlc3VsdC5zZXRIb3VycygrdGVtcFRpbWVbMF0pO1xyXG4gICAgcmVzdWx0LnNldE1pbnV0ZXMoK3RlbXBUaW1lWzFdKTtcclxuICAgIHJlc3VsdC5zZXRTZWNvbmRzKCt0ZW1wVGltZVsyXSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59Il19
|
|
@@ -50,4 +50,27 @@ export function readAsDataURL(file, onLoad) {
|
|
|
50
50
|
export function isImage(file) {
|
|
51
51
|
return isDefined(file) && (/\.(gif|jpe?g|jpg|tiff|png|webp|bmp)$/i).test(file.name);
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Convert file to base64 string
|
|
55
|
+
* @param file File value
|
|
56
|
+
* @returns Base64 string
|
|
57
|
+
*/
|
|
58
|
+
export function convertToBase64String(file) {
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
const reader = new FileReader();
|
|
61
|
+
reader.readAsDataURL(file);
|
|
62
|
+
reader.onload = () => resolve(reader.result);
|
|
63
|
+
reader.onerror = reject;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Convert base64 string to file
|
|
68
|
+
* @param base64 Base64 string
|
|
69
|
+
* @param name File name
|
|
70
|
+
* @returns File value
|
|
71
|
+
*/
|
|
72
|
+
export async function convertFromBase64String(base64, name) {
|
|
73
|
+
const res = await fetch(base64), blob = await res.blob(), extension = base64.substring("data:image/".length, base64.indexOf(";base64"));
|
|
74
|
+
return new File([blob], `${name}.${extension}`, { type: `image/${extension}` });
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvdXRpbHMvZmlsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYSxFQUFFLFFBQVEsR0FBRyxDQUFDO0lBQ3JELElBQUksS0FBSyxLQUFLLENBQUM7UUFDWCxPQUFPLEdBQUcsQ0FBQztJQUVmLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNmLE1BQU0sRUFBRSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBELE9BQU8sVUFBVSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFVO0lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ2hCLE9BQU8sZUFBZSxDQUFDLFlBQVksQ0FBQztJQUV4QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxlQUFlLEVBQUU7UUFDNUQsT0FBTyxlQUFlLENBQUMsWUFBWSxDQUFDO0tBQ3ZDO0lBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQVksQ0FBQztBQUNoRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBVSxFQUFFLE1BQXFEO0lBQzNGLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O1FBQ0csTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFVO0lBQzlCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLElBQVU7SUFDNUMsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQWdCLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQUMsTUFBYyxFQUFFLElBQVk7SUFDdEUsTUFBTSxHQUFHLEdBQWEsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQ3JDLElBQUksR0FBUyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFDN0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFbEYsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Db25zdGFudHMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gXCIuL2NvbW1vbi51dGlsc1wiO1xyXG5cclxuLyoqXHJcbiAqIFJldHVybiBwYXJzZWQgZmlsZSBzaXplIGFzIHN0cmluZ1xyXG4gKiBAcGFyYW0gYnl0ZXMgQnl0ZXMgY291bnRcclxuICogQHBhcmFtIGRlY2ltYWxzIFZhbHVlIGFmdGVyIGRvdFxyXG4gKiBAcmV0dXJucyBQYXJzZWQgZmlsZSBzaXplXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGaWxlU2l6ZShieXRlczogbnVtYmVyLCBkZWNpbWFscyA9IDIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGJ5dGVzID09PSAwKVxyXG4gICAgICAgIHJldHVybiAnMCc7XHJcblxyXG4gICAgY29uc3QgayA9IDEwMjQ7XHJcbiAgICBjb25zdCBkbSA9IGRlY2ltYWxzIDwgMCA/IDAgOiBkZWNpbWFscztcclxuICAgIGNvbnN0IHNpemVzID0gWydCeXRlcycsICdLQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xyXG5cclxuICAgIHJldHVybiBwYXJzZUZsb2F0KChieXRlcyAvIE1hdGgucG93KGssIGkpKS50b0ZpeGVkKGRtKSkgKyAnICcgKyBzaXplc1tpXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBmaWxlIGV4dGVuc2lvblxyXG4gKiBAcGFyYW0gZmlsZSBGaWxlIHZhbHVlIFxyXG4gKiBAcmV0dXJucyBGaWxlIGV4dGVuc2lvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWlzRGVmaW5lZChmaWxlKSlcclxuICAgICAgICByZXR1cm4gQ29tbW9uQ29uc3RhbnRzLkVNUFRZX1NUUklORztcclxuXHJcbiAgICBpZiAoZmlsZS5uYW1lLmluZGV4T2YoJy4nKSA9PT0gQ29tbW9uQ29uc3RhbnRzLk5PVF9GT1VORF9JTkRFWCkge1xyXG4gICAgICAgIHJldHVybiBDb21tb25Db25zdGFudHMuRU1QVFlfU1RSSU5HO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKSBhcyBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZWFkIGZpbGUgYXMgZGF0YSBVUkxcclxuICogQHBhcmFtIGZpbGUgRmlsZSB2YWx1ZVxyXG4gKiBAcGFyYW0gb25Mb2FkIE9uIGxvYWQgYWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVhZEFzRGF0YVVSTChmaWxlOiBGaWxlLCBvbkxvYWQ6IChyZXN1bHQ6IHN0cmluZyB8IEFycmF5QnVmZmVyIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgaWYgKGlzRGVmaW5lZChmaWxlKSkge1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IG9uTG9hZChyZWFkZXIucmVzdWx0KTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgIH0gZWxzZVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmlsZSB1dGlscyB8IFJlYWQgYXMgZGF0YSBVUkwgZnVuY3Rpb24gLS0+IEZpbGUgaXMgZW1wdHkuJyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmaWxlIGlzIGltYWdlXHJcbiAqIEBwYXJhbSBmaWxlIEZpbGUgdmFsdWVcclxuICogQHJldHVybnMgVHJ1ZSBpZiBmaWxlIGlzIGltYWdlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNJbWFnZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXNEZWZpbmVkKGZpbGUpICYmICgvXFwuKGdpZnxqcGU/Z3xqcGd8dGlmZnxwbmd8d2VicHxibXApJC9pKS50ZXN0KGZpbGUubmFtZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IGZpbGUgdG8gYmFzZTY0IHN0cmluZ1xyXG4gKiBAcGFyYW0gZmlsZSBGaWxlIHZhbHVlXHJcbiAqIEByZXR1cm5zIEJhc2U2NCBzdHJpbmdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9CYXNlNjRTdHJpbmcoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XHJcbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XHJcbiAgICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgYmFzZTY0IHN0cmluZyB0byBmaWxlXHJcbiAqIEBwYXJhbSBiYXNlNjQgQmFzZTY0IHN0cmluZ1xyXG4gKiBAcGFyYW0gbmFtZSBGaWxlIG5hbWVcclxuICogQHJldHVybnMgRmlsZSB2YWx1ZVxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbnZlcnRGcm9tQmFzZTY0U3RyaW5nKGJhc2U2NDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZpbGU+IHtcclxuICAgIGNvbnN0IHJlczogUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChiYXNlNjQpLFxyXG4gICAgICAgIGJsb2I6IEJsb2IgPSBhd2FpdCByZXMuYmxvYigpLFxyXG4gICAgICAgIGV4dGVuc2lvbiA9IGJhc2U2NC5zdWJzdHJpbmcoXCJkYXRhOmltYWdlL1wiLmxlbmd0aCwgYmFzZTY0LmluZGV4T2YoXCI7YmFzZTY0XCIpKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IEZpbGUoW2Jsb2JdLCBgJHtuYW1lfS4ke2V4dGVuc2lvbn1gLCB7IHR5cGU6IGBpbWFnZS8ke2V4dGVuc2lvbn1gIH0pO1xyXG59Il19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { isDefined, isObject, isAsyncData, addPropertyToObject, removePropertyFromObject, mergeDeep, nameof, isNumeric, isChromeBrowser, isEmail, parseBoolean } from './common.utils';
|
|
1
|
+
export { isDefined, isObject, isAsyncData, addPropertyToObject, removePropertyFromObject, mergeDeep, nameof, isNumeric, isChromeBrowser, isEmail, parseBoolean, isEqual } from './common.utils';
|
|
2
2
|
export { isNullOrEmptyString, contains, trim } from './string.utils';
|
|
3
|
-
export { setMinutes, setHours, setDay, setYear, setSeconds, setMilliseconds, setDefaultSecondsAndMiliseconds, getNextDate, getNextMonth, getPreviousMonth, getNextYear, getPreviousYear, getFirstDayOfMonth, getLastDayOfMonth, getFirstDayOfYear, getLastDayOfYear, getFirstDayOfMonthByYearAndMonth, getLastDayOfMonthByYearAndMonth, getWeeksNumberInMonth, isEqualDates, isDateGreat, isDateGreatOrEqual, isDateTimeGreat, isDateTimeGreatOrEqual } from './date-time.utils';
|
|
4
|
-
export { parseFileSize, getFileExtension, readAsDataURL, isImage } from './file.utils';
|
|
3
|
+
export { setMinutes, setHours, setDay, setYear, setSeconds, setMilliseconds, setDefaultSecondsAndMiliseconds, getNextDate, getPreviousDate, getNextMonth, getPreviousMonth, getNextYear, getPreviousYear, getFirstDayOfMonth, getLastDayOfMonth, getFirstDayOfYear, getLastDayOfYear, getFirstDayOfMonthByYearAndMonth, getLastDayOfMonthByYearAndMonth, getWeeksNumberInMonth, isEqualDates, isEqualDateTimes, isDateGreat, isDateGreatOrEqual, isDateTimeGreat, isDateTimeGreatOrEqual, convertUTCDateToLocalDate, convertTimestampToDate } from './date-time.utils';
|
|
4
|
+
export { parseFileSize, getFileExtension, readAsDataURL, isImage, convertToBase64String, convertFromBase64String } from './file.utils';
|
|
5
5
|
export { getCssLikeValue, getValueFromCssLikeValue, getCalcValue, getRotateValue, addClasses, removeClasses, rgbToHex, hexToRgb, replaceRgbOpacity } from './ui.utils';
|
|
6
|
-
export { any, hasItem, hasItemBy, hasObjectItem, firstOrDefault, firstItem, lastItem, all, where, skip, sort, sortBy, sortByPath, distinct, sum, max, remove, addItem, removeItem, removeItemBy, updateItemBy, getCollectionOrEmpty } from './collections.utils';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
export { any, hasItem, hasItemBy, hasObjectItem, firstOrDefault, firstItem, lastItem, all, where, skip, sort, sortBy, sortByPath, distinct, sum, max, remove, addItem, removeItem, removeItemBy, updateItemBy, getCollectionOrEmpty, count } from './collections.utils';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGVBQWUsRUFDZixPQUFPLEVBQ1AsWUFBWSxFQUNaLE9BQU8sRUFDVixNQUFNLGdCQUFnQixDQUFBO0FBRXZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLElBQUksRUFDUCxNQUFNLGdCQUFnQixDQUFBO0FBRXZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsVUFBVSxFQUNWLGVBQWUsRUFDZiwrQkFBK0IsRUFDL0IsV0FBVyxFQUNYLGVBQWUsRUFDZixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDekIsTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQ0gsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsT0FBTyxFQUNQLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDMUIsTUFBTSxjQUFjLENBQUE7QUFFckIsT0FBTyxFQUNILGVBQWUsRUFDZix3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFFBQVEsRUFDUixRQUFRLEVBQ1IsaUJBQWlCLEVBQ3BCLE1BQU0sWUFBWSxDQUFBO0FBRW5CLE9BQU8sRUFDSCxHQUFHLEVBQ0gsT0FBTyxFQUNQLFNBQVMsRUFDVCxhQUFhLEVBQ2IsY0FBYyxFQUNkLFNBQVMsRUFDVCxRQUFRLEVBQ1IsR0FBRyxFQUNILEtBQUssRUFDTCxJQUFJLEVBQ0osSUFBSSxFQUNKLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUNSLEdBQUcsRUFDSCxHQUFHLEVBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsS0FBSyxFQUNSLE1BQU0scUJBQXFCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xyXG4gICAgaXNEZWZpbmVkLFxyXG4gICAgaXNPYmplY3QsXHJcbiAgICBpc0FzeW5jRGF0YSxcclxuICAgIGFkZFByb3BlcnR5VG9PYmplY3QsXHJcbiAgICByZW1vdmVQcm9wZXJ0eUZyb21PYmplY3QsXHJcbiAgICBtZXJnZURlZXAsXHJcbiAgICBuYW1lb2YsXHJcbiAgICBpc051bWVyaWMsXHJcbiAgICBpc0Nocm9tZUJyb3dzZXIsXHJcbiAgICBpc0VtYWlsLFxyXG4gICAgcGFyc2VCb29sZWFuLFxyXG4gICAgaXNFcXVhbFxyXG59IGZyb20gJy4vY29tbW9uLnV0aWxzJ1xyXG5cclxuZXhwb3J0IHtcclxuICAgIGlzTnVsbE9yRW1wdHlTdHJpbmcsXHJcbiAgICBjb250YWlucyxcclxuICAgIHRyaW1cclxufSBmcm9tICcuL3N0cmluZy51dGlscydcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBzZXRNaW51dGVzLFxyXG4gICAgc2V0SG91cnMsXHJcbiAgICBzZXREYXksXHJcbiAgICBzZXRZZWFyLFxyXG4gICAgc2V0U2Vjb25kcyxcclxuICAgIHNldE1pbGxpc2Vjb25kcyxcclxuICAgIHNldERlZmF1bHRTZWNvbmRzQW5kTWlsaXNlY29uZHMsXHJcbiAgICBnZXROZXh0RGF0ZSxcclxuICAgIGdldFByZXZpb3VzRGF0ZSxcclxuICAgIGdldE5leHRNb250aCxcclxuICAgIGdldFByZXZpb3VzTW9udGgsXHJcbiAgICBnZXROZXh0WWVhcixcclxuICAgIGdldFByZXZpb3VzWWVhcixcclxuICAgIGdldEZpcnN0RGF5T2ZNb250aCxcclxuICAgIGdldExhc3REYXlPZk1vbnRoLFxyXG4gICAgZ2V0Rmlyc3REYXlPZlllYXIsXHJcbiAgICBnZXRMYXN0RGF5T2ZZZWFyLFxyXG4gICAgZ2V0Rmlyc3REYXlPZk1vbnRoQnlZZWFyQW5kTW9udGgsXHJcbiAgICBnZXRMYXN0RGF5T2ZNb250aEJ5WWVhckFuZE1vbnRoLFxyXG4gICAgZ2V0V2Vla3NOdW1iZXJJbk1vbnRoLFxyXG4gICAgaXNFcXVhbERhdGVzLFxyXG4gICAgaXNFcXVhbERhdGVUaW1lcyxcclxuICAgIGlzRGF0ZUdyZWF0LFxyXG4gICAgaXNEYXRlR3JlYXRPckVxdWFsLFxyXG4gICAgaXNEYXRlVGltZUdyZWF0LFxyXG4gICAgaXNEYXRlVGltZUdyZWF0T3JFcXVhbCxcclxuICAgIGNvbnZlcnRVVENEYXRlVG9Mb2NhbERhdGUsXHJcbiAgICBjb252ZXJ0VGltZXN0YW1wVG9EYXRlXHJcbn0gZnJvbSAnLi9kYXRlLXRpbWUudXRpbHMnXHJcblxyXG5leHBvcnQge1xyXG4gICAgcGFyc2VGaWxlU2l6ZSxcclxuICAgIGdldEZpbGVFeHRlbnNpb24sXHJcbiAgICByZWFkQXNEYXRhVVJMLFxyXG4gICAgaXNJbWFnZSxcclxuICAgIGNvbnZlcnRUb0Jhc2U2NFN0cmluZyxcclxuICAgIGNvbnZlcnRGcm9tQmFzZTY0U3RyaW5nXHJcbn0gZnJvbSAnLi9maWxlLnV0aWxzJ1xyXG5cclxuZXhwb3J0IHtcclxuICAgIGdldENzc0xpa2VWYWx1ZSxcclxuICAgIGdldFZhbHVlRnJvbUNzc0xpa2VWYWx1ZSxcclxuICAgIGdldENhbGNWYWx1ZSxcclxuICAgIGdldFJvdGF0ZVZhbHVlLFxyXG4gICAgYWRkQ2xhc3NlcyxcclxuICAgIHJlbW92ZUNsYXNzZXMsXHJcbiAgICByZ2JUb0hleCxcclxuICAgIGhleFRvUmdiLFxyXG4gICAgcmVwbGFjZVJnYk9wYWNpdHlcclxufSBmcm9tICcuL3VpLnV0aWxzJ1xyXG5cclxuZXhwb3J0IHtcclxuICAgIGFueSxcclxuICAgIGhhc0l0ZW0sXHJcbiAgICBoYXNJdGVtQnksXHJcbiAgICBoYXNPYmplY3RJdGVtLFxyXG4gICAgZmlyc3RPckRlZmF1bHQsXHJcbiAgICBmaXJzdEl0ZW0sXHJcbiAgICBsYXN0SXRlbSxcclxuICAgIGFsbCxcclxuICAgIHdoZXJlLFxyXG4gICAgc2tpcCxcclxuICAgIHNvcnQsXHJcbiAgICBzb3J0QnksXHJcbiAgICBzb3J0QnlQYXRoLFxyXG4gICAgZGlzdGluY3QsXHJcbiAgICBzdW0sXHJcbiAgICBtYXgsXHJcbiAgICByZW1vdmUsXHJcbiAgICBhZGRJdGVtLFxyXG4gICAgcmVtb3ZlSXRlbSxcclxuICAgIHJlbW92ZUl0ZW1CeSxcclxuICAgIHVwZGF0ZUl0ZW1CeSxcclxuICAgIGdldENvbGxlY3Rpb25PckVtcHR5LFxyXG4gICAgY291bnRcclxufSBmcm9tICcuL2NvbGxlY3Rpb25zLnV0aWxzJyJdfQ==
|