@ngutil/common 0.0.3-dev.8 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm2022/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- export * from "./destruct";
2
- export * from "./number-with-unit";
3
- export * from "./bool-attr";
4
- export * from "./unngzone";
5
- export * from "./dom";
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxPQUFPLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9kZXN0cnVjdFwiXG5leHBvcnQgKiBmcm9tIFwiLi9udW1iZXItd2l0aC11bml0XCJcbmV4cG9ydCAqIGZyb20gXCIuL2Jvb2wtYXR0clwiXG5leHBvcnQgKiBmcm9tIFwiLi91bm5nem9uZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9kb21cIlxuIl19
1
+ export { Destruct, Destructible } from "./destruct";
2
+ export { NumberWithUnit, UNIT_REGEX, NUMBER_REGEX } from "./number-with-unit";
3
+ export { coerceBoolAttr } from "./bool-attr";
4
+ export { rawCancelAnimationFrame, rawClearInterval, rawClearTimeout, rawRequestAnimationFrame, rawSetInterval, rawSetTimeout } from "./unngzone";
5
+ export { FastDOM } from "./dom";
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFlLE1BQU0sWUFBWSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQXVCLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLGFBQWEsQ0FBQTtBQUMxRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxhQUFhLEVBQ2hCLE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEZXN0cnVjdCwgRGVzdHJ1Y3RpYmxlLCBJRGlzcG9zYWJsZSB9IGZyb20gXCIuL2Rlc3RydWN0XCJcbmV4cG9ydCB7IE51bWJlcldpdGhVbml0LCBOdW1iZXJXaXRoVW5pdElucHV0LCBVTklUX1JFR0VYLCBOVU1CRVJfUkVHRVggfSBmcm9tIFwiLi9udW1iZXItd2l0aC11bml0XCJcbmV4cG9ydCB7IGNvZXJjZUJvb2xBdHRyLCBCb29sZWFuSW5wdXQgfSBmcm9tIFwiLi9ib29sLWF0dHJcIlxuZXhwb3J0IHtcbiAgICByYXdDYW5jZWxBbmltYXRpb25GcmFtZSxcbiAgICByYXdDbGVhckludGVydmFsLFxuICAgIHJhd0NsZWFyVGltZW91dCxcbiAgICByYXdSZXF1ZXN0QW5pbWF0aW9uRnJhbWUsXG4gICAgcmF3U2V0SW50ZXJ2YWwsXG4gICAgcmF3U2V0VGltZW91dFxufSBmcm9tIFwiLi91bm5nem9uZVwiXG5leHBvcnQgeyBGYXN0RE9NIH0gZnJvbSBcIi4vZG9tXCJcbmV4cG9ydCB7IE51bWJlclJhbmdlIH0gZnJvbSBcIi4vdHlwZS11dGlsXCJcbiJdfQ==
@@ -1,5 +1,7 @@
1
1
  const specials = ["auto", "inherit"];
