@igo2/utils 16.0.0-rc.7 → 16.0.0

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.
@@ -4,4 +4,4 @@ export var ChangeType;
4
4
  ChangeType["DELETED"] = "deleted";
5
5
  ChangeType["MODIFIED"] = "modified";
6
6
  })(ChangeType || (ChangeType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvY2hhbmdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGFuZ2VUeXBlIHtcbiAgQURERUQgPSAnYWRkZWQnLFxuICBERUxFVEVEID0gJ2RlbGV0ZWQnLFxuICBNT0RJRklFRCA9ICdtb2RpZmllZCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2Uge1xuICB0eXBlOiBDaGFuZ2VUeXBlO1xuICBrZXlzQ2hhbmdlZD86IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBuZXdWYWx1ZTogYW55O1xuICAgIG9sZFZhbHVlOiBhbnk7XG4gIH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGluZ0NoYW5nZXMge1xuICBhZGRlZDogQ2hhbmdlSXRlbVtdO1xuICBkZWxldGVkOiBDaGFuZ2VJdGVtW107XG4gIG1vZGlmaWVkOiBDaGFuZ2VJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlSXRlbSB7XG4gIGNoYW5nZTogQ2hhbmdlO1xuICB2YWx1ZTogYW55O1xuICBvbGRWYWx1ZT86IGFueTtcbiAgbmV3VmFsdWU/OiBhbnk7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvY2hhbmdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGFuZ2VUeXBlIHtcclxuICBBRERFRCA9ICdhZGRlZCcsXHJcbiAgREVMRVRFRCA9ICdkZWxldGVkJyxcclxuICBNT0RJRklFRCA9ICdtb2RpZmllZCdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2Uge1xyXG4gIHR5cGU6IENoYW5nZVR5cGU7XHJcbiAga2V5c0NoYW5nZWQ/OiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIG5ld1ZhbHVlOiBhbnk7XHJcbiAgICBvbGRWYWx1ZTogYW55O1xyXG4gIH1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cGluZ0NoYW5nZXMge1xyXG4gIGFkZGVkOiBDaGFuZ2VJdGVtW107XHJcbiAgZGVsZXRlZDogQ2hhbmdlSXRlbVtdO1xyXG4gIG1vZGlmaWVkOiBDaGFuZ2VJdGVtW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlSXRlbSB7XHJcbiAgY2hhbmdlOiBDaGFuZ2U7XHJcbiAgdmFsdWU6IGFueTtcclxuICBvbGRWYWx1ZT86IGFueTtcclxuICBuZXdWYWx1ZT86IGFueTtcclxufVxyXG4iXX0=
@@ -49,4 +49,4 @@ export class Clipboard {
49
49
  return false;
50
50
  }
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXFDO1FBQy9DLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN4QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztRQUMzRSxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1FBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVE7UUFDaEMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxFQUFFO1lBQ25DLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFeEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDaEMsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztZQUM5QyxRQUFRLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztTQUNqQzthQUFNO1lBQ0wsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUI7UUFDaEMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLEtBQUssSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDekUsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VyQWdlbnQgfSBmcm9tICcuL3VzZXItYWdlbnQnO1xuXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkIHtcbiAgc3RhdGljIGNvcHkoZWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudCB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBzdWNjZXNzZnVsID0gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgdGV4dEFyZWEgPSBDbGlwYm9hcmQuY3JlYXRlVGV4dEFyZWEoZWxlbWVudCk7XG4gICAgICBDbGlwYm9hcmQuc2VsZWN0VGV4dCh0ZXh0QXJlYSk7XG4gICAgICBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHlUZXh0VG9DbGlwYm9hcmQoKTtcbiAgICAgIENsaXBib2FyZC5kZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBDbGlwYm9hcmQuc2VsZWN0VGV4dChlbGVtZW50KTtcbiAgICAgIHN1Y2Nlc3NmdWwgPSBDbGlwYm9hcmQuY29weVRleHRUb0NsaXBib2FyZCgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2Vzc2Z1bDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVRleHRBcmVhKHRleHQ6IHN0cmluZyk6IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIGNvbnN0IHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dEFyZWEnKSBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICAgIHRleHRBcmVhLnZhbHVlID0gdGV4dDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTtcbiAgICByZXR1cm4gdGV4dEFyZWE7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBkZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpIHtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRBcmVhKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNlbGVjdFRleHQodGV4dEFyZWEpIHtcbiAgICBpZiAodXNlckFnZW50LmdldE9TTmFtZSgpID09PSAnaU9TJykge1xuICAgICAgY29uc3Qgb2xkQ29udGVudEVkaXRhYmxlID0gdGV4dEFyZWEuY29udGVudEVkaXRhYmxlO1xuICAgICAgY29uc3Qgb2xkUmVhZE9ubHkgPSB0ZXh0QXJlYS5yZWFkT25seTtcbiAgICAgIGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcblxuICAgICAgdGV4dEFyZWEuY29udGVudGVkaXRhYmxlID0gdHJ1ZTtcbiAgICAgIHRleHRBcmVhLnJlYWRvbmx5ID0gZmFsc2U7XG4gICAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHModGV4dEFyZWEpO1xuICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbiAgICAgIHRleHRBcmVhLnNldFNlbGVjdGlvblJhbmdlKDAsIDk5OTk5OSk7XG4gICAgICB0ZXh0QXJlYS5jb250ZW50RWRpdGFibGUgPSBvbGRDb250ZW50RWRpdGFibGU7XG4gICAgICB0ZXh0QXJlYS5yZWFkT25seSA9IG9sZFJlYWRPbmx5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZXh0QXJlYS5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjb3B5VGV4dFRvQ2xpcGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIGlmICghKHVzZXJBZ2VudC5nZXRPU05hbWUoKSA9PT0gJ2lPUycgJiYgdXNlckFnZW50LmNvbXBhcmVWZXJzaW9uKCc8MTAnKSkpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXFDO1FBQy9DLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN4QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztRQUMzRSxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1FBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVE7UUFDaEMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxFQUFFO1lBQ25DLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFeEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDaEMsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztZQUM5QyxRQUFRLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztTQUNqQzthQUFNO1lBQ0wsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUI7UUFDaEMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLEtBQUssSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDekUsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VyQWdlbnQgfSBmcm9tICcuL3VzZXItYWdlbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBib2FyZCB7XHJcbiAgc3RhdGljIGNvcHkoZWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHN1Y2Nlc3NmdWwgPSBmYWxzZTtcclxuICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgdGV4dEFyZWEgPSBDbGlwYm9hcmQuY3JlYXRlVGV4dEFyZWEoZWxlbWVudCk7XHJcbiAgICAgIENsaXBib2FyZC5zZWxlY3RUZXh0KHRleHRBcmVhKTtcclxuICAgICAgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5VGV4dFRvQ2xpcGJvYXJkKCk7XHJcbiAgICAgIENsaXBib2FyZC5kZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgQ2xpcGJvYXJkLnNlbGVjdFRleHQoZWxlbWVudCk7XHJcbiAgICAgIHN1Y2Nlc3NmdWwgPSBDbGlwYm9hcmQuY29weVRleHRUb0NsaXBib2FyZCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1Y2Nlc3NmdWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVUZXh0QXJlYSh0ZXh0OiBzdHJpbmcpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcclxuICAgIGNvbnN0IHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dEFyZWEnKSBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgdGV4dEFyZWEudmFsdWUgPSB0ZXh0O1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSk7XHJcbiAgICByZXR1cm4gdGV4dEFyZWE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBkZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpIHtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dEFyZWEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0VGV4dCh0ZXh0QXJlYSkge1xyXG4gICAgaWYgKHVzZXJBZ2VudC5nZXRPU05hbWUoKSA9PT0gJ2lPUycpIHtcclxuICAgICAgY29uc3Qgb2xkQ29udGVudEVkaXRhYmxlID0gdGV4dEFyZWEuY29udGVudEVkaXRhYmxlO1xyXG4gICAgICBjb25zdCBvbGRSZWFkT25seSA9IHRleHRBcmVhLnJlYWRPbmx5O1xyXG4gICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcclxuXHJcbiAgICAgIHRleHRBcmVhLmNvbnRlbnRlZGl0YWJsZSA9IHRydWU7XHJcbiAgICAgIHRleHRBcmVhLnJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0ZXh0QXJlYSk7XHJcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcclxuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcclxuICAgICAgdGV4dEFyZWEuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgOTk5OTk5KTtcclxuICAgICAgdGV4dEFyZWEuY29udGVudEVkaXRhYmxlID0gb2xkQ29udGVudEVkaXRhYmxlO1xyXG4gICAgICB0ZXh0QXJlYS5yZWFkT25seSA9IG9sZFJlYWRPbmx5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGV4dEFyZWEuc2VsZWN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjb3B5VGV4dFRvQ2xpcGJvYXJkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCEodXNlckFnZW50LmdldE9TTmFtZSgpID09PSAnaU9TJyAmJiB1c2VyQWdlbnQuY29tcGFyZVZlcnNpb24oJzwxMCcpKSkge1xyXG4gICAgICByZXR1cm4gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -5,4 +5,4 @@ export function strEnum(o) {
5
5
  return res;
6
6
  }, Object.create(null));
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvc3RyZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLE9BQU8sQ0FBbUIsQ0FBVztJQUNuRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDM0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNmLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFV0aWxpdHkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgSzpWIGZyb20gYSBsaXN0IG9mIHN0cmluZ3MgKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJFbnVtPFQgZXh0ZW5kcyBzdHJpbmc+KG86IEFycmF5PFQ+KTogeyBbSyBpbiBUXTogSyB9IHtcbiAgcmV0dXJuIG8ucmVkdWNlKChyZXMsIGtleSkgPT4ge1xuICAgIHJlc1trZXldID0ga2V5O1xuICAgIHJldHVybiByZXM7XG4gIH0sIE9iamVjdC5jcmVhdGUobnVsbCkpO1xufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvc3RyZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLE9BQU8sQ0FBbUIsQ0FBVztJQUNuRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDM0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNmLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFV0aWxpdHkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgSzpWIGZyb20gYSBsaXN0IG9mIHN0cmluZ3MgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHN0ckVudW08VCBleHRlbmRzIHN0cmluZz4obzogQXJyYXk8VD4pOiB7IFtLIGluIFRdOiBLIH0ge1xyXG4gIHJldHVybiBvLnJlZHVjZSgocmVzLCBrZXkpID0+IHtcclxuICAgIHJlc1trZXldID0ga2V5O1xyXG4gICAgcmV0dXJuIHJlcztcclxuICB9LCBPYmplY3QuY3JlYXRlKG51bGwpKTtcclxufVxyXG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import * as Bowser from 'bowser';
2
2
  export const userAgent = Bowser.getParser(window.navigator.userAgent);
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvdXNlci1hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQU1qQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FDdkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEJvd3NlciBmcm9tICdib3dzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJBZ2VudCBleHRlbmRzIEJvd3Nlci5QYXJzZXIuUGFyc2VyIHtcbiAgY29tcGFyZVZlcnNpb246ICh2ZXJzaW9uOiBzdHJpbmcpID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCB1c2VyQWdlbnQgPSBCb3dzZXIuZ2V0UGFyc2VyKFxuICB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudFxuKSBhcyBVc2VyQWdlbnQ7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvdXNlci1hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQU1qQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FDdkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEJvd3NlciBmcm9tICdib3dzZXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyQWdlbnQgZXh0ZW5kcyBCb3dzZXIuUGFyc2VyLlBhcnNlciB7XHJcbiAgY29tcGFyZVZlcnNpb246ICh2ZXJzaW9uOiBzdHJpbmcpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VyQWdlbnQgPSBCb3dzZXIuZ2V0UGFyc2VyKFxyXG4gIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50XHJcbikgYXMgVXNlckFnZW50O1xyXG4iXX0=
@@ -6,4 +6,4 @@ export function uuid() {
6
6
  const id = `${S4()}${S4()}-${S4()}-${S4()}-${S4()}-${S4()}${S4()}${S4()}`;
7
7
  return id.toLowerCase();
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvdXVpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsRUFBRTtJQUNoQixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUk7SUFDbEIsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFFLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gUzQoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gIHJldHVybiAoKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKSB8IDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1dWlkKCkge1xuICBjb25zdCBpZCA9IGAke1M0KCl9JHtTNCgpfS0ke1M0KCl9LSR7UzQoKX0tJHtTNCgpfS0ke1M0KCl9JHtTNCgpfSR7UzQoKX1gO1xuICByZXR1cm4gaWQudG9Mb3dlckNhc2UoKTtcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvdXVpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsRUFBRTtJQUNoQixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUk7SUFDbEIsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFFLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gUzQoKSB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2VcclxuICByZXR1cm4gKCgoMSArIE1hdGgucmFuZG9tKCkpICogMHgxMDAwMCkgfCAwKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXVpZCgpIHtcclxuICBjb25zdCBpZCA9IGAke1M0KCl9JHtTNCgpfS0ke1M0KCl9LSR7UzQoKX0tJHtTNCgpfS0ke1M0KCl9JHtTNCgpfSR7UzQoKX1gO1xyXG4gIHJldHVybiBpZC50b0xvd2VyQ2FzZSgpO1xyXG59XHJcbiJdfQ==
@@ -2,4 +2,4 @@
2
2
  * Public API Surface of utils
3
3
  */
4
4
  export * from './lib';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHV0aWxzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdXRpbHNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYic7XHJcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-utils.mjs","sources":["../../../packages/utils/src/lib/base64.ts","../../../packages/utils/src/lib/cache.utils.ts","../../../packages/utils/src/lib/user-agent.ts","../../../packages/utils/src/lib/clipboard.ts","../../../packages/utils/src/lib/change.interface.ts","../../../packages/utils/src/lib/string-utils.ts","../../../packages/utils/src/lib/change.ts","../../../packages/utils/src/lib/dom.utils.ts","../../../packages/utils/src/lib/file.ts","../../../packages/utils/src/lib/object-utils.ts","../../../packages/utils/src/lib/number-utils.ts","../../../packages/utils/src/lib/strenum.ts","../../../packages/utils/src/lib/theme.utils.ts","../../../packages/utils/src/lib/uuid.ts","../../../packages/utils/src/lib/watcher.ts","../../../packages/utils/src/public_api.ts","../../../packages/utils/src/igo2-utils.ts"],"sourcesContent":["/* eslint-disable */\r\n\r\nconst ALPHA =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n\r\nexport class Base64 {\r\n private static PADCHAR: string = '=';\r\n private static ALPHA: string = ALPHA;\r\n\r\n private static getByte(s: string, i: number): number {\r\n const x = s.charCodeAt(i);\r\n return x;\r\n }\r\n\r\n private static getByte64(s: string, i: number): number {\r\n const idx = this.ALPHA.indexOf(s.charAt(i));\r\n return idx;\r\n }\r\n\r\n public static decode(s: string): string {\r\n let pads = 0,\r\n i,\r\n b10,\r\n imax = s.length,\r\n x = [];\r\n\r\n s = String(s);\r\n\r\n if (imax === 0) {\r\n return s;\r\n }\r\n\r\n if (s.charAt(imax - 1) === this.PADCHAR) {\r\n pads = 1;\r\n if (s.charAt(imax - 2) === this.PADCHAR) {\r\n pads = 2;\r\n }\r\n imax -= 4;\r\n }\r\n\r\n for (i = 0; i < imax; i += 4) {\r\n b10 =\r\n (this.getByte64(s, i) << 18) |\r\n (this.getByte64(s, i + 1) << 12) |\r\n (this.getByte64(s, i + 2) << 6) |\r\n this.getByte64(s, i + 3);\r\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255, b10 & 255));\r\n }\r\n\r\n switch (pads) {\r\n case 1:\r\n b10 =\r\n (this.getByte64(s, i) << 18) |\r\n (this.getByte64(s, i + 1) << 12) |\r\n (this.getByte64(s, i + 2) << 6);\r\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255));\r\n break;\r\n case 2:\r\n b10 = (this.getByte64(s, i) << 18) | (this.getByte64(s, i + 1) << 12);\r\n x.push(String.fromCharCode(b10 >> 16));\r\n break;\r\n }\r\n\r\n return x.join('');\r\n }\r\n\r\n public static encode(s: string): string {\r\n s = String(s);\r\n\r\n let i,\r\n b10,\r\n x = [],\r\n imax = s.length - (s.length % 3);\r\n\r\n if (s.length === 0) {\r\n return s;\r\n }\r\n\r\n for (i = 0; i < imax; i += 3) {\r\n b10 =\r\n (this.getByte(s, i) << 16) |\r\n (this.getByte(s, i + 1) << 8) |\r\n this.getByte(s, i + 2);\r\n x.push(this.ALPHA.charAt(b10 >> 18));\r\n x.push(this.ALPHA.charAt((b10 >> 12) & 63));\r\n x.push(this.ALPHA.charAt((b10 >> 6) & 63));\r\n x.push(this.ALPHA.charAt(b10 & 63));\r\n }\r\n\r\n switch (s.length - imax) {\r\n case 1:\r\n b10 = this.getByte(s, i) << 16;\r\n x.push(\r\n this.ALPHA.charAt(b10 >> 18) +\r\n this.ALPHA.charAt((b10 >> 12) & 63) +\r\n this.PADCHAR +\r\n this.PADCHAR\r\n );\r\n break;\r\n case 2:\r\n b10 = (this.getByte(s, i) << 16) | (this.getByte(s, i + 1) << 8);\r\n x.push(\r\n this.ALPHA.charAt(b10 >> 18) +\r\n this.ALPHA.charAt((b10 >> 12) & 63) +\r\n this.ALPHA.charAt((b10 >> 6) & 63) +\r\n this.PADCHAR\r\n );\r\n break;\r\n }\r\n\r\n return x.join('');\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\n\r\nexport function customCacheHasher(parameters: unknown[]): unknown[] {\r\n return parameters.map((param) => {\r\n if (param instanceof HttpParams) {\r\n return param.toString();\r\n }\r\n return param !== undefined ? JSON.parse(JSON.stringify(param)) : param;\r\n });\r\n}\r\n","import * as Bowser from 'bowser';\n\nexport interface UserAgent extends Bowser.Parser.Parser {\n compareVersion: (version: string) => boolean;\n}\n\nexport const userAgent = Bowser.getParser(\n window.navigator.userAgent\n) as UserAgent;\n","import { userAgent } from './user-agent';\n\nexport class Clipboard {\n static copy(element: HTMLTextAreaElement | string): boolean {\n let successful = false;\n if (typeof element === 'string') {\n const textArea = Clipboard.createTextArea(element);\n Clipboard.selectText(textArea);\n successful = Clipboard.copyTextToClipboard();\n Clipboard.destroyTextArea(textArea);\n } else {\n Clipboard.selectText(element);\n successful = Clipboard.copyTextToClipboard();\n }\n return successful;\n }\n\n private static createTextArea(text: string): HTMLTextAreaElement {\n const textArea = document.createElement('textArea') as HTMLTextAreaElement;\n textArea.value = text;\n document.body.appendChild(textArea);\n return textArea;\n }\n\n private static destroyTextArea(textArea) {\n document.body.removeChild(textArea);\n }\n\n private static selectText(textArea) {\n if (userAgent.getOSName() === 'iOS') {\n const oldContentEditable = textArea.contentEditable;\n const oldReadOnly = textArea.readOnly;\n const range = document.createRange();\n const selection = window.getSelection();\n\n textArea.contenteditable = true;\n textArea.readonly = false;\n range.selectNodeContents(textArea);\n selection.removeAllRanges();\n selection.addRange(range);\n textArea.setSelectionRange(0, 999999);\n textArea.contentEditable = oldContentEditable;\n textArea.readOnly = oldReadOnly;\n } else {\n textArea.select();\n }\n }\n\n private static copyTextToClipboard(): boolean {\n if (!(userAgent.getOSName() === 'iOS' && userAgent.compareVersion('<10'))) {\n return document.execCommand('copy');\n }\n return false;\n }\n}\n","export enum ChangeType {\n ADDED = 'added',\n DELETED = 'deleted',\n MODIFIED = 'modified'\n}\n\nexport interface Change {\n type: ChangeType;\n keysChanged?: {\n key: string;\n newValue: any;\n oldValue: any;\n }[];\n}\n\nexport interface GroupingChanges {\n added: ChangeItem[];\n deleted: ChangeItem[];\n modified: ChangeItem[];\n}\n\nexport interface ChangeItem {\n change: Change;\n value: any;\n oldValue?: any;\n newValue?: any;\n}\n","export class StringUtils {\r\n static diff(s1: string, s2: string, p = 4): string {\r\n if (!s1 && !s2) {\r\n return '';\r\n }\r\n if (!s1) {\r\n return '<span class=\"inserted\">' + s2 + '</span>';\r\n }\r\n if (!s2) {\r\n return '<span class=\"deleted\">' + s1 + '</span>';\r\n }\r\n s1 = s1.toString();\r\n s2 = s2.toString();\r\n const changeData = StringUtils.getChanges(s1, s2, '', p);\r\n const nextS = s2.slice(\r\n changeData.mtc.length + changeData.ins.length + changeData.sbs.length\r\n ); // remaining part of \"s\"\r\n const nextThis = s1.slice(\r\n changeData.mtc.length + changeData.del.length + changeData.sbs.length\r\n ); // remaining part of \"this\"\r\n let result = ''; // the glorious result\r\n if (changeData.del.length > 0) {\r\n changeData.del = '<span class=\"deleted\">' + changeData.del + '</span>';\r\n }\r\n if (changeData.ins.length > 0) {\r\n changeData.ins = '<span class=\"inserted\">' + changeData.ins + '</span>';\r\n }\r\n result = changeData.mtc + changeData.del + changeData.ins + changeData.sbs;\r\n result +=\r\n nextThis !== '' || nextS !== ''\r\n ? StringUtils.diff(nextThis, nextS, p)\r\n : '';\r\n return result;\r\n }\r\n\r\n private static getMatchingSubstring(s, l, m) {\r\n // returns the first matching substring in-between the two strings\r\n let i = 0;\r\n let match = false;\r\n const slen = s.length;\r\n const o = { fis: slen, mtc: m, sbs: '' }; // temporary object used to construct the cd (change data) object\r\n\r\n while (i < slen) {\r\n l[i] === s[i]\r\n ? match\r\n ? (o.sbs += s[i]) // o.sbs holds the matching substring itsef\r\n : ((match = true), (o.fis = i), (o.sbs = s[i]))\r\n : match\r\n ? (i = slen) // stop after the first found substring\r\n : (i = i);\r\n ++i;\r\n }\r\n return o;\r\n }\r\n\r\n private static getChanges(s1, s2, m, p) {\r\n const isThisLonger = s1.length >= s1.length ? true : false;\r\n let [longer, shorter] = isThisLonger ? [s1, s2] : [s2, s1]; // assignment of longer and shorter by es6 destructuring\r\n let bi = 0; // base index designating the index of first mismacthing character in both strings\r\n\r\n while (shorter[bi] === longer[bi] && bi < shorter.length) {\r\n ++bi;\r\n } // make bi the index of first mismatching character\r\n longer = longer.split('').slice(bi); // as the longer string will be rotated it is converted into array\r\n shorter = shorter.slice(bi); // shorter and longer now starts from the first mismatching character\r\n\r\n const len = longer.length; // length of the longer string\r\n let cd: any = {\r\n fis: shorter.length, // the index of matching string in the shorter string\r\n fil: len, // the index of matching string in the longer string\r\n sbs: '', // the matching substring itself\r\n mtc: m + s2.slice(0, bi)\r\n }; // if exists mtc holds the matching string at the front\r\n let sub: any = { sbs: '' }; // returned substring per 1 character rotation of the longer string\r\n\r\n if (shorter !== '') {\r\n for (let rc = 0; rc < len && sub.sbs.length < p; rc++) {\r\n // rc -> rotate count, p -> precision factor\r\n sub = StringUtils.getMatchingSubstring(\r\n shorter,\r\n StringUtils.rotateArray(longer, rc),\r\n cd.mtc\r\n ); // rotate longer string 1 char and get substring\r\n sub.fil =\r\n rc < len - sub.fis\r\n ? sub.fis + rc // mismatch is longer than the mismatch in short\r\n : sub.fis - len + rc; // mismatch is shorter than the mismatch in short\r\n if (sub.sbs.length > cd.sbs.length) {\r\n cd = sub; // only keep the one with the longest substring.\r\n }\r\n }\r\n }\r\n // insert the mismatching delete subsrt and insert substr to the cd object and attach the previous substring\r\n [cd.del, cd.ins] = isThisLonger\r\n ? [longer.slice(0, cd.fil).join(''), shorter.slice(0, cd.fis)]\r\n : [shorter.slice(0, cd.fis), longer.slice(0, cd.fil).join('')];\r\n return cd.del.indexOf(' ') === -1 ||\r\n cd.ins.indexOf(' ') === -1 ||\r\n cd.del === '' ||\r\n cd.ins === '' ||\r\n cd.sbs === ''\r\n ? cd\r\n : StringUtils.getChanges(cd.del, cd.ins, cd.mtc, p);\r\n }\r\n\r\n private static rotateArray(array, n) {\r\n const len = array.length;\r\n const res = new Array(array.length);\r\n if (n % len === 0) {\r\n return array.slice();\r\n } else {\r\n for (let i = 0; i < len; i++) {\r\n res[i] = array[(i + (len + (n % len))) % len];\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n static isValidNumber(value: string): boolean {\r\n return !isNaN(Number(value));\r\n }\r\n\r\n static isOctalNumber(value: string): boolean {\r\n return (\r\n StringUtils.isValidNumber(value) &&\r\n value.startsWith('0') &&\r\n value.length > 1\r\n );\r\n }\r\n}\r\n","import { ChangeType, GroupingChanges } from './change.interface';\r\nimport { StringUtils } from './string-utils';\r\n\r\nexport class ChangeUtils {\r\n static findChanges(\r\n obj1: any[],\r\n obj2: any[],\r\n ignoreKeys: string[] = []\r\n ): GroupingChanges {\r\n const items: GroupingChanges = {\r\n added: [],\r\n deleted: [],\r\n modified: []\r\n };\r\n\r\n if (!obj1 || !obj2) {\r\n return items;\r\n }\r\n\r\n const obj1Clone: any = [...obj1];\r\n const obj2Clone: any = [...obj2];\r\n\r\n for (const fromItem of obj1Clone) {\r\n const index = obj2Clone.findIndex((s) => s.id === fromItem.id);\r\n\r\n if (index === -1) {\r\n items.deleted.push({\r\n change: { type: ChangeType.DELETED },\r\n value: fromItem\r\n });\r\n continue;\r\n }\r\n\r\n const toItem = obj2Clone.splice(index, 1)[0];\r\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\r\n const toItemClone = JSON.parse(JSON.stringify(toItem));\r\n\r\n const keysChanged = ChangeUtils.compareObject(\r\n fromItemClone,\r\n toItemClone,\r\n undefined,\r\n ignoreKeys\r\n );\r\n\r\n if (keysChanged.length) {\r\n items.modified.push({\r\n change: {\r\n type: ChangeType.MODIFIED,\r\n keysChanged\r\n },\r\n value: fromItemClone,\r\n oldValue: fromItem,\r\n newValue: toItem\r\n });\r\n }\r\n }\r\n\r\n items.added = obj2Clone.map((itemAdded) => {\r\n return {\r\n change: { type: ChangeType.ADDED },\r\n value: itemAdded\r\n };\r\n });\r\n\r\n return items;\r\n }\r\n\r\n private static compareObject(fromItem, toItem, baseKey?, ignoreKeys = []) {\r\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\r\n const toItemClone = JSON.parse(JSON.stringify(toItem));\r\n\r\n const keys: any = new Set([\r\n ...Object.keys(fromItem),\r\n ...Object.keys(toItem)\r\n ]);\r\n let keysChanged = [];\r\n keys.forEach((key) => {\r\n const keyString = baseKey ? `${baseKey}.${key}` : key;\r\n if (ignoreKeys.indexOf(keyString) !== -1) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(fromItem[key])) {\r\n fromItem[key] = fromItem[key].join(',<br>');\r\n }\r\n if (Array.isArray(toItem[key])) {\r\n toItem[key] = toItem[key].join(',<br>');\r\n }\r\n\r\n if (\r\n typeof fromItem[key] === 'object' &&\r\n typeof toItem[key] === 'object' &&\r\n fromItem[key] !== null &&\r\n toItem[key] !== null\r\n ) {\r\n keysChanged = keysChanged.concat(\r\n this.compareObject(fromItem[key], toItem[key], keyString)\r\n );\r\n } else {\r\n if (fromItem[key] !== toItem[key]) {\r\n keysChanged.push({\r\n key: keyString,\r\n oldValue: fromItemClone[key],\r\n newValue: toItemClone[key]\r\n });\r\n fromItem[key] = StringUtils.diff(fromItem[key], toItem[key]);\r\n }\r\n }\r\n });\r\n\r\n return keysChanged;\r\n }\r\n}\r\n","export class DomUtils {\r\n static create<K extends keyof HTMLElementTagNameMap>(\r\n doc: Document,\r\n tagName: K,\r\n options?: Partial<HTMLElementTagNameMap[K]>\r\n ): HTMLElementTagNameMap[K] {\r\n const el = doc.createElement(tagName);\r\n\r\n for (const key in options) {\r\n el[key] = options[key];\r\n }\r\n\r\n return el;\r\n }\r\n\r\n static remove(node: HTMLElement | SVGElement): void {\r\n if (!node.parentNode) {\r\n return;\r\n }\r\n node.parentNode.removeChild(node);\r\n }\r\n}\r\n","/**\r\n * Trigger download of a file\r\n *\r\n * @param content File content\r\n * @param mimeType File mime type\r\n * @param fileName File name\r\n */\r\nexport function downloadContent(\r\n content: string,\r\n mimeType: string,\r\n fileName: string\r\n) {\r\n const uri = `data:${mimeType},${encodeURIComponent(content)}`;\r\n downloadFromUri(uri, fileName);\r\n}\r\n\r\n/**\r\n * Trigger download of a file\r\n *\r\n * @param content File content\r\n * @param mimeType File mime type\r\n * @param fileName File name\r\n */\r\nexport function downloadFromUri(uri: string, fileName: string) {\r\n const element = document.createElement('a');\r\n element.setAttribute('href', uri);\r\n element.setAttribute('download', fileName);\r\n element.style.display = 'none';\r\n document.body.appendChild(element);\r\n\r\n element.click();\r\n\r\n document.body.removeChild(element);\r\n}\r\n","export class ObjectUtils {\r\n static resolve(obj: object, key: string): any {\r\n const keysArray = key.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\r\n let current = obj;\r\n while (keysArray.length) {\r\n if (typeof current !== 'object') {\r\n return undefined;\r\n }\r\n current = current[keysArray.shift()];\r\n }\r\n\r\n return current;\r\n }\r\n\r\n static isObject(item: object) {\r\n return (\r\n item &&\r\n typeof item === 'object' &&\r\n !Array.isArray(item) &&\r\n item !== null &&\r\n !(item instanceof Date)\r\n );\r\n }\r\n\r\n static mergeDeep(\r\n target: object,\r\n source: object,\r\n ignoreUndefined = false\r\n ): any {\r\n const output = Object.assign({}, target);\r\n if (ObjectUtils.isObject(target) && ObjectUtils.isObject(source)) {\r\n Object.keys(source)\r\n .filter((key) => !ignoreUndefined || source[key] !== undefined)\r\n .forEach((key) => {\r\n if (ObjectUtils.isObject(source[key])) {\r\n if (!(key in target)) {\r\n Object.assign(output, { [key]: source[key] });\r\n } else {\r\n output[key] = ObjectUtils.mergeDeep(\r\n target[key],\r\n source[key],\r\n ignoreUndefined\r\n );\r\n }\r\n } else {\r\n Object.assign(output, { [key]: source[key] });\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n\r\n static copyDeep(src): any {\r\n const target = Array.isArray(src) ? [] : {};\r\n for (const prop in src) {\r\n if (src.hasOwnProperty(prop)) {\r\n const value = src[prop];\r\n if (value && typeof value === 'object') {\r\n target[prop] = this.copyDeep(value);\r\n } else {\r\n target[prop] = value;\r\n }\r\n }\r\n }\r\n return target;\r\n }\r\n\r\n static removeDuplicateCaseInsensitive(obj: object) {\r\n const summaryCapitalizeObject = {};\r\n const capitalizeObject = {};\r\n const upperCaseCount = [];\r\n\r\n for (const property in obj) {\r\n if (obj.hasOwnProperty(property)) {\r\n const upperCaseProperty = property.toUpperCase();\r\n if (!summaryCapitalizeObject.hasOwnProperty(upperCaseProperty)) {\r\n summaryCapitalizeObject[upperCaseProperty] = [\r\n { [property]: obj[property] }\r\n ];\r\n } else {\r\n summaryCapitalizeObject[upperCaseProperty].push({\r\n [property]: obj[property]\r\n });\r\n }\r\n // counting the number of uppercase lettersMna\r\n upperCaseCount.push({\r\n key: property,\r\n count: property.replace(/[^A-Z]/g, '').length\r\n });\r\n }\r\n }\r\n for (const capitalizedProperty in summaryCapitalizeObject) {\r\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\r\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\r\n const capitalizedPropertyObject =\r\n summaryCapitalizeObject[capitalizedProperty];\r\n if (capitalizedPropertyObject.length === 1) {\r\n // for single params (no duplicates)\r\n const singlePossibility = capitalizedPropertyObject[0];\r\n capitalizeObject[capitalizedProperty] =\r\n singlePossibility[Object.keys(singlePossibility)[0]];\r\n } else if (capitalizedPropertyObject.length > 1) {\r\n // defining the closest to lowercase property\r\n const paramClosestToLowercase = upperCaseCount\r\n .filter(\r\n (f) => f.key.toLowerCase() === capitalizedProperty.toLowerCase()\r\n )\r\n .reduce((prev, current) => {\r\n return prev.y < current.y ? prev : current;\r\n });\r\n capitalizeObject[paramClosestToLowercase.key.toUpperCase()] =\r\n obj[paramClosestToLowercase.key];\r\n }\r\n }\r\n }\r\n }\r\n for (const property in obj) {\r\n if (obj.hasOwnProperty(property)) {\r\n delete obj[property];\r\n }\r\n }\r\n\r\n for (const property in capitalizeObject) {\r\n if (capitalizeObject.hasOwnProperty(property)) {\r\n obj[property] = capitalizeObject[property];\r\n }\r\n }\r\n }\r\n\r\n static removeUndefined(obj: object): any {\r\n const output = {};\r\n if (ObjectUtils.isObject(obj)) {\r\n Object.keys(obj)\r\n .filter((key) => obj[key] !== undefined)\r\n .forEach((key) => {\r\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\r\n output[key] = ObjectUtils.removeUndefined(obj[key]);\r\n } else {\r\n output[key] = obj[key];\r\n }\r\n });\r\n\r\n return output;\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map((o) => ObjectUtils.removeUndefined(o));\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n static removeNull(obj: object): any {\r\n const output = {};\r\n if (ObjectUtils.isObject(obj)) {\r\n Object.keys(obj)\r\n .filter((key) => obj[key] !== null)\r\n .forEach((key) => {\r\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\r\n output[key] = ObjectUtils.removeNull(obj[key]);\r\n } else {\r\n output[key] = obj[key];\r\n }\r\n });\r\n\r\n return output;\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map((o) => ObjectUtils.removeNull(o));\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n static naturalCompare(a, b, direction = 'asc', nullsFirst?: boolean) {\r\n if (direction === 'desc') {\r\n b = [a, (a = b)][0];\r\n }\r\n\r\n // nullsFirst = undefined : end if direction = 'asc', first if direction = 'desc'\r\n // nullsFirst = true : always first\r\n // nullsFirst = false : always end\r\n if (\r\n a === null ||\r\n a === '' ||\r\n a === undefined ||\r\n b === null ||\r\n b === '' ||\r\n b === undefined\r\n ) {\r\n const nullScore =\r\n a === b\r\n ? 0\r\n : a === undefined\r\n ? 3\r\n : b === undefined\r\n ? -3\r\n : a === null\r\n ? 2\r\n : b === null\r\n ? -2\r\n : a === ''\r\n ? 1\r\n : -1;\r\n if (direction === 'desc') {\r\n return nullsFirst !== false ? nullScore : nullScore * -1;\r\n }\r\n return nullsFirst === true ? nullScore * -1 : nullScore;\r\n }\r\n\r\n const ax = [];\r\n const bx = [];\r\n a = '' + a;\r\n b = '' + b;\r\n\r\n a.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\r\n ax.push([$1 || Infinity, $2 || '']);\r\n });\r\n\r\n b.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\r\n bx.push([$1 || Infinity, $2 || '']);\r\n });\r\n\r\n while (ax.length && bx.length) {\r\n const an = ax.shift();\r\n const bn = bx.shift();\r\n const nn = an[0] - bn[0] || an[1].localeCompare(bn[1]);\r\n if (nn) {\r\n return nn;\r\n }\r\n }\r\n\r\n return ax.length - bx.length;\r\n }\r\n\r\n /**\r\n * Return true if two object are equivalent.\r\n * Objects are considered equivalent if they have the same properties and\r\n * if all of their properties (first-level only) share the same value.\r\n * @param obj1 First object\r\n * @param obj2 Second object\r\n * @returns Whether two objects arer equivalent\r\n */\r\n static objectsAreEquivalent(obj1: object, obj2: object): boolean {\r\n if (obj1 === obj2) {\r\n return true;\r\n }\r\n\r\n const obj1Props = Object.getOwnPropertyNames(obj1);\r\n const obj2Props = Object.getOwnPropertyNames(obj2);\r\n if (obj1Props.length !== obj2Props.length) {\r\n return false;\r\n }\r\n\r\n for (const prop of obj1Props) {\r\n if (obj1[prop] !== obj2[prop]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Return a new object with an array of keys removed\r\n * @param obj Source object\r\n * @param keys Keys to remove\r\n * @returns A new object\r\n */\r\n static removeKeys(obj: object, keys: string[]): object {\r\n const newObj = Object.keys(obj)\r\n .filter((key) => keys.indexOf(key) < 0)\r\n .reduce((_obj, key) => {\r\n _obj[key] = obj[key];\r\n return _obj;\r\n }, {});\r\n\r\n return newObj;\r\n }\r\n\r\n static isEmpty(obj: object): boolean {\r\n return Object.keys(obj).length === 0;\r\n }\r\n}\r\n","export class NumberUtils {\r\n static roundToNDecimal(num: number, decimal: number = 3): number {\r\n const roundFactor = Math.pow(10, decimal);\r\n return Math.round(num * roundFactor) / roundFactor;\r\n }\r\n}\r\n","/** Utility function to create a K:V from a list of strings */\nexport function strEnum<T extends string>(o: Array<T>): { [K in T]: K } {\n return o.reduce((res, key) => {\n res[key] = key;\n return res;\n }, Object.create(null));\n}\n","import { DomUtils } from './dom.utils';\r\n\r\nconst PATH_PREBUILT_THEMES = 'assets/igo2/core/theming/prebuilt-themes';\r\nconst LINK_ID = 'theme-styles';\r\n\r\nexport function loadTheme(\r\n doc: Document,\r\n themeName: string,\r\n path: string = PATH_PREBUILT_THEMES\r\n): void {\r\n const src = `${path}/${themeName}.css`;\r\n const head = doc.getElementsByTagName('head')[0];\r\n\r\n let themeLink = doc.getElementById(LINK_ID) as HTMLLinkElement;\r\n themeLink ? (themeLink.href = src) : createHtmlLink(doc, src, head);\r\n}\r\n\r\nfunction createHtmlLink(doc: Document, src: string, parent: HTMLElement): void {\r\n const element = DomUtils.create(doc, 'link', {\r\n id: LINK_ID,\r\n rel: 'stylesheet',\r\n href: src\r\n });\r\n parent.appendChild(element);\r\n}\r\n","export function S4() {\n // eslint-disable-next-line no-bitwise\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n}\n\nexport function uuid() {\n const id = `${S4()}${S4()}-${S4()}-${S4()}-${S4()}-${S4()}${S4()}${S4()}`;\n return id.toLowerCase();\n}\n","import { Subject, Subscription } from 'rxjs';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport enum SubjectStatus {\r\n Error = 0,\r\n Done = 1,\r\n Working = 2,\r\n Waiting = 3\r\n}\r\n\r\nexport abstract class Watcher {\r\n public status$ = new Subject<SubjectStatus>();\r\n protected status$$: Subscription;\r\n\r\n get status(): SubjectStatus {\r\n return this._status;\r\n }\r\n set status(value: SubjectStatus) {\r\n this._status = value;\r\n this.status$.next(value);\r\n }\r\n private _status: SubjectStatus;\r\n\r\n protected abstract watch();\r\n\r\n protected abstract unwatch();\r\n\r\n subscribe(callback: Function, scope?: any) {\r\n this.watch();\r\n\r\n this.status$$ = this.status$\r\n .pipe(distinctUntilChanged())\r\n .subscribe((status: SubjectStatus) => {\r\n this.handleStatusChange(status);\r\n callback.call(scope, this);\r\n });\r\n }\r\n\r\n unsubscribe() {\r\n this.unwatch();\r\n if (this.status$$ !== undefined) {\r\n this.status$$.unsubscribe();\r\n this.status$$ = undefined;\r\n }\r\n this.status = SubjectStatus.Waiting;\r\n }\r\n\r\n protected handleStatusChange(status: SubjectStatus) {}\r\n}\r\n","/*\n * Public API Surface of utils\n */\n\nexport * from './lib';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igo2-utils.mjs","sources":["../../../packages/utils/src/lib/base64.ts","../../../packages/utils/src/lib/cache.utils.ts","../../../packages/utils/src/lib/user-agent.ts","../../../packages/utils/src/lib/clipboard.ts","../../../packages/utils/src/lib/change.interface.ts","../../../packages/utils/src/lib/string-utils.ts","../../../packages/utils/src/lib/change.ts","../../../packages/utils/src/lib/dom.utils.ts","../../../packages/utils/src/lib/file.ts","../../../packages/utils/src/lib/object-utils.ts","../../../packages/utils/src/lib/number-utils.ts","../../../packages/utils/src/lib/strenum.ts","../../../packages/utils/src/lib/theme.utils.ts","../../../packages/utils/src/lib/uuid.ts","../../../packages/utils/src/lib/watcher.ts","../../../packages/utils/src/public_api.ts","../../../packages/utils/src/igo2-utils.ts"],"sourcesContent":["/* eslint-disable */\r\n\r\nconst ALPHA =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n\r\nexport class Base64 {\r\n private static PADCHAR: string = '=';\r\n private static ALPHA: string = ALPHA;\r\n\r\n private static getByte(s: string, i: number): number {\r\n const x = s.charCodeAt(i);\r\n return x;\r\n }\r\n\r\n private static getByte64(s: string, i: number): number {\r\n const idx = this.ALPHA.indexOf(s.charAt(i));\r\n return idx;\r\n }\r\n\r\n public static decode(s: string): string {\r\n let pads = 0,\r\n i,\r\n b10,\r\n imax = s.length,\r\n x = [];\r\n\r\n s = String(s);\r\n\r\n if (imax === 0) {\r\n return s;\r\n }\r\n\r\n if (s.charAt(imax - 1) === this.PADCHAR) {\r\n pads = 1;\r\n if (s.charAt(imax - 2) === this.PADCHAR) {\r\n pads = 2;\r\n }\r\n imax -= 4;\r\n }\r\n\r\n for (i = 0; i < imax; i += 4) {\r\n b10 =\r\n (this.getByte64(s, i) << 18) |\r\n (this.getByte64(s, i + 1) << 12) |\r\n (this.getByte64(s, i + 2) << 6) |\r\n this.getByte64(s, i + 3);\r\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255, b10 & 255));\r\n }\r\n\r\n switch (pads) {\r\n case 1:\r\n b10 =\r\n (this.getByte64(s, i) << 18) |\r\n (this.getByte64(s, i + 1) << 12) |\r\n (this.getByte64(s, i + 2) << 6);\r\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255));\r\n break;\r\n case 2:\r\n b10 = (this.getByte64(s, i) << 18) | (this.getByte64(s, i + 1) << 12);\r\n x.push(String.fromCharCode(b10 >> 16));\r\n break;\r\n }\r\n\r\n return x.join('');\r\n }\r\n\r\n public static encode(s: string): string {\r\n s = String(s);\r\n\r\n let i,\r\n b10,\r\n x = [],\r\n imax = s.length - (s.length % 3);\r\n\r\n if (s.length === 0) {\r\n return s;\r\n }\r\n\r\n for (i = 0; i < imax; i += 3) {\r\n b10 =\r\n (this.getByte(s, i) << 16) |\r\n (this.getByte(s, i + 1) << 8) |\r\n this.getByte(s, i + 2);\r\n x.push(this.ALPHA.charAt(b10 >> 18));\r\n x.push(this.ALPHA.charAt((b10 >> 12) & 63));\r\n x.push(this.ALPHA.charAt((b10 >> 6) & 63));\r\n x.push(this.ALPHA.charAt(b10 & 63));\r\n }\r\n\r\n switch (s.length - imax) {\r\n case 1:\r\n b10 = this.getByte(s, i) << 16;\r\n x.push(\r\n this.ALPHA.charAt(b10 >> 18) +\r\n this.ALPHA.charAt((b10 >> 12) & 63) +\r\n this.PADCHAR +\r\n this.PADCHAR\r\n );\r\n break;\r\n case 2:\r\n b10 = (this.getByte(s, i) << 16) | (this.getByte(s, i + 1) << 8);\r\n x.push(\r\n this.ALPHA.charAt(b10 >> 18) +\r\n this.ALPHA.charAt((b10 >> 12) & 63) +\r\n this.ALPHA.charAt((b10 >> 6) & 63) +\r\n this.PADCHAR\r\n );\r\n break;\r\n }\r\n\r\n return x.join('');\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\n\r\nexport function customCacheHasher(parameters: unknown[]): unknown[] {\r\n return parameters.map((param) => {\r\n if (param instanceof HttpParams) {\r\n return param.toString();\r\n }\r\n return param !== undefined ? JSON.parse(JSON.stringify(param)) : param;\r\n });\r\n}\r\n","import * as Bowser from 'bowser';\r\n\r\nexport interface UserAgent extends Bowser.Parser.Parser {\r\n compareVersion: (version: string) => boolean;\r\n}\r\n\r\nexport const userAgent = Bowser.getParser(\r\n window.navigator.userAgent\r\n) as UserAgent;\r\n","import { userAgent } from './user-agent';\r\n\r\nexport class Clipboard {\r\n static copy(element: HTMLTextAreaElement | string): boolean {\r\n let successful = false;\r\n if (typeof element === 'string') {\r\n const textArea = Clipboard.createTextArea(element);\r\n Clipboard.selectText(textArea);\r\n successful = Clipboard.copyTextToClipboard();\r\n Clipboard.destroyTextArea(textArea);\r\n } else {\r\n Clipboard.selectText(element);\r\n successful = Clipboard.copyTextToClipboard();\r\n }\r\n return successful;\r\n }\r\n\r\n private static createTextArea(text: string): HTMLTextAreaElement {\r\n const textArea = document.createElement('textArea') as HTMLTextAreaElement;\r\n textArea.value = text;\r\n document.body.appendChild(textArea);\r\n return textArea;\r\n }\r\n\r\n private static destroyTextArea(textArea) {\r\n document.body.removeChild(textArea);\r\n }\r\n\r\n private static selectText(textArea) {\r\n if (userAgent.getOSName() === 'iOS') {\r\n const oldContentEditable = textArea.contentEditable;\r\n const oldReadOnly = textArea.readOnly;\r\n const range = document.createRange();\r\n const selection = window.getSelection();\r\n\r\n textArea.contenteditable = true;\r\n textArea.readonly = false;\r\n range.selectNodeContents(textArea);\r\n selection.removeAllRanges();\r\n selection.addRange(range);\r\n textArea.setSelectionRange(0, 999999);\r\n textArea.contentEditable = oldContentEditable;\r\n textArea.readOnly = oldReadOnly;\r\n } else {\r\n textArea.select();\r\n }\r\n }\r\n\r\n private static copyTextToClipboard(): boolean {\r\n if (!(userAgent.getOSName() === 'iOS' && userAgent.compareVersion('<10'))) {\r\n return document.execCommand('copy');\r\n }\r\n return false;\r\n }\r\n}\r\n","export enum ChangeType {\r\n ADDED = 'added',\r\n DELETED = 'deleted',\r\n MODIFIED = 'modified'\r\n}\r\n\r\nexport interface Change {\r\n type: ChangeType;\r\n keysChanged?: {\r\n key: string;\r\n newValue: any;\r\n oldValue: any;\r\n }[];\r\n}\r\n\r\nexport interface GroupingChanges {\r\n added: ChangeItem[];\r\n deleted: ChangeItem[];\r\n modified: ChangeItem[];\r\n}\r\n\r\nexport interface ChangeItem {\r\n change: Change;\r\n value: any;\r\n oldValue?: any;\r\n newValue?: any;\r\n}\r\n","export class StringUtils {\r\n static diff(s1: string, s2: string, p = 4): string {\r\n if (!s1 && !s2) {\r\n return '';\r\n }\r\n if (!s1) {\r\n return '<span class=\"inserted\">' + s2 + '</span>';\r\n }\r\n if (!s2) {\r\n return '<span class=\"deleted\">' + s1 + '</span>';\r\n }\r\n s1 = s1.toString();\r\n s2 = s2.toString();\r\n const changeData = StringUtils.getChanges(s1, s2, '', p);\r\n const nextS = s2.slice(\r\n changeData.mtc.length + changeData.ins.length + changeData.sbs.length\r\n ); // remaining part of \"s\"\r\n const nextThis = s1.slice(\r\n changeData.mtc.length + changeData.del.length + changeData.sbs.length\r\n ); // remaining part of \"this\"\r\n let result = ''; // the glorious result\r\n if (changeData.del.length > 0) {\r\n changeData.del = '<span class=\"deleted\">' + changeData.del + '</span>';\r\n }\r\n if (changeData.ins.length > 0) {\r\n changeData.ins = '<span class=\"inserted\">' + changeData.ins + '</span>';\r\n }\r\n result = changeData.mtc + changeData.del + changeData.ins + changeData.sbs;\r\n result +=\r\n nextThis !== '' || nextS !== ''\r\n ? StringUtils.diff(nextThis, nextS, p)\r\n : '';\r\n return result;\r\n }\r\n\r\n private static getMatchingSubstring(s, l, m) {\r\n // returns the first matching substring in-between the two strings\r\n let i = 0;\r\n let match = false;\r\n const slen = s.length;\r\n const o = { fis: slen, mtc: m, sbs: '' }; // temporary object used to construct the cd (change data) object\r\n\r\n while (i < slen) {\r\n l[i] === s[i]\r\n ? match\r\n ? (o.sbs += s[i]) // o.sbs holds the matching substring itsef\r\n : ((match = true), (o.fis = i), (o.sbs = s[i]))\r\n : match\r\n ? (i = slen) // stop after the first found substring\r\n : (i = i);\r\n ++i;\r\n }\r\n return o;\r\n }\r\n\r\n private static getChanges(s1, s2, m, p) {\r\n const isThisLonger = s1.length >= s1.length ? true : false;\r\n let [longer, shorter] = isThisLonger ? [s1, s2] : [s2, s1]; // assignment of longer and shorter by es6 destructuring\r\n let bi = 0; // base index designating the index of first mismacthing character in both strings\r\n\r\n while (shorter[bi] === longer[bi] && bi < shorter.length) {\r\n ++bi;\r\n } // make bi the index of first mismatching character\r\n longer = longer.split('').slice(bi); // as the longer string will be rotated it is converted into array\r\n shorter = shorter.slice(bi); // shorter and longer now starts from the first mismatching character\r\n\r\n const len = longer.length; // length of the longer string\r\n let cd: any = {\r\n fis: shorter.length, // the index of matching string in the shorter string\r\n fil: len, // the index of matching string in the longer string\r\n sbs: '', // the matching substring itself\r\n mtc: m + s2.slice(0, bi)\r\n }; // if exists mtc holds the matching string at the front\r\n let sub: any = { sbs: '' }; // returned substring per 1 character rotation of the longer string\r\n\r\n if (shorter !== '') {\r\n for (let rc = 0; rc < len && sub.sbs.length < p; rc++) {\r\n // rc -> rotate count, p -> precision factor\r\n sub = StringUtils.getMatchingSubstring(\r\n shorter,\r\n StringUtils.rotateArray(longer, rc),\r\n cd.mtc\r\n ); // rotate longer string 1 char and get substring\r\n sub.fil =\r\n rc < len - sub.fis\r\n ? sub.fis + rc // mismatch is longer than the mismatch in short\r\n : sub.fis - len + rc; // mismatch is shorter than the mismatch in short\r\n if (sub.sbs.length > cd.sbs.length) {\r\n cd = sub; // only keep the one with the longest substring.\r\n }\r\n }\r\n }\r\n // insert the mismatching delete subsrt and insert substr to the cd object and attach the previous substring\r\n [cd.del, cd.ins] = isThisLonger\r\n ? [longer.slice(0, cd.fil).join(''), shorter.slice(0, cd.fis)]\r\n : [shorter.slice(0, cd.fis), longer.slice(0, cd.fil).join('')];\r\n return cd.del.indexOf(' ') === -1 ||\r\n cd.ins.indexOf(' ') === -1 ||\r\n cd.del === '' ||\r\n cd.ins === '' ||\r\n cd.sbs === ''\r\n ? cd\r\n : StringUtils.getChanges(cd.del, cd.ins, cd.mtc, p);\r\n }\r\n\r\n private static rotateArray(array, n) {\r\n const len = array.length;\r\n const res = new Array(array.length);\r\n if (n % len === 0) {\r\n return array.slice();\r\n } else {\r\n for (let i = 0; i < len; i++) {\r\n res[i] = array[(i + (len + (n % len))) % len];\r\n }\r\n }\r\n return res;\r\n }\r\n\r\n static isValidNumber(value: string): boolean {\r\n return !isNaN(Number(value));\r\n }\r\n\r\n static isOctalNumber(value: string): boolean {\r\n return (\r\n StringUtils.isValidNumber(value) &&\r\n value.startsWith('0') &&\r\n value.length > 1\r\n );\r\n }\r\n}\r\n","import { ChangeType, GroupingChanges } from './change.interface';\r\nimport { StringUtils } from './string-utils';\r\n\r\nexport class ChangeUtils {\r\n static findChanges(\r\n obj1: any[],\r\n obj2: any[],\r\n ignoreKeys: string[] = []\r\n ): GroupingChanges {\r\n const items: GroupingChanges = {\r\n added: [],\r\n deleted: [],\r\n modified: []\r\n };\r\n\r\n if (!obj1 || !obj2) {\r\n return items;\r\n }\r\n\r\n const obj1Clone: any = [...obj1];\r\n const obj2Clone: any = [...obj2];\r\n\r\n for (const fromItem of obj1Clone) {\r\n const index = obj2Clone.findIndex((s) => s.id === fromItem.id);\r\n\r\n if (index === -1) {\r\n items.deleted.push({\r\n change: { type: ChangeType.DELETED },\r\n value: fromItem\r\n });\r\n continue;\r\n }\r\n\r\n const toItem = obj2Clone.splice(index, 1)[0];\r\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\r\n const toItemClone = JSON.parse(JSON.stringify(toItem));\r\n\r\n const keysChanged = ChangeUtils.compareObject(\r\n fromItemClone,\r\n toItemClone,\r\n undefined,\r\n ignoreKeys\r\n );\r\n\r\n if (keysChanged.length) {\r\n items.modified.push({\r\n change: {\r\n type: ChangeType.MODIFIED,\r\n keysChanged\r\n },\r\n value: fromItemClone,\r\n oldValue: fromItem,\r\n newValue: toItem\r\n });\r\n }\r\n }\r\n\r\n items.added = obj2Clone.map((itemAdded) => {\r\n return {\r\n change: { type: ChangeType.ADDED },\r\n value: itemAdded\r\n };\r\n });\r\n\r\n return items;\r\n }\r\n\r\n private static compareObject(fromItem, toItem, baseKey?, ignoreKeys = []) {\r\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\r\n const toItemClone = JSON.parse(JSON.stringify(toItem));\r\n\r\n const keys: any = new Set([\r\n ...Object.keys(fromItem),\r\n ...Object.keys(toItem)\r\n ]);\r\n let keysChanged = [];\r\n keys.forEach((key) => {\r\n const keyString = baseKey ? `${baseKey}.${key}` : key;\r\n if (ignoreKeys.indexOf(keyString) !== -1) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(fromItem[key])) {\r\n fromItem[key] = fromItem[key].join(',<br>');\r\n }\r\n if (Array.isArray(toItem[key])) {\r\n toItem[key] = toItem[key].join(',<br>');\r\n }\r\n\r\n if (\r\n typeof fromItem[key] === 'object' &&\r\n typeof toItem[key] === 'object' &&\r\n fromItem[key] !== null &&\r\n toItem[key] !== null\r\n ) {\r\n keysChanged = keysChanged.concat(\r\n this.compareObject(fromItem[key], toItem[key], keyString)\r\n );\r\n } else {\r\n if (fromItem[key] !== toItem[key]) {\r\n keysChanged.push({\r\n key: keyString,\r\n oldValue: fromItemClone[key],\r\n newValue: toItemClone[key]\r\n });\r\n fromItem[key] = StringUtils.diff(fromItem[key], toItem[key]);\r\n }\r\n }\r\n });\r\n\r\n return keysChanged;\r\n }\r\n}\r\n","export class DomUtils {\r\n static create<K extends keyof HTMLElementTagNameMap>(\r\n doc: Document,\r\n tagName: K,\r\n options?: Partial<HTMLElementTagNameMap[K]>\r\n ): HTMLElementTagNameMap[K] {\r\n const el = doc.createElement(tagName);\r\n\r\n for (const key in options) {\r\n el[key] = options[key];\r\n }\r\n\r\n return el;\r\n }\r\n\r\n static remove(node: HTMLElement | SVGElement): void {\r\n if (!node.parentNode) {\r\n return;\r\n }\r\n node.parentNode.removeChild(node);\r\n }\r\n}\r\n","/**\r\n * Trigger download of a file\r\n *\r\n * @param content File content\r\n * @param mimeType File mime type\r\n * @param fileName File name\r\n */\r\nexport function downloadContent(\r\n content: string,\r\n mimeType: string,\r\n fileName: string\r\n) {\r\n const uri = `data:${mimeType},${encodeURIComponent(content)}`;\r\n downloadFromUri(uri, fileName);\r\n}\r\n\r\n/**\r\n * Trigger download of a file\r\n *\r\n * @param content File content\r\n * @param mimeType File mime type\r\n * @param fileName File name\r\n */\r\nexport function downloadFromUri(uri: string, fileName: string) {\r\n const element = document.createElement('a');\r\n element.setAttribute('href', uri);\r\n element.setAttribute('download', fileName);\r\n element.style.display = 'none';\r\n document.body.appendChild(element);\r\n\r\n element.click();\r\n\r\n document.body.removeChild(element);\r\n}\r\n","export class ObjectUtils {\r\n static resolve(obj: object, key: string): any {\r\n const keysArray = key.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\r\n let current = obj;\r\n while (keysArray.length) {\r\n if (typeof current !== 'object') {\r\n return undefined;\r\n }\r\n current = current[keysArray.shift()];\r\n }\r\n\r\n return current;\r\n }\r\n\r\n static isObject(item: object) {\r\n return (\r\n item &&\r\n typeof item === 'object' &&\r\n !Array.isArray(item) &&\r\n item !== null &&\r\n !(item instanceof Date)\r\n );\r\n }\r\n\r\n static mergeDeep(\r\n target: object,\r\n source: object,\r\n ignoreUndefined = false\r\n ): any {\r\n const output = Object.assign({}, target);\r\n if (ObjectUtils.isObject(target) && ObjectUtils.isObject(source)) {\r\n Object.keys(source)\r\n .filter((key) => !ignoreUndefined || source[key] !== undefined)\r\n .forEach((key) => {\r\n if (ObjectUtils.isObject(source[key])) {\r\n if (!(key in target)) {\r\n Object.assign(output, { [key]: source[key] });\r\n } else {\r\n output[key] = ObjectUtils.mergeDeep(\r\n target[key],\r\n source[key],\r\n ignoreUndefined\r\n );\r\n }\r\n } else {\r\n Object.assign(output, { [key]: source[key] });\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n\r\n static copyDeep(src): any {\r\n const target = Array.isArray(src) ? [] : {};\r\n for (const prop in src) {\r\n if (src.hasOwnProperty(prop)) {\r\n const value = src[prop];\r\n if (value && typeof value === 'object') {\r\n target[prop] = this.copyDeep(value);\r\n } else {\r\n target[prop] = value;\r\n }\r\n }\r\n }\r\n return target;\r\n }\r\n\r\n static removeDuplicateCaseInsensitive(obj: object) {\r\n const summaryCapitalizeObject = {};\r\n const capitalizeObject = {};\r\n const upperCaseCount = [];\r\n\r\n for (const property in obj) {\r\n if (obj.hasOwnProperty(property)) {\r\n const upperCaseProperty = property.toUpperCase();\r\n if (!summaryCapitalizeObject.hasOwnProperty(upperCaseProperty)) {\r\n summaryCapitalizeObject[upperCaseProperty] = [\r\n { [property]: obj[property] }\r\n ];\r\n } else {\r\n summaryCapitalizeObject[upperCaseProperty].push({\r\n [property]: obj[property]\r\n });\r\n }\r\n // counting the number of uppercase lettersMna\r\n upperCaseCount.push({\r\n key: property,\r\n count: property.replace(/[^A-Z]/g, '').length\r\n });\r\n }\r\n }\r\n for (const capitalizedProperty in summaryCapitalizeObject) {\r\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\r\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\r\n const capitalizedPropertyObject =\r\n summaryCapitalizeObject[capitalizedProperty];\r\n if (capitalizedPropertyObject.length === 1) {\r\n // for single params (no duplicates)\r\n const singlePossibility = capitalizedPropertyObject[0];\r\n capitalizeObject[capitalizedProperty] =\r\n singlePossibility[Object.keys(singlePossibility)[0]];\r\n } else if (capitalizedPropertyObject.length > 1) {\r\n // defining the closest to lowercase property\r\n const paramClosestToLowercase = upperCaseCount\r\n .filter(\r\n (f) => f.key.toLowerCase() === capitalizedProperty.toLowerCase()\r\n )\r\n .reduce((prev, current) => {\r\n return prev.y < current.y ? prev : current;\r\n });\r\n capitalizeObject[paramClosestToLowercase.key.toUpperCase()] =\r\n obj[paramClosestToLowercase.key];\r\n }\r\n }\r\n }\r\n }\r\n for (const property in obj) {\r\n if (obj.hasOwnProperty(property)) {\r\n delete obj[property];\r\n }\r\n }\r\n\r\n for (const property in capitalizeObject) {\r\n if (capitalizeObject.hasOwnProperty(property)) {\r\n obj[property] = capitalizeObject[property];\r\n }\r\n }\r\n }\r\n\r\n static removeUndefined(obj: object): any {\r\n const output = {};\r\n if (ObjectUtils.isObject(obj)) {\r\n Object.keys(obj)\r\n .filter((key) => obj[key] !== undefined)\r\n .forEach((key) => {\r\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\r\n output[key] = ObjectUtils.removeUndefined(obj[key]);\r\n } else {\r\n output[key] = obj[key];\r\n }\r\n });\r\n\r\n return output;\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map((o) => ObjectUtils.removeUndefined(o));\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n static removeNull(obj: object): any {\r\n const output = {};\r\n if (ObjectUtils.isObject(obj)) {\r\n Object.keys(obj)\r\n .filter((key) => obj[key] !== null)\r\n .forEach((key) => {\r\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\r\n output[key] = ObjectUtils.removeNull(obj[key]);\r\n } else {\r\n output[key] = obj[key];\r\n }\r\n });\r\n\r\n return output;\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map((o) => ObjectUtils.removeNull(o));\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n static naturalCompare(a, b, direction = 'asc', nullsFirst?: boolean) {\r\n if (direction === 'desc') {\r\n b = [a, (a = b)][0];\r\n }\r\n\r\n // nullsFirst = undefined : end if direction = 'asc', first if direction = 'desc'\r\n // nullsFirst = true : always first\r\n // nullsFirst = false : always end\r\n if (\r\n a === null ||\r\n a === '' ||\r\n a === undefined ||\r\n b === null ||\r\n b === '' ||\r\n b === undefined\r\n ) {\r\n const nullScore =\r\n a === b\r\n ? 0\r\n : a === undefined\r\n ? 3\r\n : b === undefined\r\n ? -3\r\n : a === null\r\n ? 2\r\n : b === null\r\n ? -2\r\n : a === ''\r\n ? 1\r\n : -1;\r\n if (direction === 'desc') {\r\n return nullsFirst !== false ? nullScore : nullScore * -1;\r\n }\r\n return nullsFirst === true ? nullScore * -1 : nullScore;\r\n }\r\n\r\n const ax = [];\r\n const bx = [];\r\n a = '' + a;\r\n b = '' + b;\r\n\r\n a.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\r\n ax.push([$1 || Infinity, $2 || '']);\r\n });\r\n\r\n b.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\r\n bx.push([$1 || Infinity, $2 || '']);\r\n });\r\n\r\n while (ax.length && bx.length) {\r\n const an = ax.shift();\r\n const bn = bx.shift();\r\n const nn = an[0] - bn[0] || an[1].localeCompare(bn[1]);\r\n if (nn) {\r\n return nn;\r\n }\r\n }\r\n\r\n return ax.length - bx.length;\r\n }\r\n\r\n /**\r\n * Return true if two object are equivalent.\r\n * Objects are considered equivalent if they have the same properties and\r\n * if all of their properties (first-level only) share the same value.\r\n * @param obj1 First object\r\n * @param obj2 Second object\r\n * @returns Whether two objects arer equivalent\r\n */\r\n static objectsAreEquivalent(obj1: object, obj2: object): boolean {\r\n if (obj1 === obj2) {\r\n return true;\r\n }\r\n\r\n const obj1Props = Object.getOwnPropertyNames(obj1);\r\n const obj2Props = Object.getOwnPropertyNames(obj2);\r\n if (obj1Props.length !== obj2Props.length) {\r\n return false;\r\n }\r\n\r\n for (const prop of obj1Props) {\r\n if (obj1[prop] !== obj2[prop]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Return a new object with an array of keys removed\r\n * @param obj Source object\r\n * @param keys Keys to remove\r\n * @returns A new object\r\n */\r\n static removeKeys(obj: object, keys: string[]): object {\r\n const newObj = Object.keys(obj)\r\n .filter((key) => keys.indexOf(key) < 0)\r\n .reduce((_obj, key) => {\r\n _obj[key] = obj[key];\r\n return _obj;\r\n }, {});\r\n\r\n return newObj;\r\n }\r\n\r\n static isEmpty(obj: object): boolean {\r\n return Object.keys(obj).length === 0;\r\n }\r\n}\r\n","export class NumberUtils {\r\n static roundToNDecimal(num: number, decimal: number = 3): number {\r\n const roundFactor = Math.pow(10, decimal);\r\n return Math.round(num * roundFactor) / roundFactor;\r\n }\r\n}\r\n","/** Utility function to create a K:V from a list of strings */\r\nexport function strEnum<T extends string>(o: Array<T>): { [K in T]: K } {\r\n return o.reduce((res, key) => {\r\n res[key] = key;\r\n return res;\r\n }, Object.create(null));\r\n}\r\n","import { DomUtils } from './dom.utils';\r\n\r\nconst PATH_PREBUILT_THEMES = 'assets/igo2/core/theming/prebuilt-themes';\r\nconst LINK_ID = 'theme-styles';\r\n\r\nexport function loadTheme(\r\n doc: Document,\r\n themeName: string,\r\n path: string = PATH_PREBUILT_THEMES\r\n): void {\r\n const src = `${path}/${themeName}.css`;\r\n const head = doc.getElementsByTagName('head')[0];\r\n\r\n let themeLink = doc.getElementById(LINK_ID) as HTMLLinkElement;\r\n themeLink ? (themeLink.href = src) : createHtmlLink(doc, src, head);\r\n}\r\n\r\nfunction createHtmlLink(doc: Document, src: string, parent: HTMLElement): void {\r\n const element = DomUtils.create(doc, 'link', {\r\n id: LINK_ID,\r\n rel: 'stylesheet',\r\n href: src\r\n });\r\n parent.appendChild(element);\r\n}\r\n","export function S4() {\r\n // eslint-disable-next-line no-bitwise\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n}\r\n\r\nexport function uuid() {\r\n const id = `${S4()}${S4()}-${S4()}-${S4()}-${S4()}-${S4()}${S4()}${S4()}`;\r\n return id.toLowerCase();\r\n}\r\n","import { Subject, Subscription } from 'rxjs';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport enum SubjectStatus {\r\n Error = 0,\r\n Done = 1,\r\n Working = 2,\r\n Waiting = 3\r\n}\r\n\r\nexport abstract class Watcher {\r\n public status$ = new Subject<SubjectStatus>();\r\n protected status$$: Subscription;\r\n\r\n get status(): SubjectStatus {\r\n return this._status;\r\n }\r\n set status(value: SubjectStatus) {\r\n this._status = value;\r\n this.status$.next(value);\r\n }\r\n private _status: SubjectStatus;\r\n\r\n protected abstract watch();\r\n\r\n protected abstract unwatch();\r\n\r\n subscribe(callback: Function, scope?: any) {\r\n this.watch();\r\n\r\n this.status$$ = this.status$\r\n .pipe(distinctUntilChanged())\r\n .subscribe((status: SubjectStatus) => {\r\n this.handleStatusChange(status);\r\n callback.call(scope, this);\r\n });\r\n }\r\n\r\n unsubscribe() {\r\n this.unwatch();\r\n if (this.status$$ !== undefined) {\r\n this.status$$.unsubscribe();\r\n this.status$$ = undefined;\r\n }\r\n this.status = SubjectStatus.Waiting;\r\n }\r\n\r\n protected handleStatusChange(status: SubjectStatus) {}\r\n}\r\n","/*\r\n * Public API Surface of utils\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igo2/utils",
3
- "version": "16.0.0-rc.7",
3
+ "version": "16.0.0",
4
4
  "description": "IGO Library",
5
5
  "author": "IGO Community",
6
6
  "keywords": [