angular-toolbox 1.2.1 → 1.2.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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A library that provides useful tools for Angular apps development.
4
4
 
5
- [![Angular Toolbox version](https://img.shields.io/badge/Angular%20Toolbox:1.2.1-%231E90FF.svg)]()
5
+ [![Angular Toolbox version](https://img.shields.io/badge/Angular%20Toolbox:1.2.3-%231E90FF.svg)]()
6
6
 
7
7
  ## License
8
8
 
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be found in
6
6
  * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
7
  */
8
- import { EMPTY_STRING } from "../../../util";
8
+ import { VersionUtil } from "../../../util";
9
9
  /**
10
10
  * @private
11
11
  * Specifies the semantic versioning of an API.
@@ -29,9 +29,8 @@ export class VersionImpl {
29
29
  * @returns A string representation of this `VersionImpl` instance.
30
30
  */
31
31
  toString() {
32
- const m = this.metadata;
33
- return `${this.major}.${this.minor}.${this.patch}${m ? "-" + m : EMPTY_STRING}`;
32
+ return VersionUtil.stringify(this);
34
33
  }
35
34
  }
36
35
  ;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5pbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvY29yZS9pbXBsL3ZlcnNpb24vdmVyc2lvbi5pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUEyQnBCOztPQUVHO0lBQ0gsWUFBWSxLQUFhLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxjQUFzQixFQUFFLFFBQWlCO1FBQzlGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRO1FBQ1gsTUFBTSxDQUFDLEdBQXVCLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEYsQ0FBQztDQUNKO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFZlcnNpb24gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxcIjtcclxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBTcGVjaWZpZXMgdGhlIHNlbWFudGljIHZlcnNpb25pbmcgb2YgYW4gQVBJLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZlcnNpb25JbXBsIGltcGxlbWVudHMgVmVyc2lvbiB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdmVyc2lvbnMgd2l0aCBpbmNvbXBhdGlibGUgQVBJIGNoYW5nZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkb25seSBtYWpvcjogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHZlcnNpb25zIHdpdGggZnVuY3Rpb25hbGl0aWVzIHRoYXQgaGF2ZSAgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbm9yOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdmVyc2lvbnMgdGhhdCBmaXhlcyBidWdzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGF0Y2g6IG51bWJlcjtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRpbWVzdGFtcCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBidWlsZCBkYXRlIGZvciB0aGlzIGBWZXJzaW9uYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGJ1aWxkVGltZVN0YW1wOiBudW1iZXI7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQW4gb3B0aW9uYWwgc3RyaW5nIHRoYXQgaW5kaWNhdGVzIGFkZGl0aW9uYWwgbGFiZWxzIGZvciBwcmUtcmVsZWFzZSBhbmQgYnVpbGQgbWV0YWRhdGEuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkb25seSBtZXRhZGF0YTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IobWFqb3I6IG51bWJlciwgbWlub3I6IG51bWJlciwgcGF0Y2g6IG51bWJlciwgYnVpbGRUaW1lU3RhbXA6IG51bWJlciwgbWV0YWRhdGE/OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm1ham9yID0gbWFqb3I7XHJcbiAgICAgICAgdGhpcy5taW5vciA9IG1pbm9yO1xyXG4gICAgICAgIHRoaXMucGF0Y2ggPSBwYXRjaDtcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZVN0YW1wID0gYnVpbGRUaW1lU3RhbXA7XHJcbiAgICAgICAgdGhpcy5tZXRhZGF0YSA9IG1ldGFkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIGBWZXJzaW9uYCBvYmplY3QgaW4gdGhlIGZvcm0gYE0ubS5wYCwgd2hlcmVcclxuICAgICAqIGBNYCByZXByZXNlbnRzIHRoZSBtYWpvciBudW1iZXIsIGBtYCByZXByZXNlbnRzIHRoZSBtaW5vciBudW1iZXIgYW5kIGBwYCByZXByZXNlbnRzXHJcbiAgICAgKiB0aGUgcGF0Y2ggbnVtYmVyIG9mIHRoaXMgYFZlcnNpb25JbXBsYCBpbnN0YW5jZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBgVmVyc2lvbkltcGxgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBtOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLm1ldGFkYXRhO1xyXG4gICAgICAgIHJldHVybiBgJHt0aGlzLm1ham9yfS4ke3RoaXMubWlub3J9LiR7dGhpcy5wYXRjaH0ke20gPyBcIi1cIiArIG0gOiBFTVBUWV9TVFJJTkd9YDtcclxuICAgIH1cclxufTsiXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5pbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvY29yZS9pbXBsL3ZlcnNpb24vdmVyc2lvbi5pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUEyQnBCOztPQUVHO0lBQ0gsWUFBWSxLQUFhLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxjQUFzQixFQUFFLFFBQWlCO1FBQzlGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRO1FBQ1gsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsXCI7XHJcbmltcG9ydCB7IFZlcnNpb25VdGlsIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBTcGVjaWZpZXMgdGhlIHNlbWFudGljIHZlcnNpb25pbmcgb2YgYW4gQVBJLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZlcnNpb25JbXBsIGltcGxlbWVudHMgVmVyc2lvbiB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdmVyc2lvbnMgd2l0aCBpbmNvbXBhdGlibGUgQVBJIGNoYW5nZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkb25seSBtYWpvcjogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHZlcnNpb25zIHdpdGggZnVuY3Rpb25hbGl0aWVzIHRoYXQgaGF2ZSAgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbm9yOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdmVyc2lvbnMgdGhhdCBmaXhlcyBidWdzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGF0Y2g6IG51bWJlcjtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRpbWVzdGFtcCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBidWlsZCBkYXRlIGZvciB0aGlzIGBWZXJzaW9uYCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGJ1aWxkVGltZVN0YW1wOiBudW1iZXI7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQW4gb3B0aW9uYWwgc3RyaW5nIHRoYXQgaW5kaWNhdGVzIGFkZGl0aW9uYWwgbGFiZWxzIGZvciBwcmUtcmVsZWFzZSBhbmQgYnVpbGQgbWV0YWRhdGEuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkb25seSBtZXRhZGF0YTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IobWFqb3I6IG51bWJlciwgbWlub3I6IG51bWJlciwgcGF0Y2g6IG51bWJlciwgYnVpbGRUaW1lU3RhbXA6IG51bWJlciwgbWV0YWRhdGE/OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLm1ham9yID0gbWFqb3I7XHJcbiAgICAgICAgdGhpcy5taW5vciA9IG1pbm9yO1xyXG4gICAgICAgIHRoaXMucGF0Y2ggPSBwYXRjaDtcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZVN0YW1wID0gYnVpbGRUaW1lU3RhbXA7XHJcbiAgICAgICAgdGhpcy5tZXRhZGF0YSA9IG1ldGFkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIGBWZXJzaW9uYCBvYmplY3QgaW4gdGhlIGZvcm0gYE0ubS5wYCwgd2hlcmVcclxuICAgICAqIGBNYCByZXByZXNlbnRzIHRoZSBtYWpvciBudW1iZXIsIGBtYCByZXByZXNlbnRzIHRoZSBtaW5vciBudW1iZXIgYW5kIGBwYCByZXByZXNlbnRzXHJcbiAgICAgKiB0aGUgcGF0Y2ggbnVtYmVyIG9mIHRoaXMgYFZlcnNpb25JbXBsYCBpbnN0YW5jZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBgVmVyc2lvbkltcGxgIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gVmVyc2lvblV0aWwuc3RyaW5naWZ5KHRoaXMpO1xyXG4gICAgfVxyXG59OyJdfQ==
@@ -6,4 +6,4 @@
6
6
  * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
7
  */
8
8
  export {};
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LWluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9idXNpbmVzcy91aS93aW5kb3cvd2luZG93LWluaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgV2luZG93RmVhdHVyZVN0YXRlIH0gZnJvbSBcIi4vd2luZG93LWZlYXR1cmUtc3RhdGVcIjtcclxuaW1wb3J0IHsgV2luZG93VGFyZ2V0IH0gZnJvbSBcIi4vd2luZG93LXRhcmdldFwiO1xyXG5cclxuLyoqXHJcbiAqIERlZmluZXMgdGhlIEFQaSB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHdpbmRvd3MgY3JlYXRlZCBieSB0aGUgYFdpbmRvd1NlcnZpY2Uub3BlbigpYCBtZXRob2QuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFdpbmRvd0luaXQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGJyb3dzaW5nIGNvbnRleHQgdGhlIHJlc291cmNlIGlzIGJlaW5nIGxvYWRlZCBpbnRvLlxyXG4gICAgICovXHJcbiAgICB0YXJnZXQ/OiBXaW5kb3dUYXJnZXQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGl0bGUgb2YgdGhlIG5ldyB3aW5kb3cuXHJcbiAgICAgKi9cclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGljb24gb2YgdGhlIG5ldyB3aW5kb3cuXHJcbiAgICAgKi9cclxuICAgIGljb24/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGRpc3RhbmNlIGluIHBpeGVscyBmcm9tIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHdvcmsgYXJlYSBhcyBkZWZpbmVkIGJ5IHRoZSB1c2VyJ3Mgb3BlcmF0aW5nIHN5c3RlbSB3aGVyZSB0aGUgbmV3IHdpbmRvdyB3aWxsIGJlIGdlbmVyYXRlZC5cclxuICAgICAqL1xyXG4gICAgbGVmdD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgZGlzdGFuY2UgaW4gcGl4ZWxzIGZyb20gdGhlIHRvcCBzaWRlIG9mIHRoZSB3b3JrIGFyZWEgYXMgZGVmaW5lZCBieSB0aGUgdXNlcidzIG9wZXJhdGluZyBzeXN0ZW0gd2hlcmUgdGhlIG5ldyB3aW5kb3cgd2lsbCBiZSBnZW5lcmF0ZWQuXHJcbiAgICAgKi9cclxuICAgIHRvcD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIGNvbnRlbnQgYXJlYSwgaW5jbHVkaW5nIHNjcm9sbGJhcnMuIFRoZSBtaW5pbXVtIHJlcXVpcmVkIHZhbHVlIGlzIGAxMDBgLlxyXG4gICAgICovXHJcbiAgICB3aWR0aD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgaGVpZ2h0IG9mIHRoZSBjb250ZW50IGFyZWEsIGluY2x1ZGluZyBzY3JvbGxiYXJzLiBUaGUgbWluaW11bSByZXF1aXJlZCB2YWx1ZSBpcyBgMTAwYC5cclxuICAgICAqL1xyXG4gICAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBkaXJlY3RvcmllcyBhcmUgYWN0aXZhdGVkIChgV2luZG93RmVhdHVyZVN0YXRlLllFU2ApLCBvciBub3QgKGBXaW5kb3dGZWF0dXJlU3RhdGUuTk9gKS5cclxuICAgICAqL1xyXG4gICAgZGlyZWN0b3JpZXM/OiBXaW5kb3dGZWF0dXJlU3RhdGU7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHRpdGxlIGJhciBpcyBhY3RpdmF0ZWQgKGBXaW5kb3dGZWF0dXJlU3RhdGUuWUVTYCksIG9yIG5vdCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5OT2ApLlxyXG4gICAgICovXHJcbiAgICB0aXRsZWJhcj86IFdpbmRvd0ZlYXR1cmVTdGF0ZTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgc2Nyb2xsYmFycyBhcmUgYWN0aXZhdGVkIChgV2luZG93RmVhdHVyZVN0YXRlLllFU2ApLCBvciBub3QgKGBXaW5kb3dGZWF0dXJlU3RhdGUuTk9gKS5cclxuICAgICAqL1xyXG4gICAgc2Nyb2xsYmFycz86IFdpbmRvd0ZlYXR1cmVTdGF0ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSB0b29sYmFyIGlzIGFjdGl2YXRlZCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5ZRVNgKSwgb3Igbm90IChgV2luZG93RmVhdHVyZVN0YXRlLk5PYCkuXHJcbiAgICAgKi9cclxuICAgIHRvb2xiYXI/OiBXaW5kb3dGZWF0dXJlU3RhdGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgbG9jYXRpb24gaXMgYWN0aXZhdGVkIChgV2luZG93RmVhdHVyZVN0YXRlLllFU2ApLCBvciBub3QgKGBXaW5kb3dGZWF0dXJlU3RhdGUuTk9gKS5cclxuICAgICAqL1xyXG4gICAgbG9jYXRpb24/OiBXaW5kb3dGZWF0dXJlU3RhdGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgc3RhdHVzIGlzIGFjdGl2YXRlZCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5ZRVNgKSwgb3Igbm90IChgV2luZG93RmVhdHVyZVN0YXRlLk5PYCkuXHJcbiAgICAgKi9cclxuICAgIHN0YXR1cz86IFdpbmRvd0ZlYXR1cmVTdGF0ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBtZW51IGJhciBpcyBhY3RpdmF0ZWQgKGBXaW5kb3dGZWF0dXJlU3RhdGUuWUVTYCksIG9yIG5vdCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5OT2ApLlxyXG4gICAgICovXHJcbiAgICBtZW51YmFyPzogV2luZG93RmVhdHVyZVN0YXRlO1xyXG59Il19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LWluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9idXNpbmVzcy91aS93aW5kb3cvd2luZG93LWluaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgV2luZG93RmVhdHVyZVN0YXRlIH0gZnJvbSBcIi4vd2luZG93LWZlYXR1cmUtc3RhdGVcIjtcclxuaW1wb3J0IHsgV2luZG93VGFyZ2V0IH0gZnJvbSBcIi4vd2luZG93LXRhcmdldFwiO1xyXG5cclxuLyoqXHJcbiAqIERlZmluZXMgdGhlIEFQaSB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHdpbmRvd3MgY3JlYXRlZCBieSB0aGUgYFdpbmRvd1NlcnZpY2Uub3BlbigpYCBtZXRob2QuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFdpbmRvd0luaXQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGJyb3dzaW5nIGNvbnRleHQgdGhlIHJlc291cmNlIGlzIGJlaW5nIGxvYWRlZCBpbnRvLlxyXG4gICAgICovXHJcbiAgICB0YXJnZXQ/OiBXaW5kb3dUYXJnZXQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGl0bGUgb2YgdGhlIG5ldyB3aW5kb3cuXHJcbiAgICAgKi9cclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGljb24gb2YgdGhlIG5ldyB3aW5kb3cuXHJcbiAgICAgKi9cclxuICAgIGljb24/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGRpc3RhbmNlIGluIHBpeGVscyBmcm9tIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHdvcmsgYXJlYSBhcyBkZWZpbmVkIGJ5IHRoZSB1c2VyJ3Mgb3BlcmF0aW5nIHN5c3RlbSB3aGVyZSB0aGUgbmV3IHdpbmRvdyB3aWxsIGJlIGdlbmVyYXRlZC5cclxuICAgICAqL1xyXG4gICAgbGVmdD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgZGlzdGFuY2UgaW4gcGl4ZWxzIGZyb20gdGhlIHRvcCBzaWRlIG9mIHRoZSB3b3JrIGFyZWEgYXMgZGVmaW5lZCBieSB0aGUgdXNlcidzIG9wZXJhdGluZyBzeXN0ZW0gd2hlcmUgdGhlIG5ldyB3aW5kb3cgd2lsbCBiZSBnZW5lcmF0ZWQuXHJcbiAgICAgKi9cclxuICAgIHRvcD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIGNvbnRlbnQgYXJlYSwgaW5jbHVkaW5nIHNjcm9sbGJhcnMuIFRoZSBtaW5pbXVtIHJlcXVpcmVkIHZhbHVlIGlzIGAxMDBgLlxyXG4gICAgICovXHJcbiAgICB3aWR0aD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgaGVpZ2h0IG9mIHRoZSBjb250ZW50IGFyZWEsIGluY2x1ZGluZyBzY3JvbGxiYXJzLiBUaGUgbWluaW11bSByZXF1aXJlZCB2YWx1ZSBpcyBgMTAwYC5cclxuICAgICAqL1xyXG4gICAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBkaXJlY3RvcmllcyBhcmUgYWN0aXZhdGVkIChgV2luZG93RmVhdHVyZVN0YXRlLllFU2ApLCBvciBub3QgKGBXaW5kb3dGZWF0dXJlU3RhdGUuTk9gKS5cclxuICAgICAqL1xyXG4gICAgZGlyZWN0b3JpZXM/OiBXaW5kb3dGZWF0dXJlU3RhdGU7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHRpdGxlIGJhciBpcyBhY3RpdmF0ZWQgKGBXaW5kb3dGZWF0dXJlU3RhdGUuWUVTYCksIG9yIG5vdCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5OT2ApLlxyXG4gICAgICovXHJcbiAgICB0aXRsZWJhcj86IFdpbmRvd0ZlYXR1cmVTdGF0ZTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgc2Nyb2xsYmFycyBhcmUgYWN0aXZhdGVkIChgV2luZG93RmVhdHVyZVN0YXRlLllFU2ApLCBvciBub3QgKGBXaW5kb3dGZWF0dXJlU3RhdGUuTk9gKS5cclxuICAgICAqL1xyXG4gICAgc2Nyb2xsYmFycz86IFdpbmRvd0ZlYXR1cmVTdGF0ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSB0b29sYmFyIGlzIGFjdGl2YXRlZCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5ZRVNgKSwgb3Igbm90IChgV2luZG93RmVhdHVyZVN0YXRlLk5PYCkuXHJcbiAgICAgKi9cclxuICAgIHRvb2xiYXI/OiBXaW5kb3dGZWF0dXJlU3RhdGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgbG9jYXRpb24gaXMgYWN0aXZhdGVkIChgV2luZG93RmVhdHVyZVN0YXRlLllFU2ApLCBvciBub3QgKGBXaW5kb3dGZWF0dXJlU3RhdGUuTk9gKS5cclxuICAgICAqL1xyXG4gICAgbG9jYXRpb24/OiBXaW5kb3dGZWF0dXJlU3RhdGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgc3RhdHVzIGlzIGFjdGl2YXRlZCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5ZRVNgKSwgb3Igbm90IChgV2luZG93RmVhdHVyZVN0YXRlLk5PYCkuXHJcbiAgICAgKi9cclxuICAgIHN0YXR1cz86IFdpbmRvd0ZlYXR1cmVTdGF0ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBtZW51IGJhciBpcyBhY3RpdmF0ZWQgKGBXaW5kb3dGZWF0dXJlU3RhdGUuWUVTYCksIG9yIG5vdCAoYFdpbmRvd0ZlYXR1cmVTdGF0ZS5OT2ApLlxyXG4gICAgICovXHJcbiAgICBtZW51YmFyPzogV2luZG93RmVhdHVyZVN0YXRlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHdpbmJkb3cgaXMgY2VudGVyZWQgKGB0cnVlYCksIG9yIG5vdCAoYGZhbHNlYCkuXHJcbiAgICAgKiBJZiBgdHJ1ZWAsIHRoZSBgdG9wYCBhbmQgYGxlZnRgIHByb3BlcnRpZXMgYXJlIGlnbm9yZWQuXHJcbiAgICAgKi9cclxuICAgIGNlbnRlcj86IGJvb2xlYW47XHJcbn0iXX0=
@@ -12,6 +12,10 @@ import { BrowserWindowFeaturesBuilder } from "../../../../util/window/window-fea
12
12
  import { WindowHeaderTagUtil } from "../../../../util/window/window-header-tag-util";
13
13
  import { AbstractWindowService } from "./abstract-window.service";
14
14
  import * as i0 from "@angular/core";
15
+ /**
16
+ * @private
17
+ */
18
+ const EVT_TYPE = "beforeunload";
15
19
  /**
16
20
  * Provides functionality to display Angular component within a new browser window.
17
21
  */
@@ -22,7 +26,11 @@ export class WindowService extends AbstractWindowService {
22
26
  constructor(_appRef) {
23
27
  super();
24
28
  this._appRef = _appRef;
25
- window.addEventListener("beforeunload", () => this.beforUnloadHandler());
29
+ const beforeUnloadHandler = () => {
30
+ this.ngOnDestroy();
31
+ window.removeEventListener(EVT_TYPE, beforeUnloadHandler);
32
+ };
33
+ window.addEventListener(EVT_TYPE, beforeUnloadHandler);
26
34
  }
27
35
  /**
28
36
  * @inheritdoc
@@ -38,6 +46,11 @@ export class WindowService extends AbstractWindowService {
38
46
  window: win,
39
47
  componentRef: componentRef
40
48
  };
49
+ const unloadListener = () => {
50
+ this.windowClose.emit(id);
51
+ win.removeEventListener(EVT_TYPE, unloadListener);
52
+ };
53
+ win.addEventListener(EVT_TYPE, unloadListener);
41
54
  this.windowRefMap.set(id, winRef);
42
55
  return id;
43
56
  }
@@ -53,7 +66,6 @@ export class WindowService extends AbstractWindowService {
53
66
  winRef.window = null;
54
67
  winRef.componentRef.destroy();
55
68
  winRef.componentRef;
56
- this.windowClose.emit(uuid);
57
69
  return true;
58
70
  }
59
71
  /**
@@ -71,13 +83,6 @@ export class WindowService extends AbstractWindowService {
71
83
  this.closeAll();
72
84
  this.destroy();
73
85
  }
74
- /**
75
- * @private
76
- */
77
- beforUnloadHandler() {
78
- this.ngOnDestroy();
79
- window.removeEventListener("beforeunload", () => this.beforUnloadHandler());
80
- }
81
86
  /**
82
87
  * @private
83
88
  */
@@ -95,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
95
100
  providedIn: 'root'
96
101
  }]
97
102
  }], ctorParameters: () => [{ type: i0.ApplicationRef }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL3VpL3dpbmRvdy93aW5kb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQWdDLFVBQVUsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxxQkFBcUI7SUFFdEQ7O09BRUc7SUFDSCxZQUFvQixPQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXpDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUksU0FBa0IsRUFBRSxJQUFpQjtRQUNsRCxNQUFNLEVBQUUsR0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQVcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxHQUFnQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBZ0IsQ0FBQztRQUNsRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQW9CLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNGLE1BQU0sTUFBTSxHQUF5QjtZQUNuQyxNQUFNLEVBQUUsR0FBYTtZQUNyQixZQUFZLEVBQUUsWUFBWTtTQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQVU7UUFDckIsTUFBTSxNQUFNLEdBQXVDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixNQUFNLENBQUMsTUFBTSxHQUFFLElBQVcsQ0FBQztRQUMzQixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxZQUFtQixDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE1BQU0sSUFBSSxHQUEyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVMsQ0FBQyxJQUFpQjtRQUNqQyxJQUFJLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNuRCxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs4R0F6RVUsYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFV1aWQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBXaW5kb3dJbml0LCBXaW5kb3dSZWYgfSBmcm9tIFwiLi4vLi4vLi4vYnVzaW5lc3NcIjtcclxuaW1wb3J0IHsgV2luZG93VGFyZ2V0IH0gZnJvbSBcIi4uLy4uLy4uL2J1c2luZXNzL3VpL3dpbmRvdy93aW5kb3ctdGFyZ2V0XCI7XHJcbmltcG9ydCB7IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbC93aW5kb3cvd2luZG93LWZlYXR1cmVzLWJ1aWxkZXJcIjtcclxuaW1wb3J0IHsgV2luZG93SGVhZGVyVGFnVXRpbCB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsL3dpbmRvdy93aW5kb3ctaGVhZGVyLXRhZy11dGlsXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0V2luZG93U2VydmljZSB9IGZyb20gXCIuL2Fic3RyYWN0LXdpbmRvdy5zZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBkaXNwbGF5IEFuZ3VsYXIgY29tcG9uZW50IHdpdGhpbiBhIG5ldyBicm93c2VyIHdpbmRvdy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpbmRvd1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdFdpbmRvd1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwcFJlZjogQXBwbGljYXRpb25SZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLCAoKSA9PiB0aGlzLmJlZm9yVW5sb2FkSGFuZGxlcigpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbmhlcml0ZG9jXHJcbiAgICovXHJcbiAgcHVibGljIG9wZW48VD4oY29tcG9uZW50OiBUeXBlPFQ+LCBpbml0PzogV2luZG93SW5pdCk6IFV1aWQge1xyXG4gICAgY29uc3QgaWQ6IFV1aWQgPSBVdWlkLmJ1aWxkKCk7XHJcbiAgICBjb25zdCBmZWF0dXJlczogc3RyaW5nID0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5idWlsZChpbml0KTtcclxuICAgIGNvbnN0IHdpbjogV2luZG93UHJveHkgPSB3aW5kb3cub3BlbihFTVBUWV9TVFJJTkcsIHRoaXMuZ2V0VGFyZ2V0KGluaXQpLCBmZWF0dXJlcykgYXMgV2luZG93UHJveHk7XHJcbiAgICBXaW5kb3dIZWFkZXJUYWdVdGlsLnNldFRpdGxlKHdpbiwgaW5pdCk7XHJcbiAgICBXaW5kb3dIZWFkZXJUYWdVdGlsLnNldEljb24od2luLCBpbml0KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gdGhpcy5fYXBwUmVmLmJvb3RzdHJhcChjb21wb25lbnQsIHdpbi5kb2N1bWVudC5ib2R5KTtcclxuICAgIGNvbnN0IHdpblJlZjogV2luZG93UmVmPFQsIFdpbmRvdz4gPSB7XHJcbiAgICAgIHdpbmRvdzogd2luIGFzIFdpbmRvdyxcclxuICAgICAgY29tcG9uZW50UmVmOiBjb21wb25lbnRSZWZcclxuICAgIH07XHJcbiAgICB0aGlzLndpbmRvd1JlZk1hcC5zZXQoaWQsIHdpblJlZik7XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZSh1dWlkOiBVdWlkKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB3aW5SZWY6IFdpbmRvd1JlZjxhbnksIFdpbmRvdz4gfCB1bmRlZmluZWQgPSB0aGlzLndpbmRvd1JlZk1hcC5nZXQodXVpZCk7XHJcbiAgICBpZiAoIXdpblJlZikgcmV0dXJuIGZhbHNlO1xyXG4gICAgdGhpcy53aW5kb3dSZWZNYXAuZGVsZXRlKHV1aWQpO1xyXG4gICAgd2luUmVmLndpbmRvdy5jbG9zZSgpO1xyXG4gICAgd2luUmVmLndpbmRvdz0gbnVsbCBhcyBhbnk7XHJcbiAgICB3aW5SZWYuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgIHdpblJlZi5jb21wb25lbnRSZWYgYXMgYW55O1xyXG4gICAgdGhpcy53aW5kb3dDbG9zZS5lbWl0KHV1aWQpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGtleXM6IEl0ZXJhYmxlSXRlcmF0b3I8VXVpZD4gPSB0aGlzLndpbmRvd1JlZk1hcC5rZXlzKCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB0aGlzLmNsb3NlKGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VBbGwoKTtcclxuICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGJlZm9yVW5sb2FkSGFuZGxlcigpOiB2b2lkIHtcclxuICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsICgpID0+IHRoaXMuYmVmb3JVbmxvYWRIYW5kbGVyKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldFRhcmdldChpbml0PzogV2luZG93SW5pdCk6IFdpbmRvd1RhcmdldCB7XHJcbiAgICBpZiAoaW5pdCkgcmV0dXJuIGluaXQudGFyZ2V0IHx8IFdpbmRvd1RhcmdldC5CTEFOSztcclxuICAgIHJldHVybiBXaW5kb3dUYXJnZXQuQkxBTks7XHJcbiAgfVxyXG59Il19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL3VpL3dpbmRvdy93aW5kb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQWdDLFVBQVUsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBT2xFOztHQUVHO0FBQ0gsTUFBTSxRQUFRLEdBQVcsY0FBYyxDQUFDO0FBRXhDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxxQkFBcUI7SUFFdEQ7O09BRUc7SUFDSCxZQUFvQixPQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXpDLE1BQU0sbUJBQW1CLEdBQWdCLEdBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUksU0FBa0IsRUFBRSxJQUFpQjtRQUNsRCxNQUFNLEVBQUUsR0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQVcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxHQUFnQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBZ0IsQ0FBQztRQUNsRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQW9CLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNGLE1BQU0sTUFBTSxHQUF5QjtZQUNuQyxNQUFNLEVBQUUsR0FBYTtZQUNyQixZQUFZLEVBQUUsWUFBWTtTQUMzQixDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQWdCLEdBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxQixHQUFHLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQztRQUNGLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQVU7UUFDckIsTUFBTSxNQUFNLEdBQXVDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQVcsQ0FBQztRQUM1QixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxZQUFtQixDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE1BQU0sSUFBSSxHQUEyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVMsQ0FBQyxJQUFpQjtRQUNqQyxJQUFJLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNuRCxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs4R0F6RVUsYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFV1aWQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBXaW5kb3dJbml0LCBXaW5kb3dSZWYgfSBmcm9tIFwiLi4vLi4vLi4vYnVzaW5lc3NcIjtcclxuaW1wb3J0IHsgV2luZG93VGFyZ2V0IH0gZnJvbSBcIi4uLy4uLy4uL2J1c2luZXNzL3VpL3dpbmRvdy93aW5kb3ctdGFyZ2V0XCI7XHJcbmltcG9ydCB7IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbC93aW5kb3cvd2luZG93LWZlYXR1cmVzLWJ1aWxkZXJcIjtcclxuaW1wb3J0IHsgV2luZG93SGVhZGVyVGFnVXRpbCB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsL3dpbmRvdy93aW5kb3ctaGVhZGVyLXRhZy11dGlsXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0V2luZG93U2VydmljZSB9IGZyb20gXCIuL2Fic3RyYWN0LXdpbmRvdy5zZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICovXHJcbnR5cGUgRXZ0TGlzdGVuZXIgPSAodGhpczogV2luZG93LCBldjogQmVmb3JlVW5sb2FkRXZlbnQpID0+IGFueTtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuY29uc3QgRVZUX1RZUEU6IHN0cmluZyA9IFwiYmVmb3JldW5sb2FkXCI7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBkaXNwbGF5IEFuZ3VsYXIgY29tcG9uZW50IHdpdGhpbiBhIG5ldyBicm93c2VyIHdpbmRvdy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpbmRvd1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdFdpbmRvd1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwcFJlZjogQXBwbGljYXRpb25SZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBjb25zdCBiZWZvcmVVbmxvYWRIYW5kbGVyOiBFdnRMaXN0ZW5lciA9ICgpPT4ge1xyXG4gICAgICB0aGlzLm5nT25EZXN0cm95KCk7XHJcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKEVWVF9UWVBFLCBiZWZvcmVVbmxvYWRIYW5kbGVyKTtcclxuICAgIH07XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihFVlRfVFlQRSwgYmVmb3JlVW5sb2FkSGFuZGxlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBvcGVuPFQ+KGNvbXBvbmVudDogVHlwZTxUPiwgaW5pdD86IFdpbmRvd0luaXQpOiBVdWlkIHtcclxuICAgIGNvbnN0IGlkOiBVdWlkID0gVXVpZC5idWlsZCgpO1xyXG4gICAgY29uc3QgZmVhdHVyZXM6IHN0cmluZyA9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuYnVpbGQoaW5pdCk7XHJcbiAgICBjb25zdCB3aW46IFdpbmRvd1Byb3h5ID0gd2luZG93Lm9wZW4oRU1QVFlfU1RSSU5HLCB0aGlzLmdldFRhcmdldChpbml0KSwgZmVhdHVyZXMpIGFzIFdpbmRvd1Byb3h5O1xyXG4gICAgV2luZG93SGVhZGVyVGFnVXRpbC5zZXRUaXRsZSh3aW4sIGluaXQpO1xyXG4gICAgV2luZG93SGVhZGVyVGFnVXRpbC5zZXRJY29uKHdpbiwgaW5pdCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiA9IHRoaXMuX2FwcFJlZi5ib290c3RyYXAoY29tcG9uZW50LCB3aW4uZG9jdW1lbnQuYm9keSk7XHJcbiAgICBjb25zdCB3aW5SZWY6IFdpbmRvd1JlZjxULCBXaW5kb3c+ID0ge1xyXG4gICAgICB3aW5kb3c6IHdpbiBhcyBXaW5kb3csXHJcbiAgICAgIGNvbXBvbmVudFJlZjogY29tcG9uZW50UmVmXHJcbiAgICB9O1xyXG4gICAgY29uc3QgdW5sb2FkTGlzdGVuZXI6IEV2dExpc3RlbmVyID0gKCk9PiB7XHJcbiAgICAgIHRoaXMud2luZG93Q2xvc2UuZW1pdChpZCk7XHJcbiAgICAgIHdpbi5yZW1vdmVFdmVudExpc3RlbmVyKEVWVF9UWVBFLCB1bmxvYWRMaXN0ZW5lcik7XHJcbiAgICB9O1xyXG4gICAgd2luLmFkZEV2ZW50TGlzdGVuZXIoRVZUX1RZUEUsIHVubG9hZExpc3RlbmVyKTtcclxuICAgIHRoaXMud2luZG93UmVmTWFwLnNldChpZCwgd2luUmVmKTtcclxuICAgIHJldHVybiBpZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbmhlcml0ZG9jXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlKHV1aWQ6IFV1aWQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHdpblJlZjogV2luZG93UmVmPGFueSwgV2luZG93PiB8IHVuZGVmaW5lZCA9IHRoaXMud2luZG93UmVmTWFwLmdldCh1dWlkKTtcclxuICAgIGlmICghd2luUmVmKSByZXR1cm4gZmFsc2U7XHJcbiAgICB0aGlzLndpbmRvd1JlZk1hcC5kZWxldGUodXVpZCk7XHJcbiAgICB3aW5SZWYud2luZG93LmNsb3NlKCk7XHJcbiAgICB3aW5SZWYud2luZG93ID0gbnVsbCBhcyBhbnk7XHJcbiAgICB3aW5SZWYuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgIHdpblJlZi5jb21wb25lbnRSZWYgYXMgYW55O1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGtleXM6IEl0ZXJhYmxlSXRlcmF0b3I8VXVpZD4gPSB0aGlzLndpbmRvd1JlZk1hcC5rZXlzKCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB0aGlzLmNsb3NlKGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VBbGwoKTtcclxuICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldFRhcmdldChpbml0PzogV2luZG93SW5pdCk6IFdpbmRvd1RhcmdldCB7XHJcbiAgICBpZiAoaW5pdCkgcmV0dXJuIGluaXQudGFyZ2V0IHx8IFdpbmRvd1RhcmdldC5CTEFOSztcclxuICAgIHJldHVybiBXaW5kb3dUYXJnZXQuQkxBTks7XHJcbiAgfVxyXG59Il19
@@ -15,8 +15,8 @@ import * as i0 from "@angular/core";
15
15
  const LAYERS_VERSION_CONFIG = {
16
16
  major: 1,
17
17
  minor: 2,
18
- patch: 1,
19
- buildTimestamp: 1725880857406
18
+ patch: 3,
19
+ buildTimestamp: 1726052348239
20
20
  };
21
21
  /**
22
22
  * The public service that exposes the current version of the Angular Toolbox library.
@@ -34,4 +34,4 @@ export class AngularToolboxVersionService extends AbstractVersionManager {
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, decorators: [{
35
35
  type: Injectable
36
36
  }], ctorParameters: () => [] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10b29sYm94LXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL21vZGVsL3NlcnZpY2UvdmVyc2lvbi9hbmd1bGFyLXRvb2xib3gtdmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFrQjtJQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLENBQUM7SUFDUixjQUFjLEVBQUUsYUFBYTtDQUM5QixDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBRXRFOztPQUVHO0lBQ0g7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQVBVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFZlcnNpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IFZlcnNpb25Db25maWcgfSBmcm9tICcuLi8uLi9idXNpbmVzcyc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBUb29sYm94IGxpYnJhcnkuXHJcbiAqL1xyXG5jb25zdCBMQVlFUlNfVkVSU0lPTl9DT05GSUc6IFZlcnNpb25Db25maWcgPSB7XHJcbiAgbWFqb3I6IDEsXHJcbiAgbWlub3I6IDIsXHJcbiAgcGF0Y2g6IDEsXHJcbiAgYnVpbGRUaW1lc3RhbXA6IDE3MjU4ODA4NTc0MDZcclxufTtcclxuXHJcbi8qKlxyXG4gKiBUaGUgcHVibGljIHNlcnZpY2UgdGhhdCBleHBvc2VzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIEFuZ3VsYXIgVG9vbGJveCBsaWJyYXJ5LlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclRvb2xib3hWZXJzaW9uU2VydmljZSBleHRlbmRzIEFic3RyYWN0VmVyc2lvbk1hbmFnZXIge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoTEFZRVJTX1ZFUlNJT05fQ09ORklHKTtcclxuICB9XHJcbn1cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10b29sYm94LXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL21vZGVsL3NlcnZpY2UvdmVyc2lvbi9hbmd1bGFyLXRvb2xib3gtdmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFrQjtJQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLENBQUM7SUFDUixjQUFjLEVBQUUsYUFBYTtDQUM5QixDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBRXRFOztPQUVHO0lBQ0g7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQVBVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFZlcnNpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IFZlcnNpb25Db25maWcgfSBmcm9tICcuLi8uLi9idXNpbmVzcyc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBUb29sYm94IGxpYnJhcnkuXHJcbiAqL1xyXG5jb25zdCBMQVlFUlNfVkVSU0lPTl9DT05GSUc6IFZlcnNpb25Db25maWcgPSB7XHJcbiAgbWFqb3I6IDEsXHJcbiAgbWlub3I6IDIsXHJcbiAgcGF0Y2g6IDMsXHJcbiAgYnVpbGRUaW1lc3RhbXA6IDE3MjYwNTIzNDgyMzlcclxufTtcclxuXHJcbi8qKlxyXG4gKiBUaGUgcHVibGljIHNlcnZpY2UgdGhhdCBleHBvc2VzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIEFuZ3VsYXIgVG9vbGJveCBsaWJyYXJ5LlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclRvb2xib3hWZXJzaW9uU2VydmljZSBleHRlbmRzIEFic3RyYWN0VmVyc2lvbk1hbmFnZXIge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoTEFZRVJTX1ZFUlNJT05fQ09ORklHKTtcclxuICB9XHJcbn1cclxuIl19
@@ -2,4 +2,5 @@ export * from './empty-string.const';
2
2
  export * from './aria-role.constant';
3
3
  export * from './uuid';
4
4
  export * from './js-type';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi91dGlsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW1wdHktc3RyaW5nLmNvbnN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9hcmlhLXJvbGUuY29uc3RhbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V1aWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2pzLXR5cGUnOyJdfQ==
5
+ export * from './version.util';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi91dGlsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbXB0eS1zdHJpbmcuY29uc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FyaWEtcm9sZS5jb25zdGFudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXVpZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vanMtdHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmVyc2lvbi51dGlsJzsiXX0=
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license
3
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be found in
6
+ * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
+ */
8
+ import { EMPTY_STRING } from "./empty-string.const";
9
+ /**
10
+ * @private
11
+ */
12
+ const DASH = "-";
13
+ /**
14
+ * A convenient utility class for working with `Version` objects.
15
+ */
16
+ export class VersionUtil {
17
+ /**
18
+ * Returns a string that represents the specified `Version` object.
19
+ *
20
+ * @param version The `Version` object for which to get a string representation.
21
+ *
22
+ * @returns A string that represents the specified `Version` object.
23
+ */
24
+ static stringify(version) {
25
+ const m = version.metadata;
26
+ return `${version.major}.${version.minor}.${version.patch}${m ? DASH + m : EMPTY_STRING}`;
27
+ }
28
+ /**
29
+ * Compares the given `Version` objects.
30
+ *
31
+ * @param v1 The first object to compare.
32
+ * @param v2 The second object to compare.
33
+ *
34
+ * @returns `true` whether both `Version` objects are equal; `false` otherwise.
35
+ */
36
+ static equal(v1, v2) {
37
+ return v1.major === v2.major &&
38
+ v1.minor === v2.minor &&
39
+ v1.patch === v2.patch &&
40
+ v1.buildTimeStamp === v2.buildTimeStamp &&
41
+ v1.metadata === v2.metadata;
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvdXRpbC92ZXJzaW9uLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsTUFBTSxJQUFJLEdBQVcsR0FBRyxDQUFDO0FBRXpCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFFcEI7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFnQjtRQUNwQyxNQUFNLENBQUMsR0FBdUIsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUMvQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5RixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVyxFQUFFLEVBQVc7UUFDeEMsT0FBUSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxLQUFLO1lBQ3JCLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUs7WUFDckIsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUMsS0FBSztZQUNyQixFQUFFLENBQUMsY0FBYyxLQUFLLEVBQUUsQ0FBQyxjQUFjO1lBQ3ZDLEVBQUUsQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSBcIi4uL21vZGVsXCI7XHJcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuL2VtcHR5LXN0cmluZy5jb25zdFwiO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5jb25zdCBEQVNIOiBzdHJpbmcgPSBcIi1cIjtcclxuXHJcbi8qKlxyXG4gKiBBIGNvbnZlbmllbnQgdXRpbGl0eSBjbGFzcyBmb3Igd29ya2luZyB3aXRoIGBWZXJzaW9uYCBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZlcnNpb25VdGlsIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSBzdHJpbmcgdGhhdCByZXByZXNlbnRzIHRoZSBzcGVjaWZpZWQgYFZlcnNpb25gIG9iamVjdC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHZlcnNpb24gVGhlIGBWZXJzaW9uYCBvYmplY3QgZm9yIHdoaWNoIHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbi5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgQSBzdHJpbmcgdGhhdCByZXByZXNlbnRzIHRoZSBzcGVjaWZpZWQgYFZlcnNpb25gIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBzdHJpbmdpZnkodmVyc2lvbjogVmVyc2lvbik6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgbTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdmVyc2lvbi5tZXRhZGF0YTtcclxuICAgICAgICByZXR1cm4gYCR7dmVyc2lvbi5tYWpvcn0uJHt2ZXJzaW9uLm1pbm9yfS4ke3ZlcnNpb24ucGF0Y2h9JHttID8gREFTSCArIG0gOiBFTVBUWV9TVFJJTkd9YDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlcyB0aGUgZ2l2ZW4gYFZlcnNpb25gIG9iamVjdHMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB2MSBUaGUgZmlyc3Qgb2JqZWN0IHRvIGNvbXBhcmUuXHJcbiAgICAgKiBAcGFyYW0gdjIgVGhlIHNlY29uZCBvYmplY3QgdG8gY29tcGFyZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgYHRydWVgIHdoZXRoZXIgYm90aCBgVmVyc2lvbmAgb2JqZWN0cyBhcmUgZXF1YWw7IGBmYWxzZWAgb3RoZXJ3aXNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGVxdWFsKHYxOiBWZXJzaW9uLCB2MjogVmVyc2lvbik6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAgdjEubWFqb3IgPT09IHYyLm1ham9yICYmXHJcbiAgICAgICAgICAgICAgICB2MS5taW5vciA9PT0gdjIubWlub3IgJiZcclxuICAgICAgICAgICAgICAgIHYxLnBhdGNoID09PSB2Mi5wYXRjaCAmJlxyXG4gICAgICAgICAgICAgICAgdjEuYnVpbGRUaW1lU3RhbXAgPT09IHYyLmJ1aWxkVGltZVN0YW1wICYmXHJcbiAgICAgICAgICAgICAgICB2MS5tZXRhZGF0YSA9PT0gdjIubWV0YWRhdGE7XHJcbiAgICB9XHJcbn0iXX0=
@@ -22,6 +22,8 @@ export class BrowserWindowFeaturesBuilder {
22
22
  if (!init)
23
23
  return "popup=true,left=100,top=100,width=800,height=450";
24
24
  let features = "popup=true";
25
+ if (init.center)
26
+ BrowserWindowFeaturesBuilder.setCenterPos(init);
25
27
  features += BrowserWindowFeaturesBuilder.getLeft(init);
26
28
  features += BrowserWindowFeaturesBuilder.getTop(init);
27
29
  features += BrowserWindowFeaturesBuilder.getWidth(init);
@@ -35,6 +37,16 @@ export class BrowserWindowFeaturesBuilder {
35
37
  features += BrowserWindowFeaturesBuilder.getPopupProp("menubar", init);
36
38
  return features;
37
39
  }
40
+ /**
41
+ * @private
42
+ */
43
+ static setCenterPos(init) {
44
+ const screen = window.screen;
45
+ let meas = init.width || 800;
46
+ init.left = (screen.width - meas) / 2;
47
+ meas = init.height || 450;
48
+ init.top = (screen.height - meas) / 2;
49
+ }
38
50
  /**
39
51
  * @private
40
52
  */
@@ -75,4 +87,4 @@ export class BrowserWindowFeaturesBuilder {
75
87
  return `,${property}=${v}`;
76
88
  }
77
89
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LWZlYXR1cmVzLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi91dGlsL3dpbmRvdy93aW5kb3ctZmVhdHVyZXMtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFHSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtJQUVyQzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQWlCO1FBQ2pDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxrREFBa0QsQ0FBQztRQUNyRSxJQUFJLFFBQVEsR0FBVyxZQUFZLENBQUM7UUFDcEMsUUFBUSxJQUFJLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxRQUFRLElBQUksNEJBQTRCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsUUFBUSxJQUFJLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxRQUFRLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRSxRQUFRLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxRQUFRLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRSxRQUFRLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RSxRQUFRLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxRQUFRLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxRQUFRLElBQUksNEJBQTRCLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWlCO1FBQ25DLE1BQU0sQ0FBQyxHQUF1QixJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBaUI7UUFDbEMsTUFBTSxDQUFDLEdBQXVCLElBQUksRUFBRSxHQUFHLENBQUM7UUFDeEMsT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUNwQyxNQUFNLENBQUMsR0FBdUIsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUMxQyxPQUFPLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQWlCO1FBQ3JDLE1BQU0sQ0FBQyxHQUF1QixJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQzNDLE9BQU8sVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxJQUFpQjtRQUMxRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFTLElBQVksQ0FBQyxRQUFlLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsQ0FBQztZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgV2luZG93SW5pdCB9IGZyb20gXCIuLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vZW1wdHktc3RyaW5nLmNvbnN0XCI7XHJcblxyXG4vKipcclxuICogQSBzdGF0aWMgYnVpbGRlciB0aGF0IGNyZWF0ZXMgdGhlIGZlYXR1cmVzIGFzc29jaWF0ZWQgd2l0aCBhIHBvcHVwIHdpbmRvdyBjcmVhdGVkIGJ5XHJcbiAqIHRoZSBgV2luZG93U2VydmljZS5vcGVuKClgIG1ldGhvZC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJ1aWxkcyBhIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIGZlYXR1cmVzIHBhcmFtZXRlciBvZiB0aGUgYFdpbmRvdy5vcGVuKClgIG1ldGhvZC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGluaXQgQSBgV2luZG93SW5pdGAgb2JqZWN0IHRoYXQgY29udGFpbnMgZGF0YSB0byBpbml0aWFsaXplIHRoZSBmZWF0dXJlcyBzdHJpbmcuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyB0aGUgZmVhdHVyZXMgcGFyYW1ldGVyIG9mIHRoZSBgV2luZG93Lm9wZW4oKWAgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGJ1aWxkKGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWluaXQpIHJldHVybiBcInBvcHVwPXRydWUsbGVmdD0xMDAsdG9wPTEwMCx3aWR0aD04MDAsaGVpZ2h0PTQ1MFwiO1xyXG4gICAgICAgIGxldCBmZWF0dXJlczogc3RyaW5nID0gXCJwb3B1cD10cnVlXCI7XHJcbiAgICAgICAgZmVhdHVyZXMgKz0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5nZXRMZWZ0KGluaXQpO1xyXG4gICAgICAgIGZlYXR1cmVzICs9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuZ2V0VG9wKGluaXQpO1xyXG4gICAgICAgIGZlYXR1cmVzICs9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuZ2V0V2lkdGgoaW5pdCk7XHJcbiAgICAgICAgZmVhdHVyZXMgKz0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5nZXRIZWlnaHQoaW5pdCk7XHJcbiAgICAgICAgZmVhdHVyZXMgKz0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5nZXRQb3B1cFByb3AoXCJkaXJlY3Rvcmllc1wiLCBpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldFBvcHVwUHJvcChcInRpdGxlYmFyXCIsIGluaXQpO1xyXG4gICAgICAgIGZlYXR1cmVzICs9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuZ2V0UG9wdXBQcm9wKFwic2Nyb2xsYmFyc1wiLCBpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldFBvcHVwUHJvcChcInRvb2xiYXJcIiwgaW5pdCk7XHJcbiAgICAgICAgZmVhdHVyZXMgKz0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5nZXRQb3B1cFByb3AoXCJsb2NhdGlvblwiLCBpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldFBvcHVwUHJvcChcInN0YXR1c1wiLCBpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldFBvcHVwUHJvcChcIm1lbnViYXJcIiwgaW5pdCk7XHJcbiAgICAgICAgcmV0dXJuIGZlYXR1cmVzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRMZWZ0KGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2OiBudW1iZXIgfCB1bmRlZmluZWQgPSBpbml0Py5sZWZ0O1xyXG4gICAgICAgIHJldHVybiBcIixsZWZ0PVwiICsgKHYgfHwgMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VG9wKGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2OiBudW1iZXIgfCB1bmRlZmluZWQgPSBpbml0Py50b3A7XHJcbiAgICAgICAgcmV0dXJuIFwiLHRvcD1cIiArICh2IHx8IDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFdpZHRoKGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2OiBudW1iZXIgfCB1bmRlZmluZWQgPSBpbml0Py53aWR0aDtcclxuICAgICAgICByZXR1cm4gXCIsd2lkdGg9XCIgKyAodiB8fCA4MDApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRIZWlnaHQoaW5pdD86IFdpbmRvd0luaXQpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHY6IG51bWJlciB8IHVuZGVmaW5lZCA9IGluaXQ/LmhlaWdodDtcclxuICAgICAgICByZXR1cm4gXCIsaGVpZ2h0PVwiICsgKHYgfHwgNDUwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UG9wdXBQcm9wKHByb3BlcnR5OiBzdHJpbmcsIGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWluaXQpIHJldHVybiBFTVBUWV9TVFJJTkc7XHJcbiAgICAgICAgY29uc3QgdjogYW55ID0gKGluaXQgYXMgYW55KVtwcm9wZXJ0eSBhcyBhbnldO1xyXG4gICAgICAgIGlmICghdikgcmV0dXJuIEVNUFRZX1NUUklORztcclxuICAgICAgICByZXR1cm4gYCwke3Byb3BlcnR5fT0ke3Z9YDtcclxuICAgIH1cclxufVxyXG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LWZlYXR1cmVzLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi91dGlsL3dpbmRvdy93aW5kb3ctZmVhdHVyZXMtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFHSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtJQUVyQzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQWlCO1FBQ2pDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxrREFBa0QsQ0FBQztRQUNyRSxJQUFJLFFBQVEsR0FBVyxZQUFZLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRSxRQUFRLElBQUksNEJBQTRCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsUUFBUSxJQUFJLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxRQUFRLElBQUksNEJBQTRCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFFLFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLFFBQVEsSUFBSSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBZ0I7UUFDdkMsTUFBTSxNQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxJQUFJLElBQUksR0FBWSxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxHQUFJLElBQUksQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWlCO1FBQ25DLE1BQU0sQ0FBQyxHQUF1QixJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBaUI7UUFDbEMsTUFBTSxDQUFDLEdBQXVCLElBQUksRUFBRSxHQUFHLENBQUM7UUFDeEMsT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUNwQyxNQUFNLENBQUMsR0FBdUIsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUMxQyxPQUFPLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQWlCO1FBQ3JDLE1BQU0sQ0FBQyxHQUF1QixJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQzNDLE9BQU8sVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxJQUFpQjtRQUMxRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFTLElBQVksQ0FBQyxRQUFlLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsQ0FBQztZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgV2luZG93SW5pdCB9IGZyb20gXCIuLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vZW1wdHktc3RyaW5nLmNvbnN0XCI7XHJcblxyXG4vKipcclxuICogQSBzdGF0aWMgYnVpbGRlciB0aGF0IGNyZWF0ZXMgdGhlIGZlYXR1cmVzIGFzc29jaWF0ZWQgd2l0aCBhIHBvcHVwIHdpbmRvdyBjcmVhdGVkIGJ5XHJcbiAqIHRoZSBgV2luZG93U2VydmljZS5vcGVuKClgIG1ldGhvZC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJ1aWxkcyBhIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgdGhlIGZlYXR1cmVzIHBhcmFtZXRlciBvZiB0aGUgYFdpbmRvdy5vcGVuKClgIG1ldGhvZC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGluaXQgQSBgV2luZG93SW5pdGAgb2JqZWN0IHRoYXQgY29udGFpbnMgZGF0YSB0byBpbml0aWFsaXplIHRoZSBmZWF0dXJlcyBzdHJpbmcuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyB0aGUgZmVhdHVyZXMgcGFyYW1ldGVyIG9mIHRoZSBgV2luZG93Lm9wZW4oKWAgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGJ1aWxkKGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWluaXQpIHJldHVybiBcInBvcHVwPXRydWUsbGVmdD0xMDAsdG9wPTEwMCx3aWR0aD04MDAsaGVpZ2h0PTQ1MFwiO1xyXG4gICAgICAgIGxldCBmZWF0dXJlczogc3RyaW5nID0gXCJwb3B1cD10cnVlXCI7XHJcbiAgICAgICAgaWYgKGluaXQuY2VudGVyKSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLnNldENlbnRlclBvcyhpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldExlZnQoaW5pdCk7XHJcbiAgICAgICAgZmVhdHVyZXMgKz0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5nZXRUb3AoaW5pdCk7XHJcbiAgICAgICAgZmVhdHVyZXMgKz0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5nZXRXaWR0aChpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldEhlaWdodChpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldFBvcHVwUHJvcChcImRpcmVjdG9yaWVzXCIsIGluaXQpO1xyXG4gICAgICAgIGZlYXR1cmVzICs9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuZ2V0UG9wdXBQcm9wKFwidGl0bGViYXJcIiwgaW5pdCk7XHJcbiAgICAgICAgZmVhdHVyZXMgKz0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5nZXRQb3B1cFByb3AoXCJzY3JvbGxiYXJzXCIsIGluaXQpO1xyXG4gICAgICAgIGZlYXR1cmVzICs9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuZ2V0UG9wdXBQcm9wKFwidG9vbGJhclwiLCBpbml0KTtcclxuICAgICAgICBmZWF0dXJlcyArPSBCcm93c2VyV2luZG93RmVhdHVyZXNCdWlsZGVyLmdldFBvcHVwUHJvcChcImxvY2F0aW9uXCIsIGluaXQpO1xyXG4gICAgICAgIGZlYXR1cmVzICs9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuZ2V0UG9wdXBQcm9wKFwic3RhdHVzXCIsIGluaXQpO1xyXG4gICAgICAgIGZlYXR1cmVzICs9IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIuZ2V0UG9wdXBQcm9wKFwibWVudWJhclwiLCBpbml0KTtcclxuICAgICAgICByZXR1cm4gZmVhdHVyZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHNldENlbnRlclBvcyhpbml0OiBXaW5kb3dJbml0KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2NyZWVuOiBTY3JlZW4gPSB3aW5kb3cuc2NyZWVuO1xyXG4gICAgICAgIGxldCBtZWFzOiBudW1iZXIgPSAgaW5pdC53aWR0aCB8fCA4MDA7XHJcbiAgICAgICAgaW5pdC5sZWZ0ID0gKHNjcmVlbi53aWR0aCAtIG1lYXMpIC8gMjtcclxuICAgICAgICBtZWFzID0gIGluaXQuaGVpZ2h0IHx8IDQ1MDtcclxuICAgICAgICBpbml0LnRvcCA9IChzY3JlZW4uaGVpZ2h0IC0gbWVhcykgLyAyO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRMZWZ0KGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2OiBudW1iZXIgfCB1bmRlZmluZWQgPSBpbml0Py5sZWZ0O1xyXG4gICAgICAgIHJldHVybiBcIixsZWZ0PVwiICsgKHYgfHwgMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VG9wKGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2OiBudW1iZXIgfCB1bmRlZmluZWQgPSBpbml0Py50b3A7XHJcbiAgICAgICAgcmV0dXJuIFwiLHRvcD1cIiArICh2IHx8IDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldFdpZHRoKGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB2OiBudW1iZXIgfCB1bmRlZmluZWQgPSBpbml0Py53aWR0aDtcclxuICAgICAgICByZXR1cm4gXCIsd2lkdGg9XCIgKyAodiB8fCA4MDApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBnZXRIZWlnaHQoaW5pdD86IFdpbmRvd0luaXQpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHY6IG51bWJlciB8IHVuZGVmaW5lZCA9IGluaXQ/LmhlaWdodDtcclxuICAgICAgICByZXR1cm4gXCIsaGVpZ2h0PVwiICsgKHYgfHwgNDUwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UG9wdXBQcm9wKHByb3BlcnR5OiBzdHJpbmcsIGluaXQ/OiBXaW5kb3dJbml0KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWluaXQpIHJldHVybiBFTVBUWV9TVFJJTkc7XHJcbiAgICAgICAgY29uc3QgdjogYW55ID0gKGluaXQgYXMgYW55KVtwcm9wZXJ0eSBhcyBhbnldO1xyXG4gICAgICAgIGlmICghdikgcmV0dXJuIEVNUFRZX1NUUklORztcclxuICAgICAgICByZXR1cm4gYCwke3Byb3BlcnR5fT0ke3Z9YDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -302,6 +302,49 @@ const STRING = "string";
302
302
  */
303
303
  const SYMBOL = "symbol";
304
304
 
305
+ /**
306
+ * @license
307
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
308
+ *
309
+ * Use of this source code is governed by an MIT-style license that can be found in
310
+ * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
311
+ */
312
+ /**
313
+ * @private
314
+ */
315
+ const DASH = "-";
316
+ /**
317
+ * A convenient utility class for working with `Version` objects.
318
+ */
319
+ class VersionUtil {
320
+ /**
321
+ * Returns a string that represents the specified `Version` object.
322
+ *
323
+ * @param version The `Version` object for which to get a string representation.
324
+ *
325
+ * @returns A string that represents the specified `Version` object.
326
+ */
327
+ static stringify(version) {
328
+ const m = version.metadata;
329
+ return `${version.major}.${version.minor}.${version.patch}${m ? DASH + m : EMPTY_STRING}`;
330
+ }
331
+ /**
332
+ * Compares the given `Version` objects.
333
+ *
334
+ * @param v1 The first object to compare.
335
+ * @param v2 The second object to compare.
336
+ *
337
+ * @returns `true` whether both `Version` objects are equal; `false` otherwise.
338
+ */
339
+ static equal(v1, v2) {
340
+ return v1.major === v2.major &&
341
+ v1.minor === v2.minor &&
342
+ v1.patch === v2.patch &&
343
+ v1.buildTimeStamp === v2.buildTimeStamp &&
344
+ v1.metadata === v2.metadata;
345
+ }
346
+ }
347
+
305
348
  /**
306
349
  * @license
307
350
  * Copyright Pascal ECHEMANN. All Rights Reserved.
@@ -488,8 +531,7 @@ class VersionImpl {
488
531
  * @returns A string representation of this `VersionImpl` instance.
489
532
  */
490
533
  toString() {
491
- const m = this.metadata;
492
- return `${this.major}.${this.minor}.${this.patch}${m ? "-" + m : EMPTY_STRING}`;
534
+ return VersionUtil.stringify(this);
493
535
  }
494
536
  }
495
537
  ;
@@ -544,8 +586,8 @@ class AbstractVersionManager {
544
586
  const LAYERS_VERSION_CONFIG = {
545
587
  major: 1,
546
588
  minor: 2,
547
- patch: 1,
548
- buildTimestamp: 1725880857406
589
+ patch: 3,
590
+ buildTimestamp: 1726052348239
549
591
  };
550
592
  /**
551
593
  * The public service that exposes the current version of the Angular Toolbox library.
@@ -2233,6 +2275,8 @@ class BrowserWindowFeaturesBuilder {
2233
2275
  if (!init)
2234
2276
  return "popup=true,left=100,top=100,width=800,height=450";
2235
2277
  let features = "popup=true";
2278
+ if (init.center)
2279
+ BrowserWindowFeaturesBuilder.setCenterPos(init);
2236
2280
  features += BrowserWindowFeaturesBuilder.getLeft(init);
2237
2281
  features += BrowserWindowFeaturesBuilder.getTop(init);
2238
2282
  features += BrowserWindowFeaturesBuilder.getWidth(init);
@@ -2246,6 +2290,16 @@ class BrowserWindowFeaturesBuilder {
2246
2290
  features += BrowserWindowFeaturesBuilder.getPopupProp("menubar", init);
2247
2291
  return features;
2248
2292
  }
2293
+ /**
2294
+ * @private
2295
+ */
2296
+ static setCenterPos(init) {
2297
+ const screen = window.screen;
2298
+ let meas = init.width || 800;
2299
+ init.left = (screen.width - meas) / 2;
2300
+ meas = init.height || 450;
2301
+ init.top = (screen.height - meas) / 2;
2302
+ }
2249
2303
  /**
2250
2304
  * @private
2251
2305
  */
@@ -2336,6 +2390,10 @@ class WindowHeaderTagUtil {
2336
2390
  * Use of this source code is governed by an MIT-style license that can be found in
2337
2391
  * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
2338
2392
  */
2393
+ /**
2394
+ * @private
2395
+ */
2396
+ const EVT_TYPE = "beforeunload";
2339
2397
  /**
2340
2398
  * Provides functionality to display Angular component within a new browser window.
2341
2399
  */
@@ -2346,7 +2404,11 @@ class WindowService extends AbstractWindowService {
2346
2404
  constructor(_appRef) {
2347
2405
  super();
2348
2406
  this._appRef = _appRef;
2349
- window.addEventListener("beforeunload", () => this.beforUnloadHandler());
2407
+ const beforeUnloadHandler = () => {
2408
+ this.ngOnDestroy();
2409
+ window.removeEventListener(EVT_TYPE, beforeUnloadHandler);
2410
+ };
2411
+ window.addEventListener(EVT_TYPE, beforeUnloadHandler);
2350
2412
  }
2351
2413
  /**
2352
2414
  * @inheritdoc
@@ -2362,6 +2424,11 @@ class WindowService extends AbstractWindowService {
2362
2424
  window: win,
2363
2425
  componentRef: componentRef
2364
2426
  };
2427
+ const unloadListener = () => {
2428
+ this.windowClose.emit(id);
2429
+ win.removeEventListener(EVT_TYPE, unloadListener);
2430
+ };
2431
+ win.addEventListener(EVT_TYPE, unloadListener);
2365
2432
  this.windowRefMap.set(id, winRef);
2366
2433
  return id;
2367
2434
  }
@@ -2377,7 +2444,6 @@ class WindowService extends AbstractWindowService {
2377
2444
  winRef.window = null;
2378
2445
  winRef.componentRef.destroy();
2379
2446
  winRef.componentRef;
2380
- this.windowClose.emit(uuid);
2381
2447
  return true;
2382
2448
  }
2383
2449
  /**
@@ -2395,13 +2461,6 @@ class WindowService extends AbstractWindowService {
2395
2461
  this.closeAll();
2396
2462
  this.destroy();
2397
2463
  }
2398
- /**
2399
- * @private
2400
- */
2401
- beforUnloadHandler() {
2402
- this.ngOnDestroy();
2403
- window.removeEventListener("beforeunload", () => this.beforUnloadHandler());
2404
- }
2405
2464
  /**
2406
2465
  * @private
2407
2466
  */
@@ -8002,5 +8061,5 @@ const httpMockFactory = () => {
8002
8061
  * Generated bundle index. Do not edit.
8003
8062
  */
8004
8063
 
8005
- export { APP_PRIDGE_REF, ATX_LOGGER_CONFIG, AbstractLogger, AbstractSubscriptionManager, AbstractVersionManager, AbstractWindowService, AnchorLinklDirective, AngularToolboxLogoComponent, AngularToolboxModule, AngularToolboxVersionService, AppBridgeError, AppBridgeService, ArrayList, ArrayListEvent, ArrayListEventType, AtxHttpMockConsoleService, AtxMonitoringConsoleComponent, BIGINT, BOOLEAN, BUTTON_ROLE, ButtonRoleDirective, CSS_PROP, ConsoleLogConnector, ContentRendererDirective, DARK_MODE_CONFIG, DEFAULT_LOG_CONNECTOR, DarkModeService, DefaultLogConnector, EMPTY_STRING, FEATURES, FUNCTION, FetchClient, FetchClientBuilder, FetchClientResponseType, HTTP_MOCKING_FRAMEWORK_CONFIG, HTTP_MOCK_MAX_DELAY, HTTP_MOCK_SERVICE, HtmlLogConnector, HttpHeadersMockBuilder, HttpMock, HttpMockLoggingService, HttpMockProductionPolicy, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, IdentifiableComponent, IntegrityError, LINK_ROLE, LOG_CONFIG_STRING, LOG_ERROR_STRING, LOG_INFO_STRING, LOG_WARNING_STRING, LogBuilder, LogImpl, LogLevel, LogUtil, LoggerService, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, WindowFeatureState, WindowService, WindowTarget, httpHeadersMock, httpMockFactory, httpResponseMock };
8064
+ export { APP_PRIDGE_REF, ATX_LOGGER_CONFIG, AbstractLogger, AbstractSubscriptionManager, AbstractVersionManager, AbstractWindowService, AnchorLinklDirective, AngularToolboxLogoComponent, AngularToolboxModule, AngularToolboxVersionService, AppBridgeError, AppBridgeService, ArrayList, ArrayListEvent, ArrayListEventType, AtxHttpMockConsoleService, AtxMonitoringConsoleComponent, BIGINT, BOOLEAN, BUTTON_ROLE, ButtonRoleDirective, CSS_PROP, ConsoleLogConnector, ContentRendererDirective, DARK_MODE_CONFIG, DEFAULT_LOG_CONNECTOR, DarkModeService, DefaultLogConnector, EMPTY_STRING, FEATURES, FUNCTION, FetchClient, FetchClientBuilder, FetchClientResponseType, HTTP_MOCKING_FRAMEWORK_CONFIG, HTTP_MOCK_MAX_DELAY, HTTP_MOCK_SERVICE, HtmlLogConnector, HttpHeadersMockBuilder, HttpMock, HttpMockLoggingService, HttpMockProductionPolicy, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, IdentifiableComponent, IntegrityError, LINK_ROLE, LOG_CONFIG_STRING, LOG_ERROR_STRING, LOG_INFO_STRING, LOG_WARNING_STRING, LogBuilder, LogImpl, LogLevel, LogUtil, LoggerService, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, VersionUtil, WindowFeatureState, WindowService, WindowTarget, httpHeadersMock, httpMockFactory, httpResponseMock };
8006
8065
  //# sourceMappingURL=angular-toolbox.mjs.map