2
- const regex = /^([\d.\-+]+)\s*(v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex)?$/;
2
+ export const UNIT_REGEX = "v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s";
3
+ export const NUMBER_REGEX = "[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)";
4
+ const regex = new RegExp(`^(${NUMBER_REGEX})\\s*(${UNIT_REGEX})?$`);
3
5
  export class NumberWithUnit {
4
6
  static coerce(value, defaultUnit) {
5
7
  if (specials.includes(value)) {
@@ -32,4 +34,4 @@ export class NumberWithUnit {
32
34
  }
33
35
  }
34
36
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpdGgtdW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbnVtYmVyLXdpdGgtdW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNwQyxNQUFNLEtBQUssR0FBRyx5RUFBeUUsQ0FBQTtBQUV2RixNQUFNLE9BQU8sY0FBYztJQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVUsRUFBRSxXQUFvQjtRQUMxQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN6QyxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFBO1lBQ3hFLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUNqRCxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBRUQsWUFDb0IsS0FBYSxFQUNiLElBQWE7UUFEYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBUztJQUM5QixDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtRQUNwQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDMUIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE51bWJlcldpdGhVbml0SW5wdXQgPSBudW1iZXIgfCBzdHJpbmcgfCBOdW1iZXJXaXRoVW5pdFxuXG5jb25zdCBzcGVjaWFscyA9IFtcImF1dG9cIiwgXCJpbmhlcml0XCJdXG5jb25zdCByZWdleCA9IC9eKFtcXGQuXFwtK10rKVxccyoodltofHd8bWlufG1heF18cFtjfHR8eF18W3JlfGV8Y3xtXW18W2x8Y11ofCV8aW58UXxleCk/JC9cblxuZXhwb3J0IGNsYXNzIE51bWJlcldpdGhVbml0IHtcbiAgICBzdGF0aWMgY29lcmNlKHZhbHVlOiBhbnksIGRlZmF1bHRVbml0Pzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChzcGVjaWFscy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyV2l0aFVuaXQoTmFOLCB2YWx1ZSlcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmVnZXgpXG4gICAgICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcldpdGhVbml0KE51bWJlcihtYXRjaFsxXSksIG1hdGNoWzJdIHx8IGRlZmF1bHRVbml0KVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXJXaXRoVW5pdCh2YWx1ZSwgZGVmYXVsdFVuaXQpXG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdCBpbXBsZW1lbnRlZCBudW1iZXIgd2l0aCB1bml0OiAke3ZhbHVlfWApXG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdW5pdD86IHN0cmluZ1xuICAgICkge31cblxuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICBpZiAoaXNOYU4odGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVuaXRcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVuaXQgIT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMudmFsdWV9JHt0aGlzLnVuaXR9YFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMudmFsdWV9YFxuICAgICAgICB9XG4gICAgfVxufVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpdGgtdW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbnVtYmVyLXdpdGgtdW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUVwQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsMERBQTBELENBQUE7QUFDcEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLHVDQUF1QyxDQUFBO0FBRW5FLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssWUFBWSxTQUFTLFVBQVUsS0FBSyxDQUFDLENBQUE7QUFFbkUsTUFBTSxPQUFPLGNBQWM7SUFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFVLEVBQUUsV0FBb0I7UUFDMUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQTtZQUN4RSxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDakQsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVELFlBQ29CLEtBQWEsRUFDYixJQUFhO1FBRGIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFNBQUksR0FBSixJQUFJLENBQVM7SUFDOUIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDcEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzFCLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBOdW1iZXJXaXRoVW5pdElucHV0ID0gbnVtYmVyIHwgc3RyaW5nIHwgTnVtYmVyV2l0aFVuaXRcblxuY29uc3Qgc3BlY2lhbHMgPSBbXCJhdXRvXCIsIFwiaW5oZXJpdFwiXVxuXG5leHBvcnQgY29uc3QgVU5JVF9SRUdFWCA9IFwidltofHd8bWlufG1heF18cFtjfHR8eF18W3JlfGV8Y3xtXW18W2x8Y11ofCV8aW58UXxleHxtP3NcIlxuZXhwb3J0IGNvbnN0IE5VTUJFUl9SRUdFWCA9IFwiWystXT8oPzpcXFxcZCpcXFxcLlxcXFxkK3xcXFxcZCtcXFxcLlxcXFxkKnxcXFxcZCspXCJcblxuY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeKCR7TlVNQkVSX1JFR0VYfSlcXFxccyooJHtVTklUX1JFR0VYfSk/JGApXG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJXaXRoVW5pdCB7XG4gICAgc3RhdGljIGNvZXJjZSh2YWx1ZTogYW55LCBkZWZhdWx0VW5pdD86IHN0cmluZykge1xuICAgICAgICBpZiAoc3BlY2lhbHMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcldpdGhVbml0KE5hTiwgdmFsdWUpXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHJlZ2V4KVxuICAgICAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXJXaXRoVW5pdChOdW1iZXIobWF0Y2hbMV0pLCBtYXRjaFsyXSB8fCBkZWZhdWx0VW5pdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyV2l0aFVuaXQodmFsdWUsIGRlZmF1bHRVbml0KVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgaW1wbGVtZW50ZWQgbnVtYmVyIHdpdGggdW5pdDogJHt2YWx1ZX1gKVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IG51bWJlcixcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHVuaXQ/OiBzdHJpbmdcbiAgICApIHt9XG5cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgaWYgKGlzTmFOKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51bml0XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51bml0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnZhbHVlfSR7dGhpcy51bml0fWBcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnZhbHVlfWBcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy90eXBlLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgRW51bWVyYXRlPE4gZXh0ZW5kcyBudW1iZXIsIEFjYyBleHRlbmRzIG51bWJlcltdID0gW10+ID0gQWNjW1wibGVuZ3RoXCJdIGV4dGVuZHMgTlxuICAgID8gQWNjW251bWJlcl1cbiAgICA6IEVudW1lcmF0ZTxOLCBbLi4uQWNjLCBBY2NbXCJsZW5ndGhcIl1dPlxuXG4vKipcbiAqIHR5cGUgWFkgPSBOdW1iZXJSYW5nZTwwLCAxMD5cbiAqL1xuZXhwb3J0IHR5cGUgTnVtYmVyUmFuZ2U8RiBleHRlbmRzIG51bWJlciwgVCBleHRlbmRzIG51bWJlcj4gPSBFeGNsdWRlPEVudW1lcmF0ZTxUPiwgRW51bWVyYXRlPEY+PlxuIl19
@@ -83,7 +83,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
83
83
  }] });
84
84
 
85
85
  const specials = ["auto", "inherit"];
86
- const regex = /^([\d.\-+]+)\s*(v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex)?$/;
86
+ const UNIT_REGEX = "v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s";
87
+ const NUMBER_REGEX = "[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)";
88
+ const regex = new RegExp(`^(${NUMBER_REGEX})\\s*(${UNIT_REGEX})?$`);
87
89
  class NumberWithUnit {
88
90
  static coerce(value, defaultUnit) {
89
91
  if (specials.includes(value)) {
@@ -209,5 +211,5 @@ const FastDOM = new _FastDOM();
209
211
  * Generated bundle index. Do not edit.
210
212
  */
211
213
 
212
- export { Destruct, Destructible, FastDOM, NumberWithUnit, Zone, __zone_symbol__, coerceBoolAttr, rawCancelAnimationFrame, rawClearInterval, rawClearTimeout, rawRequestAnimationFrame, rawSetInterval, rawSetTimeout };
214
+ export { Destruct, Destructible, FastDOM, NUMBER_REGEX, NumberWithUnit, UNIT_REGEX, coerceBoolAttr, rawCancelAnimationFrame, rawClearInterval, rawClearTimeout, rawRequestAnimationFrame, rawSetInterval, rawSetTimeout };
213
215
  //# sourceMappingURL=ngutil-common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngutil-common.mjs","sources":["../../../../packages/common/src/destruct.ts","../../../../packages/common/src/number-with-unit.ts","../../../../packages/common/src/bool-attr.ts","../../../../packages/common/src/unngzone.ts","../../../../packages/common/src/dom.ts","../../../../packages/common/src/ngutil-common.ts"],"sourcesContent":["import { Directive, OnDestroy } from \"@angular/core\"\n\nimport { Observable, share, Subject, take, takeUntil } from \"rxjs\"\n\nexport interface IDisposable {\n dispose(): void\n}\n\nexport class Destruct {\n readonly #on = new Subject<void>()\n readonly on = this.#on.pipe(share())\n\n constructor(fn?: () => void) {\n if (fn != null) {\n this.any(fn)\n }\n }\n get done(): boolean {\n return this.#on.closed\n }\n\n sub<T>(o: Observable<T>): Observable<T> {\n if (this.done) {\n return o.pipe(take(0))\n } else {\n return o.pipe(takeUntil(this.on))\n }\n }\n\n disposable<T extends IDisposable>(d: T): T {\n if (this.done) {\n d.dispose()\n } else {\n this.on.subscribe(d.dispose.bind(d))\n }\n\n return d\n }\n\n node<T extends Node>(el: T): T {\n const remove = () => {\n const parent = el.parentNode\n if (parent) {\n parent.removeChild(el)\n }\n }\n if (this.done) {\n remove()\n } else {\n this.on.subscribe(remove)\n }\n\n return el\n }\n\n any(f: () => void): void {\n if (this.done) {\n f()\n } else {\n this.on.subscribe(f)\n }\n }\n\n run() {\n if (!this.done) {\n this.#on.next()\n this.#on.complete()\n }\n }\n}\n\n@Directive()\nexport abstract class Destructible implements OnDestroy, IDisposable {\n /** @ignore */\n readonly d = new Destruct()\n\n /** @ignore */\n ngOnDestroy() {\n this.d.run()\n delete (this as any).d\n }\n\n /** @ignore */\n dispose() {\n this.ngOnDestroy()\n }\n}\n","export type NumberWithUnitInput = number | string | NumberWithUnit\n\nconst specials = [\"auto\", \"inherit\"]\nconst regex = /^([\\d.\\-+]+)\\s*(v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex)?$/\n\nexport class NumberWithUnit {\n static coerce(value: any, defaultUnit?: string) {\n if (specials.includes(value)) {\n return new NumberWithUnit(NaN, value)\n } else if (typeof value === \"string\") {\n const match = value.match(regex)\n if (match) {\n return new NumberWithUnit(Number(match[1]), match[2] || defaultUnit)\n }\n } else if (typeof value === \"number\") {\n return new NumberWithUnit(value, defaultUnit)\n }\n\n throw new Error(`Not implemented number with unit: ${value}`)\n }\n\n constructor(\n public readonly value: number,\n public readonly unit?: string\n ) {}\n\n toString() {\n if (isNaN(this.value)) {\n return this.unit\n } else if (this.unit != null) {\n return `${this.value}${this.unit}`\n } else {\n return `${this.value}`\n }\n }\n}\n","export type BooleanInput = string | boolean | null | undefined\n\nexport function coerceBoolAttr(value: BooleanInput): boolean {\n return value != null && `${value}` !== \"false\"\n}\n","export const Zone = (window as any).Zone\n\nexport function __zone_symbol__<T extends string>(val: T): T {\n const symbol =\n typeof Zone !== \"undefined\" && (Zone as any).__symbol__\n ? (Zone as any).__symbol__(val)\n : `__zone_symbol__${val}`\n return typeof window[symbol] !== \"undefined\" ? symbol : val\n}\n\nexport const rawSetTimeout = window[__zone_symbol__(\"setTimeout\")]\nexport const rawClearTimeout = window[__zone_symbol__(\"clearTimeout\")]\nexport const rawSetInterval = window[__zone_symbol__(\"setInterval\")]\nexport const rawClearInterval = window[__zone_symbol__(\"clearInterval\")]\nexport const rawRequestAnimationFrame = window[__zone_symbol__(\"requestAnimationFrame\")]\nexport const rawCancelAnimationFrame = window[__zone_symbol__(\"cancelAnimationFrame\")]\n","import { rawRequestAnimationFrame } from \"./unngzone\"\n\ntype FastDomHandler = () => void\n\nclass _FastDOM {\n #rafId: any\n #mutate: Array<FastDomHandler> = []\n #measure: Array<FastDomHandler> = []\n\n public mutate(handler: FastDomHandler) {\n this.#mutate.push(handler)\n this._schedule()\n }\n\n public mutateNext(handler: FastDomHandler) {\n this.#mutate.push(() => {\n this.#mutate.push(handler)\n })\n this._schedule()\n }\n\n public measure(handler: FastDomHandler) {\n this.#measure.push(handler)\n this._schedule()\n }\n\n public setStyle(el: HTMLElement, style: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(style)) {\n if (v == null) {\n el.style.removeProperty(k)\n } else {\n el.style.setProperty(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n public setAttributes(el: HTMLElement, attrs: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(attrs)) {\n if (v == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n private _schedule() {\n if (!this.#rafId) {\n this.#rafId = rawRequestAnimationFrame(this._apply.bind(this))\n }\n }\n\n private _apply() {\n this.#rafId = null\n\n const measure = this.#measure.slice()\n const mutate = this.#mutate.slice()\n this.#measure.length = 0\n this.#mutate.length = 0\n\n runQ(measure)\n runQ(mutate)\n\n if (this.#measure.length || this.#mutate.length) {\n this._schedule()\n }\n }\n}\n\nfunction runQ(items: FastDomHandler[]) {\n let item: FastDomHandler\n while ((item = items.shift()!)) {\n item()\n }\n}\n\nexport const FastDOM = new _FastDOM()\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngutil-common.mjs","sources":["../../../../packages/common/src/destruct.ts","../../../../packages/common/src/number-with-unit.ts","../../../../packages/common/src/bool-attr.ts","../../../../packages/common/src/unngzone.ts","../../../../packages/common/src/dom.ts","../../../../packages/common/src/ngutil-common.ts"],"sourcesContent":["import { Directive, OnDestroy } from \"@angular/core\"\n\nimport { Observable, share, Subject, take, takeUntil } from \"rxjs\"\n\nexport interface IDisposable {\n dispose(): void\n}\n\nexport class Destruct {\n readonly #on = new Subject<void>()\n readonly on = this.#on.pipe(share())\n\n constructor(fn?: () => void) {\n if (fn != null) {\n this.any(fn)\n }\n }\n get done(): boolean {\n return this.#on.closed\n }\n\n sub<T>(o: Observable<T>): Observable<T> {\n if (this.done) {\n return o.pipe(take(0))\n } else {\n return o.pipe(takeUntil(this.on))\n }\n }\n\n disposable<T extends IDisposable>(d: T): T {\n if (this.done) {\n d.dispose()\n } else {\n this.on.subscribe(d.dispose.bind(d))\n }\n\n return d\n }\n\n node<T extends Node>(el: T): T {\n const remove = () => {\n const parent = el.parentNode\n if (parent) {\n parent.removeChild(el)\n }\n }\n if (this.done) {\n remove()\n } else {\n this.on.subscribe(remove)\n }\n\n return el\n }\n\n any(f: () => void): void {\n if (this.done) {\n f()\n } else {\n this.on.subscribe(f)\n }\n }\n\n run() {\n if (!this.done) {\n this.#on.next()\n this.#on.complete()\n }\n }\n}\n\n@Directive()\nexport abstract class Destructible implements OnDestroy, IDisposable {\n /** @ignore */\n readonly d = new Destruct()\n\n /** @ignore */\n ngOnDestroy() {\n this.d.run()\n delete (this as any).d\n }\n\n /** @ignore */\n dispose() {\n this.ngOnDestroy()\n }\n}\n","export type NumberWithUnitInput = number | string | NumberWithUnit\n\nconst specials = [\"auto\", \"inherit\"]\n\nexport const UNIT_REGEX = \"v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s\"\nexport const NUMBER_REGEX = \"[+-]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.\\\\d*|\\\\d+)\"\n\nconst regex = new RegExp(`^(${NUMBER_REGEX})\\\\s*(${UNIT_REGEX})?$`)\n\nexport class NumberWithUnit {\n static coerce(value: any, defaultUnit?: string) {\n if (specials.includes(value)) {\n return new NumberWithUnit(NaN, value)\n } else if (typeof value === \"string\") {\n const match = value.match(regex)\n if (match) {\n return new NumberWithUnit(Number(match[1]), match[2] || defaultUnit)\n }\n } else if (typeof value === \"number\") {\n return new NumberWithUnit(value, defaultUnit)\n }\n\n throw new Error(`Not implemented number with unit: ${value}`)\n }\n\n constructor(\n public readonly value: number,\n public readonly unit?: string\n ) {}\n\n toString() {\n if (isNaN(this.value)) {\n return this.unit\n } else if (this.unit != null) {\n return `${this.value}${this.unit}`\n } else {\n return `${this.value}`\n }\n }\n}\n","export type BooleanInput = string | boolean | null | undefined\n\nexport function coerceBoolAttr(value: BooleanInput): boolean {\n return value != null && `${value}` !== \"false\"\n}\n","export const Zone = (window as any).Zone\n\nexport function __zone_symbol__<T extends string>(val: T): T {\n const symbol =\n typeof Zone !== \"undefined\" && (Zone as any).__symbol__\n ? (Zone as any).__symbol__(val)\n : `__zone_symbol__${val}`\n return typeof window[symbol] !== \"undefined\" ? symbol : val\n}\n\nexport const rawSetTimeout = window[__zone_symbol__(\"setTimeout\")]\nexport const rawClearTimeout = window[__zone_symbol__(\"clearTimeout\")]\nexport const rawSetInterval = window[__zone_symbol__(\"setInterval\")]\nexport const rawClearInterval = window[__zone_symbol__(\"clearInterval\")]\nexport const rawRequestAnimationFrame = window[__zone_symbol__(\"requestAnimationFrame\")]\nexport const rawCancelAnimationFrame = window[__zone_symbol__(\"cancelAnimationFrame\")]\n","import { rawRequestAnimationFrame } from \"./unngzone\"\n\ntype FastDomHandler = () => void\n\nclass _FastDOM {\n #rafId: any\n #mutate: Array<FastDomHandler> = []\n #measure: Array<FastDomHandler> = []\n\n public mutate(handler: FastDomHandler) {\n this.#mutate.push(handler)\n this._schedule()\n }\n\n public mutateNext(handler: FastDomHandler) {\n this.#mutate.push(() => {\n this.#mutate.push(handler)\n })\n this._schedule()\n }\n\n public measure(handler: FastDomHandler) {\n this.#measure.push(handler)\n this._schedule()\n }\n\n public setStyle(el: HTMLElement, style: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(style)) {\n if (v == null) {\n el.style.removeProperty(k)\n } else {\n el.style.setProperty(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n public setAttributes(el: HTMLElement, attrs: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(attrs)) {\n if (v == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n private _schedule() {\n if (!this.#rafId) {\n this.#rafId = rawRequestAnimationFrame(this._apply.bind(this))\n }\n }\n\n private _apply() {\n this.#rafId = null\n\n const measure = this.#measure.slice()\n const mutate = this.#mutate.slice()\n this.#measure.length = 0\n this.#mutate.length = 0\n\n runQ(measure)\n runQ(mutate)\n\n if (this.#measure.length || this.#mutate.length) {\n this._schedule()\n }\n }\n}\n\nfunction runQ(items: FastDomHandler[]) {\n let item: FastDomHandler\n while ((item = items.shift()!)) {\n item()\n }\n}\n\nexport const FastDOM = new _FastDOM()\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- export * from "./destruct";
2
- export * from "./number-with-unit";
3
- export * from "./bool-attr";
4
- export * from "./unngzone";
5
- export * from "./dom";
1
+ export { Destruct, Destructible, IDisposable } from "./destruct";
2
+ export { NumberWithUnit, NumberWithUnitInput, UNIT_REGEX, NUMBER_REGEX } from "./number-with-unit";
3
+ export { coerceBoolAttr, BooleanInput } from "./bool-attr";
4
+ export { rawCancelAnimationFrame, rawClearInterval, rawClearTimeout, rawRequestAnimationFrame, rawSetInterval, rawSetTimeout } from "./unngzone";
5
+ export { FastDOM } from "./dom";
6
+ export { NumberRange } from "./type-util";
@@ -1,4 +1,6 @@
1
1
  export type NumberWithUnitInput = number | string | NumberWithUnit;
2
+ export declare const UNIT_REGEX = "v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s";
3
+ export declare const NUMBER_REGEX = "[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)";
2
4
  export declare class NumberWithUnit {
3
5
  readonly value: number;
4
6
  readonly unit?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngutil/common",
3
- "version": "0.0.3-dev.8",
3
+ "version": "0.0.3",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "directory": "../../dist/packages/common/"
package/type-util.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc["length"] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc["length"]]>;
2
+ /**
3
+ * type XY = NumberRange<0, 10>
4
+ */
5
+ export type NumberRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
6
+ export {};