diff --git a/README.md b/README.md index 5a397243f20ca420acf6664d22b9ec7ed5666343..82e82560f2053f60d4914f0f4a6804074473ef12 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Monster - +  **Build fantastic websites!** diff --git a/package-lock.json b/package-lock.json index 89418b630f4098d50cdd1f27d02528239c23ce21..30c98d054eb0a434db6fe94bfe9ee244b27be43b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,9 +7,6 @@ "": { "version": "x.x.x", "license": "see LICENSE file", - "dependencies": { - "istanbul-instrumenter-loader": "^3.0.1" - }, "devDependencies": { "@babel/cli": "^7.14.5", "@babel/core": "^7.14.6", @@ -36,6 +33,7 @@ "exorcist": "^2.0.0", "flow-bin": "^0.156.0", "get-random-values": "^1.2.2", + "istanbul-instrumenter-loader": "^3.0.1", "jsdoc": "^3.6.7", "jsdom": "^16.6.0", "jsdom-global": "^3.0.2", @@ -2402,6 +2400,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -2413,24 +2412,28 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-code-frame": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/wast-printer": "1.9.0" @@ -2440,12 +2443,14 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-module-context": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0" @@ -2455,12 +2460,14 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true, "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -2473,6 +2480,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -2482,6 +2490,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, "peer": true, "dependencies": { "@xtuc/long": "4.2.2" @@ -2491,12 +2500,14 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true, "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -2513,6 +2524,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -2526,6 +2538,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -2538,6 +2551,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -2552,6 +2566,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -2566,6 +2581,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -2577,12 +2593,14 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, "peer": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, "peer": true }, "node_modules/abab": { @@ -2699,6 +2717,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2714,6 +2733,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, "peer": true, "peerDependencies": { "ajv": ">=5.0.0" @@ -2723,6 +2743,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, "peer": true, "peerDependencies": { "ajv": "^6.9.1" @@ -2786,7 +2807,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "devOptional": true, + "dev": true, "dependencies": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -2796,7 +2817,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "devOptional": true, + "dev": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, @@ -2841,6 +2862,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, "peer": true }, "node_modules/archiver": { @@ -2939,6 +2961,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2947,6 +2970,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2955,6 +2979,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2984,6 +3009,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3001,6 +3027,7 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -3011,7 +3038,8 @@ "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/asn1js": { "version": "2.1.1", @@ -3029,6 +3057,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" @@ -3037,12 +3066,14 @@ "node_modules/assert/node_modules/inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true }, "node_modules/assert/node_modules/util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, "dependencies": { "inherits": "2.0.1" } @@ -3060,6 +3091,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3083,7 +3115,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "devOptional": true + "dev": true }, "node_modules/asynckit": { "version": "0.4.0", @@ -3104,6 +3136,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, "bin": { "atob": "bin/atob.js" }, @@ -3127,6 +3160,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, "dependencies": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -3137,6 +3171,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3145,6 +3180,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3153,6 +3189,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -3167,12 +3204,14 @@ "node_modules/babel-code-frame/node_modules/js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true }, "node_modules/babel-code-frame/node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -3184,6 +3223,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, "engines": { "node": ">=0.8.0" } @@ -3192,6 +3232,7 @@ "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, "dependencies": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", @@ -3207,6 +3248,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true, "bin": { "jsesc": "bin/jsesc" } @@ -3342,6 +3384,7 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, "dependencies": { "babel-runtime": "^6.22.0" } @@ -3834,6 +3877,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "dependencies": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -3843,6 +3887,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, "dependencies": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -3855,6 +3900,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, "dependencies": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -3871,6 +3917,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { "ms": "2.0.0" } @@ -3879,6 +3926,7 @@ "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3886,12 +3934,14 @@ "node_modules/babel-traverse/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, "dependencies": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -3903,6 +3953,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3923,6 +3974,7 @@ "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, "bin": { "babylon": "bin/babylon.js" } @@ -3930,12 +3982,14 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -3953,6 +4007,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -3964,6 +4019,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, "funding": [ { "type": "github", @@ -4013,6 +4069,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, "engines": { "node": "*" } @@ -4021,7 +4078,7 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -4030,6 +4087,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, "optional": true, "dependencies": { "file-uri-to-path": "1.0.0" @@ -4071,12 +4129,14 @@ "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, "node_modules/bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true }, "node_modules/body-parser": { "version": "1.12.4", @@ -4144,6 +4204,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4153,6 +4214,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -4172,7 +4234,8 @@ "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true }, "node_modules/brout": { "version": "1.3.0", @@ -4346,6 +4409,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -4359,6 +4423,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -4369,6 +4434,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -4380,6 +4446,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -4389,6 +4456,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -4405,6 +4473,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -4418,6 +4487,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, "dependencies": { "pako": "~1.0.5" } @@ -4479,17 +4549,20 @@ "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true }, "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true }, "node_modules/bundle-collapser": { "version": "1.4.0", @@ -4518,6 +4591,7 @@ "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, "peer": true, "dependencies": { "bluebird": "^3.5.5", @@ -4541,6 +4615,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "peer": true, "dependencies": { "yallist": "^3.0.2" @@ -4550,6 +4625,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "dependencies": { "minimist": "^1.2.5" @@ -4562,6 +4638,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "peer": true, "dependencies": { "glob": "^7.1.3" @@ -4574,18 +4651,21 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, "peer": true }, "node_modules/cacache/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, "peer": true }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -4794,7 +4874,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "devOptional": true, + "dev": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4815,7 +4895,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "devOptional": true, + "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4828,7 +4908,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -4837,7 +4917,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "devOptional": true, + "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -4849,7 +4929,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "devOptional": true, + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4861,7 +4941,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "devOptional": true, + "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -4873,7 +4953,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.12.0" } @@ -4882,7 +4962,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "devOptional": true, + "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -4894,7 +4974,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -4905,7 +4985,8 @@ "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "node_modules/chrome-launcher": { "version": "0.11.2", @@ -4974,6 +5055,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, "peer": true, "engines": { "node": ">=6.0" @@ -4993,6 +5075,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -5002,6 +5085,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -5016,6 +5100,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -5027,6 +5112,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -5038,6 +5124,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -5049,6 +5136,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -5062,6 +5150,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -5111,6 +5200,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -5120,6 +5210,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -5213,12 +5304,14 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, "node_modules/compress-commons": { "version": "0.2.9", @@ -5262,12 +5355,14 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "engines": [ "node >= 0.8" ], @@ -5311,7 +5406,8 @@ "node_modules/console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, "node_modules/consolify": { "version": "2.2.0", @@ -5332,7 +5428,8 @@ "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true }, "node_modules/content-disposition": { "version": "0.5.3", @@ -5365,6 +5462,7 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } @@ -5372,7 +5470,8 @@ "node_modules/convert-source-map/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/cookie": { "version": "0.4.0", @@ -5412,6 +5511,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, "peer": true, "dependencies": { "aproba": "^1.1.1", @@ -5426,6 +5526,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "dependencies": { "minimist": "^1.2.5" @@ -5438,6 +5539,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "peer": true, "dependencies": { "glob": "^7.1.3" @@ -5450,6 +5552,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -5459,6 +5562,7 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, "hasInstallScript": true }, "node_modules/core-js-compat": { @@ -5487,7 +5591,8 @@ "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "node_modules/cors": { "version": "2.8.5", @@ -5626,6 +5731,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -5634,12 +5740,14 @@ "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -5652,6 +5760,7 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -5688,6 +5797,7 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -5745,6 +5855,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true, "peer": true }, "node_modules/d": { @@ -5835,6 +5946,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, "engines": { "node": ">=0.10" } @@ -5919,6 +6031,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -5976,6 +6089,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -5991,6 +6105,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, "dependencies": { "repeating": "^2.0.0" }, @@ -6034,6 +6149,7 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -6043,7 +6159,8 @@ "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/docdash": { "version": "1.2.0", @@ -6073,6 +6190,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -6156,6 +6274,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -6169,7 +6288,8 @@ "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -6181,6 +6301,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, "engines": { "node": ">= 4" } @@ -6198,6 +6319,7 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, "dependencies": { "once": "^1.4.0" } @@ -6206,6 +6328,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, "peer": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -6220,6 +6343,7 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, "peer": true, "dependencies": { "errno": "^0.1.3", @@ -6251,6 +6375,7 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, "peer": true, "dependencies": { "prr": "~1.0.1" @@ -6442,6 +6567,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, "engines": { "node": ">=0.8.0" } @@ -6853,6 +6979,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -6864,6 +6991,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, "engines": { "node": ">=4.0" } @@ -6872,6 +7000,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, "engines": { "node": ">=4.0" } @@ -6907,6 +7036,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -6949,6 +7079,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, "engines": { "node": ">=0.8.x" } @@ -6957,6 +7088,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -6981,6 +7113,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -6998,6 +7131,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { "ms": "2.0.0" } @@ -7006,6 +7140,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -7017,6 +7152,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -7028,6 +7164,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -7039,6 +7176,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -7052,6 +7190,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -7059,7 +7198,8 @@ "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/express": { "version": "4.17.1", @@ -7262,6 +7402,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -7273,6 +7414,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -7291,6 +7433,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -7351,12 +7494,14 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -7395,6 +7540,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true, "peer": true }, "node_modules/file-entry-cache": { @@ -7413,12 +7559,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, "optional": true }, "node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -7618,6 +7766,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, "peer": true, "dependencies": { "inherits": "^2.0.3", @@ -7628,6 +7777,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -7687,6 +7837,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, "dependencies": { "map-cache": "^0.2.2" }, @@ -7713,6 +7864,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -7787,6 +7939,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, "peer": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -7798,7 +7951,8 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "node_modules/fsevents": { "version": "2.3.2", @@ -7910,6 +8064,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -7918,6 +8073,7 @@ "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7937,7 +8093,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "devOptional": true, + "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7967,7 +8123,8 @@ "node_modules/graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "node_modules/growl": { "version": "1.10.5", @@ -8024,6 +8181,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -8035,6 +8193,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8073,6 +8232,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -8086,6 +8246,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -8098,6 +8259,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -8109,6 +8271,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -8122,6 +8285,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -8135,6 +8299,7 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -8178,6 +8343,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -8324,7 +8490,8 @@ "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true }, "node_modules/https-proxy-agent": { "version": "5.0.0", @@ -8352,6 +8519,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, "funding": [ { "type": "github", @@ -8371,6 +8539,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true, "peer": true }, "node_modules/ignore": { @@ -8418,6 +8587,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, "engines": { "node": ">=0.8.19" } @@ -8435,12 +8605,14 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, "peer": true }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -8449,7 +8621,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/inline-source-map": { "version": "0.6.2", @@ -8485,6 +8658,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "dependencies": { "loose-envify": "^1.0.0" } @@ -8502,6 +8676,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "dependencies": { "kind-of": "^6.0.0" }, @@ -8513,6 +8688,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8551,7 +8727,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "devOptional": true, + "dev": true, "dependencies": { "binary-extensions": "^1.0.0" }, @@ -8577,7 +8753,8 @@ "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "node_modules/is-callable": { "version": "1.2.3", @@ -8607,6 +8784,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "dependencies": { "kind-of": "^6.0.0" }, @@ -8618,6 +8796,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8638,6 +8817,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "dependencies": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -8651,6 +8831,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8674,6 +8855,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8682,7 +8864,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8691,6 +8873,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, "engines": { "node": ">=0.10.0" }, @@ -8723,7 +8906,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "devOptional": true, + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -8747,6 +8930,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -8788,6 +8972,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -8897,6 +9082,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8941,6 +9127,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8975,6 +9162,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", + "dev": true, "dependencies": { "convert-source-map": "^1.5.0", "istanbul-lib-instrument": "^1.7.3", @@ -8991,12 +9179,14 @@ "node_modules/istanbul-instrumenter-loader/node_modules/istanbul-lib-coverage": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true }, "node_modules/istanbul-instrumenter-loader/node_modules/istanbul-lib-instrument": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, "dependencies": { "babel-generator": "^6.18.0", "babel-template": "^6.16.0", @@ -9011,6 +9201,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, "bin": { "semver": "bin/semver" } @@ -9371,7 +9562,8 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", @@ -9514,12 +9706,14 @@ "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify": { "version": "0.0.1", @@ -9628,6 +9822,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -9993,6 +10188,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, "peer": true, "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" @@ -10002,6 +10198,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -10015,6 +10212,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, "dependencies": { "minimist": "^1.2.0" }, @@ -10040,7 +10238,8 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.clonedeep": { "version": "4.5.0", @@ -10187,6 +10386,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -10238,6 +10438,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -10250,6 +10451,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, "bin": { "semver": "bin/semver" } @@ -10258,6 +10460,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -10281,6 +10484,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "dependencies": { "object-visit": "^1.0.0" }, @@ -10335,6 +10539,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -10360,6 +10565,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, "peer": true, "dependencies": { "errno": "^0.1.3", @@ -10423,6 +10629,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -10446,6 +10653,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -10458,6 +10666,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -10469,6 +10678,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -10477,6 +10687,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -10488,7 +10699,8 @@ "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/mime": { "version": "2.5.2", @@ -10598,17 +10810,20 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -10619,7 +10834,8 @@ "node_modules/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "node_modules/minimist-options": { "version": "3.0.2", @@ -10638,6 +10854,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, "peer": true, "dependencies": { "concat-stream": "^1.5.0", @@ -10659,6 +10876,7 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "peer": true, "dependencies": { "end-of-stream": "^1.0.0", @@ -10671,6 +10889,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -10683,6 +10902,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -12005,6 +12225,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, "peer": true, "dependencies": { "aproba": "^1.1.1", @@ -12019,6 +12240,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "dependencies": { "minimist": "^1.2.5" @@ -12031,6 +12253,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "peer": true, "dependencies": { "glob": "^7.1.3" @@ -12082,6 +12305,7 @@ "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, "optional": true }, "node_modules/nanoassert": { @@ -12188,6 +12412,7 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -12209,6 +12434,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -12221,6 +12447,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -12232,6 +12459,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -12273,7 +12501,8 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/next-tick": { "version": "1.0.0", @@ -12328,6 +12557,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, "peer": true, "dependencies": { "assert": "^1.1.1", @@ -12359,6 +12589,7 @@ "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, "peer": true, "dependencies": { "base64-js": "^1.0.2", @@ -12370,24 +12601,28 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, "peer": true }, "node_modules/node-libs-browser/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, "peer": true }, "node_modules/node-libs-browser/node_modules/path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true, "peer": true }, "node_modules/node-libs-browser/node_modules/stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, "peer": true, "dependencies": { "inherits": "~2.0.1", @@ -12398,6 +12633,7 @@ "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, "peer": true, "dependencies": { "builtin-status-codes": "^3.0.0", @@ -12411,6 +12647,7 @@ "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, "peer": true, "dependencies": { "setimmediate": "^1.0.4" @@ -12423,12 +12660,14 @@ "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true, "peer": true }, "node_modules/node-libs-browser/node_modules/util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, "peer": true, "dependencies": { "inherits": "2.0.3" @@ -12489,7 +12728,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -12729,6 +12968,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -12737,6 +12977,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -12750,6 +12991,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -12761,6 +13003,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -12772,6 +13015,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -12783,6 +13027,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -12796,6 +13041,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -12822,6 +13068,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "dependencies": { "isobject": "^3.0.0" }, @@ -12851,6 +13098,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -12883,6 +13131,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "dependencies": { "wrappy": "1" } @@ -12935,7 +13184,8 @@ "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true }, "node_modules/outpipe": { "version": "1.1.1", @@ -12992,6 +13242,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, "engines": { "node": ">=6" } @@ -13014,12 +13265,14 @@ "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true }, "node_modules/parallel-transform": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, "peer": true, "dependencies": { "cyclist": "^1.0.1", @@ -13052,6 +13305,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -13092,6 +13346,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -13106,7 +13361,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "devOptional": true + "dev": true }, "node_modules/path-exists": { "version": "4.0.0", @@ -13121,6 +13376,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -13198,6 +13454,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -13219,7 +13476,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8.6" }, @@ -13231,6 +13488,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, "engines": { "node": ">=6" } @@ -13239,6 +13497,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, "dependencies": { "find-up": "^3.0.0" }, @@ -13250,6 +13509,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "dependencies": { "locate-path": "^3.0.0" }, @@ -13261,6 +13521,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -13273,6 +13534,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { "p-try": "^2.0.0" }, @@ -13287,6 +13549,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "dependencies": { "p-limit": "^2.0.0" }, @@ -13298,6 +13561,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, "engines": { "node": ">=4" } @@ -13306,6 +13570,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -13341,6 +13606,7 @@ "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, "engines": { "node": ">= 0.6.0" } @@ -13348,7 +13614,8 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/process-on-spawn": { "version": "1.0.0", @@ -13375,6 +13642,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true, "peer": true }, "node_modules/proxy-addr": { @@ -13409,6 +13677,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, "peer": true }, "node_modules/psl": { @@ -13421,6 +13690,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -13433,12 +13703,14 @@ "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -13448,6 +13720,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, "peer": true, "dependencies": { "duplexify": "^3.6.0", @@ -13459,6 +13732,7 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "peer": true, "dependencies": { "end-of-stream": "^1.0.0", @@ -13471,6 +13745,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, "peer": true, "dependencies": { "end-of-stream": "^1.1.0", @@ -13480,7 +13755,8 @@ "node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "node_modules/puppeteer": { "version": "10.1.0", @@ -13646,6 +13922,7 @@ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, "engines": { "node": ">=0.4.x" } @@ -13654,6 +13931,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, "engines": { "node": ">=0.4.x" } @@ -13671,6 +13949,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -13679,6 +13958,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -13819,6 +14099,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -13832,17 +14113,20 @@ "node_modules/readable-stream/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/readable-stream/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -13851,7 +14135,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "devOptional": true, + "dev": true, "dependencies": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -13895,7 +14179,8 @@ "node_modules/regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true }, "node_modules/regenerator-transform": { "version": "0.14.5", @@ -13910,6 +14195,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -13922,6 +14208,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -13934,6 +14221,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -14019,12 +14307,13 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "devOptional": true + "dev": true }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -14033,6 +14322,7 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, "engines": { "node": ">=0.10" } @@ -14041,6 +14331,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "dependencies": { "is-finite": "^1.0.0" }, @@ -14177,12 +14468,14 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, "engines": { "node": ">=0.12" } @@ -14206,6 +14499,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -14215,6 +14509,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, "peer": true, "dependencies": { "aproba": "^1.1.1" @@ -14224,6 +14519,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, "funding": [ { "type": "github", @@ -14243,6 +14539,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "dependencies": { "ret": "~0.1.10" } @@ -14250,7 +14547,8 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "node_modules/saucelabs": { "version": "1.5.0", @@ -14314,6 +14612,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, "dependencies": { "ajv": "^5.0.0" }, @@ -14325,6 +14624,7 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, "dependencies": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -14335,12 +14635,14 @@ "node_modules/schema-utils/node_modules/fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true }, "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true }, "node_modules/scope-analyzer": { "version": "2.1.1", @@ -14557,6 +14859,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -14571,6 +14874,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true, "peer": true }, "node_modules/setprototypeof": { @@ -14583,6 +14887,7 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -14779,6 +15084,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -14797,6 +15103,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -14810,6 +15117,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -14821,6 +15129,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "dependencies": { "kind-of": "^3.2.0" }, @@ -14832,6 +15141,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { "ms": "2.0.0" } @@ -14840,6 +15150,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -14851,6 +15162,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -14862,6 +15174,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -14873,6 +15186,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -14886,6 +15200,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -14893,18 +15208,21 @@ "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true, "peer": true }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -14913,6 +15231,7 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -14925,6 +15244,7 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -14934,6 +15254,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -14941,7 +15262,8 @@ "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true }, "node_modules/source-mapper": { "version": "2.1.0", @@ -15043,6 +15365,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "dependencies": { "extend-shallow": "^3.0.0" }, @@ -15054,6 +15377,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -15066,6 +15390,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -15126,6 +15451,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, "peer": true, "dependencies": { "figgy-pudding": "^3.5.1" @@ -15135,6 +15461,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -15147,6 +15474,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -15158,6 +15486,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -15169,6 +15498,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -15180,6 +15510,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -15193,6 +15524,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -15253,6 +15585,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, "peer": true, "dependencies": { "end-of-stream": "^1.1.0", @@ -15288,7 +15621,8 @@ "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true }, "node_modules/stream-splicer": { "version": "2.0.1", @@ -15304,6 +15638,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -15554,6 +15889,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, "peer": true, "engines": { "node": ">=6" @@ -15691,6 +16027,7 @@ "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -15707,6 +16044,7 @@ "version": "1.4.5", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, "peer": true, "dependencies": { "cacache": "^12.0.2", @@ -15730,6 +16068,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, "peer": true, "dependencies": { "commondir": "^1.0.1", @@ -15744,6 +16083,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, "peer": true, "engines": { "node": ">=4" @@ -15753,6 +16093,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, "peer": true, "dependencies": { "ajv": "^6.1.0", @@ -15767,6 +16108,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, "peer": true, "dependencies": { "randombytes": "^2.1.0" @@ -15776,6 +16118,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "peer": true, "engines": { "node": ">=0.10.0" @@ -15784,12 +16127,14 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -15824,6 +16169,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -15874,6 +16220,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true, "peer": true }, "node_modules/to-fast-properties": { @@ -15889,6 +16236,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -15900,6 +16248,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -15914,6 +16263,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -15926,6 +16276,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -15938,6 +16289,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -16049,6 +16401,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -16129,7 +16482,8 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", @@ -16445,6 +16799,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -16459,6 +16814,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, "peer": true, "dependencies": { "unique-slug": "^2.0.0" @@ -16468,6 +16824,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, "peer": true, "dependencies": { "imurmurhash": "^0.1.4" @@ -16501,6 +16858,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -16513,6 +16871,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -16526,6 +16885,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "dependencies": { "isarray": "1.0.0" }, @@ -16537,6 +16897,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -16544,13 +16905,14 @@ "node_modules/unset-value/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "devOptional": true, + "dev": true, "engines": { "node": ">=4", "yarn": "*" @@ -16560,6 +16922,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -16568,6 +16931,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, "engines": { "node": ">=6" } @@ -16576,12 +16940,14 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true }, "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -16596,12 +16962,14 @@ "node_modules/url/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -16623,7 +16991,8 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", @@ -16672,7 +17041,8 @@ "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true }, "node_modules/w3c-hr-time": { "version": "1.0.2", @@ -16762,6 +17132,7 @@ "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, "peer": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -16776,6 +17147,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, "optional": true, "peer": true, "dependencies": { @@ -16787,6 +17159,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "dev": true, "optional": true, "peer": true, "dependencies": { @@ -16811,6 +17184,7 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -16829,6 +17203,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "optional": true, "peer": true, "dependencies": { @@ -16840,6 +17215,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "optional": true, "peer": true, "dependencies": { @@ -16875,6 +17251,7 @@ "version": "4.46.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", @@ -16924,6 +17301,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, "peer": true, "dependencies": { "source-list-map": "^2.0.0", @@ -16934,6 +17312,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "peer": true, "engines": { "node": ">=0.10.0" @@ -16943,6 +17322,7 @@ "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, "peer": true, "bin": { "acorn": "bin/acorn" @@ -16955,6 +17335,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, "peer": true, "dependencies": { "esrecurse": "^4.1.0", @@ -16968,6 +17349,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "dependencies": { "minimist": "^1.2.5" @@ -16980,6 +17362,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, "peer": true, "dependencies": { "ajv": "^6.1.0", @@ -17183,6 +17566,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, "peer": true, "dependencies": { "errno": "~0.1.7" @@ -17253,7 +17637,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/write-file-atomic": { "version": "3.0.3", @@ -17310,6 +17695,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, "engines": { "node": ">=0.4" } @@ -19245,6 +19631,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/helper-module-context": "1.9.0", @@ -19256,24 +19643,28 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true, "peer": true }, "@webassemblyjs/helper-api-error": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true, "peer": true }, "@webassemblyjs/helper-buffer": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true, "peer": true }, "@webassemblyjs/helper-code-frame": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/wast-printer": "1.9.0" @@ -19283,12 +19674,14 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true, "peer": true }, "@webassemblyjs/helper-module-context": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0" @@ -19298,12 +19691,14 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true, "peer": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -19316,6 +19711,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, "peer": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -19325,6 +19721,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, "peer": true, "requires": { "@xtuc/long": "4.2.2" @@ -19334,12 +19731,14 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true, "peer": true }, "@webassemblyjs/wasm-edit": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -19356,6 +19755,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -19369,6 +19769,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -19381,6 +19782,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -19395,6 +19797,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -19409,6 +19812,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -19420,12 +19824,14 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, "peer": true }, "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, "peer": true }, "abab": { @@ -19521,6 +19927,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -19532,6 +19939,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, "peer": true, "requires": {} }, @@ -19539,6 +19947,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, "peer": true, "requires": {} }, @@ -19585,7 +19994,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "devOptional": true, + "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -19595,7 +20004,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "devOptional": true, + "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -19630,6 +20039,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, "peer": true }, "archiver": { @@ -19719,17 +20129,20 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, "array-find-index": { "version": "1.0.2", @@ -19752,7 +20165,8 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, "arrify": { "version": "1.0.1", @@ -19764,6 +20178,7 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -19774,7 +20189,8 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true } } }, @@ -19791,6 +20207,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, "requires": { "object-assign": "^4.1.1", "util": "0.10.3" @@ -19799,12 +20216,14 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, "requires": { "inherits": "2.0.1" } @@ -19820,7 +20239,8 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, "astral-regex": { "version": "2.0.0", @@ -19838,7 +20258,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "devOptional": true + "dev": true }, "asynckit": { "version": "0.4.0", @@ -19855,7 +20275,8 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, "available-typed-arrays": { "version": "1.0.4", @@ -19867,6 +20288,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -19876,17 +20298,20 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -19898,12 +20323,14 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -19911,7 +20338,8 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } }, @@ -19919,6 +20347,7 @@ "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, "requires": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", @@ -19933,7 +20362,8 @@ "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true } } }, @@ -20068,6 +20498,7 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -20542,6 +20973,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -20551,6 +20983,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -20563,6 +20996,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -20579,6 +21013,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -20586,12 +21021,14 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -20599,6 +21036,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -20609,7 +21047,8 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true } } }, @@ -20623,17 +21062,20 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -20648,6 +21090,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -20657,7 +21100,8 @@ "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true }, "basic-auth": { "version": "2.0.1", @@ -20691,18 +21135,20 @@ "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "devOptional": true + "dev": true }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, "optional": true, "requires": { "file-uri-to-path": "1.0.0" @@ -20746,12 +21192,14 @@ "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, "bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true }, "body-parser": { "version": "1.12.4", @@ -20812,6 +21260,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -20821,6 +21270,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -20837,7 +21287,8 @@ "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true }, "brout": { "version": "1.3.0", @@ -20995,6 +21446,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -21008,6 +21460,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, "requires": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -21018,6 +21471,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -21029,6 +21483,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, "requires": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -21038,6 +21493,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -21054,6 +21510,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -21066,6 +21523,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, "requires": { "pako": "~1.0.5" } @@ -21108,17 +21566,20 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true }, "bundle-collapser": { "version": "1.4.0", @@ -21144,6 +21605,7 @@ "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, "peer": true, "requires": { "bluebird": "^3.5.5", @@ -21167,6 +21629,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "peer": true, "requires": { "yallist": "^3.0.2" @@ -21176,6 +21639,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "requires": { "minimist": "^1.2.5" @@ -21185,6 +21649,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "peer": true, "requires": { "glob": "^7.1.3" @@ -21194,12 +21659,14 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, "peer": true }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, "peer": true } } @@ -21208,6 +21675,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -21366,7 +21834,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "devOptional": true, + "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -21382,7 +21850,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "devOptional": true, + "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -21392,13 +21860,13 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "devOptional": true + "dev": true }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "devOptional": true, + "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -21407,7 +21875,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "devOptional": true, + "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -21416,7 +21884,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "devOptional": true, + "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -21425,13 +21893,13 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true + "dev": true }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "devOptional": true, + "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -21440,7 +21908,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, + "dev": true, "requires": { "is-number": "^7.0.0" } @@ -21450,7 +21918,8 @@ "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "chrome-launcher": { "version": "0.11.2", @@ -21513,6 +21982,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, "peer": true }, "chrome-unmirror": { @@ -21525,6 +21995,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -21534,6 +22005,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -21545,6 +22017,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -21553,6 +22026,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -21561,6 +22035,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -21569,6 +22044,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -21578,7 +22054,8 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } } @@ -21619,12 +22096,14 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -21708,12 +22187,14 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, "compress-commons": { "version": "0.2.9", @@ -21756,12 +22237,14 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -21801,7 +22284,8 @@ "console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, "consolify": { "version": "2.2.0", @@ -21819,7 +22303,8 @@ "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true }, "content-disposition": { "version": "0.5.3", @@ -21848,6 +22333,7 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, "requires": { "safe-buffer": "~5.1.1" }, @@ -21855,7 +22341,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -21891,6 +22378,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, "peer": true, "requires": { "aproba": "^1.1.1", @@ -21905,6 +22393,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "requires": { "minimist": "^1.2.5" @@ -21914,6 +22403,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "peer": true, "requires": { "glob": "^7.1.3" @@ -21924,12 +22414,14 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true }, "core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true }, "core-js-compat": { "version": "3.15.2", @@ -21952,7 +22444,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cors": { "version": "2.8.5", @@ -22077,6 +22570,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, "requires": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -22085,7 +22579,8 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true } } }, @@ -22093,6 +22588,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -22105,6 +22601,7 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -22135,6 +22632,7 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, "requires": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -22185,6 +22683,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true, "peer": true }, "d": { @@ -22256,7 +22755,8 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true }, "dedent": { "version": "0.7.0", @@ -22324,6 +22824,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -22369,6 +22870,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -22384,6 +22886,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, "requires": { "repeating": "^2.0.0" } @@ -22415,6 +22918,7 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, "requires": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -22424,7 +22928,8 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true } } }, @@ -22452,7 +22957,8 @@ "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true }, "domexception": { "version": "2.0.1", @@ -22527,6 +23033,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, "requires": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -22540,7 +23047,8 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true } } }, @@ -22553,7 +23061,8 @@ "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true }, "encodeurl": { "version": "1.0.2", @@ -22565,6 +23074,7 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, "requires": { "once": "^1.4.0" } @@ -22573,6 +23083,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, "peer": true, "requires": { "graceful-fs": "^4.1.2", @@ -22584,6 +23095,7 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, "peer": true, "requires": { "errno": "^0.1.3", @@ -22611,6 +23123,7 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, "peer": true, "requires": { "prr": "~1.0.1" @@ -22785,7 +23298,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escodegen": { "version": "2.0.0", @@ -23089,6 +23603,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "requires": { "estraverse": "^5.2.0" }, @@ -23096,14 +23611,16 @@ "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true }, "estree-is-function": { "version": "1.0.0", @@ -23135,7 +23652,8 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, "etag": { "version": "1.8.1", @@ -23171,12 +23689,14 @@ "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true }, "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -23198,6 +23718,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -23212,6 +23733,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -23220,6 +23742,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -23228,6 +23751,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -23236,6 +23760,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -23244,6 +23769,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -23253,14 +23779,16 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -23442,6 +23970,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -23450,6 +23979,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -23465,6 +23995,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -23509,12 +24040,14 @@ "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -23550,6 +24083,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true, "peer": true }, "file-entry-cache": { @@ -23565,12 +24099,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, "optional": true }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -23720,6 +24256,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, "peer": true, "requires": { "inherits": "^2.0.3", @@ -23729,7 +24266,8 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, "foreach": { "version": "2.0.5", @@ -23774,6 +24312,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -23794,6 +24333,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -23850,6 +24390,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, "peer": true, "requires": { "graceful-fs": "^4.1.2", @@ -23861,7 +24402,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "2.3.2", @@ -23941,12 +24483,14 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true }, "glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -23960,7 +24504,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "devOptional": true, + "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -23984,7 +24528,8 @@ "graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "growl": { "version": "1.10.5", @@ -24026,6 +24571,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" }, @@ -24033,7 +24579,8 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true } } }, @@ -24059,6 +24606,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -24069,6 +24617,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -24078,6 +24627,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -24088,6 +24638,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -24098,6 +24649,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -24110,6 +24662,7 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -24143,6 +24696,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -24266,7 +24820,8 @@ "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true }, "https-proxy-agent": { "version": "5.0.0", @@ -24287,12 +24842,14 @@ "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true, "peer": true }, "ignore": { @@ -24324,7 +24881,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "indent-string": { "version": "3.2.0", @@ -24336,12 +24894,14 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, "peer": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -24350,7 +24910,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "inline-source-map": { "version": "0.6.2", @@ -24383,6 +24944,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -24397,6 +24959,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" }, @@ -24404,7 +24967,8 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true } } }, @@ -24433,7 +24997,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "devOptional": true, + "dev": true, "requires": { "binary-extensions": "^1.0.0" } @@ -24450,7 +25014,8 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-callable": { "version": "1.2.3", @@ -24471,6 +25036,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" }, @@ -24478,7 +25044,8 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true } } }, @@ -24492,6 +25059,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -24501,7 +25069,8 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true } } }, @@ -24514,18 +25083,20 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "devOptional": true + "dev": true }, "is-finite": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -24543,7 +25114,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "devOptional": true, + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -24558,6 +25129,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -24584,6 +25156,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -24653,7 +25226,8 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true }, "is-wsl": { "version": "2.2.0", @@ -24685,7 +25259,8 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true }, "istanbul": { "version": "0.4.5", @@ -24847,6 +25422,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", + "dev": true, "requires": { "convert-source-map": "^1.5.0", "istanbul-lib-instrument": "^1.7.3", @@ -24857,12 +25433,14 @@ "istanbul-lib-coverage": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true }, "istanbul-lib-instrument": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, "requires": { "babel-generator": "^6.18.0", "babel-template": "^6.16.0", @@ -24876,7 +25454,8 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, @@ -25015,7 +25594,8 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "js-yaml": { "version": "3.14.1", @@ -25125,12 +25705,14 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stable-stringify": { "version": "0.0.1", @@ -25215,6 +25797,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -25546,12 +26129,14 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, "peer": true }, "loader-utils": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -25562,6 +26147,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, "requires": { "minimist": "^1.2.0" } @@ -25580,7 +26166,8 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "lodash.clonedeep": { "version": "4.5.0", @@ -25695,6 +26282,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -25737,6 +26325,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, "requires": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -25745,14 +26334,16 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true }, "map-obj": { "version": "2.0.0", @@ -25770,6 +26361,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -25810,6 +26402,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -25832,6 +26425,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, "peer": true, "requires": { "errno": "^0.1.3", @@ -25891,6 +26485,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -25911,6 +26506,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -25920,6 +26516,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -25927,7 +26524,8 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true } } }, @@ -25935,6 +26533,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -25943,7 +26542,8 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true } } }, @@ -26033,17 +26633,20 @@ "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -26051,7 +26654,8 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "minimist-options": { "version": "3.0.2", @@ -26067,6 +26671,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, "peer": true, "requires": { "concat-stream": "^1.5.0", @@ -26085,6 +26690,7 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "peer": true, "requires": { "end-of-stream": "^1.0.0", @@ -26099,6 +26705,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -26108,6 +26715,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -27125,6 +27733,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, "peer": true, "requires": { "aproba": "^1.1.1", @@ -27139,6 +27748,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "requires": { "minimist": "^1.2.5" @@ -27148,6 +27758,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "peer": true, "requires": { "glob": "^7.1.3" @@ -27197,6 +27808,7 @@ "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, "optional": true }, "nanoassert": { @@ -27280,6 +27892,7 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -27298,6 +27911,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -27307,6 +27921,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -27314,7 +27929,8 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true } } }, @@ -27352,7 +27968,8 @@ "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "next-tick": { "version": "1.0.0", @@ -27406,6 +28023,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, "peer": true, "requires": { "assert": "^1.1.1", @@ -27437,6 +28055,7 @@ "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, "peer": true, "requires": { "base64-js": "^1.0.2", @@ -27448,24 +28067,28 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, "peer": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, "peer": true }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true, "peer": true }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, "peer": true, "requires": { "inherits": "~2.0.1", @@ -27476,6 +28099,7 @@ "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, "peer": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -27489,6 +28113,7 @@ "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, "peer": true, "requires": { "setimmediate": "^1.0.4" @@ -27498,12 +28123,14 @@ "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true, "peer": true }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, "peer": true, "requires": { "inherits": "2.0.3" @@ -27559,7 +28186,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "devOptional": true + "dev": true }, "nwsapi": { "version": "2.2.0", @@ -27746,12 +28373,14 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -27762,6 +28391,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -27770,6 +28400,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -27778,6 +28409,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -27786,6 +28418,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -27795,7 +28428,8 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } } @@ -27817,6 +28451,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "requires": { "isobject": "^3.0.0" } @@ -27837,6 +28472,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -27860,6 +28496,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -27904,7 +28541,8 @@ "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true }, "outpipe": { "version": "1.1.1", @@ -27945,7 +28583,8 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "package-hash": { "version": "4.0.0", @@ -27962,12 +28601,14 @@ "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true }, "parallel-transform": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, "peer": true, "requires": { "cyclist": "^1.0.1", @@ -27997,6 +28638,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, "requires": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -28030,7 +28672,8 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true }, "path-browserify": { "version": "1.0.1", @@ -28042,7 +28685,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "devOptional": true + "dev": true }, "path-exists": { "version": "4.0.0", @@ -28053,7 +28696,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-key": { "version": "3.1.1", @@ -28115,6 +28759,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -28133,17 +28778,19 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "devOptional": true + "dev": true }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, "requires": { "find-up": "^3.0.0" }, @@ -28152,6 +28799,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -28160,6 +28808,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -28169,6 +28818,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -28177,6 +28827,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -28184,14 +28835,16 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true } } }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "prelude-ls": { "version": "1.2.1", @@ -28214,12 +28867,14 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "process-on-spawn": { "version": "1.0.0", @@ -28240,6 +28895,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true, "peer": true }, "proxy-addr": { @@ -28268,6 +28924,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, "peer": true }, "psl": { @@ -28280,6 +28937,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -28292,7 +28950,8 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true } } }, @@ -28300,6 +28959,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -28309,6 +28969,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, "peer": true, "requires": { "duplexify": "^3.6.0", @@ -28320,6 +28981,7 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "peer": true, "requires": { "end-of-stream": "^1.0.0", @@ -28332,6 +28994,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, "peer": true, "requires": { "end-of-stream": "^1.1.0", @@ -28343,7 +29006,8 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "puppeteer": { "version": "10.1.0", @@ -28459,12 +29123,14 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true }, "quick-lru": { "version": "1.1.0", @@ -28476,6 +29142,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -28484,6 +29151,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -28598,6 +29266,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -28611,17 +29280,20 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -28632,7 +29304,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "devOptional": true, + "dev": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -28667,7 +29339,8 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true }, "regenerator-transform": { "version": "0.14.5", @@ -28682,6 +29355,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -28691,6 +29365,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -28700,6 +29375,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -28768,22 +29444,25 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "devOptional": true + "dev": true }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "requires": { "is-finite": "^1.0.0" } @@ -28893,12 +29572,14 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "rimraf": { "version": "3.0.2", @@ -28913,6 +29594,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -28922,6 +29604,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, "peer": true, "requires": { "aproba": "^1.1.1" @@ -28930,12 +29613,14 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "requires": { "ret": "~0.1.10" } @@ -28943,7 +29628,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "saucelabs": { "version": "1.5.0", @@ -28997,6 +29683,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, "requires": { "ajv": "^5.0.0" }, @@ -29005,6 +29692,7 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -29015,12 +29703,14 @@ "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true } } }, @@ -29215,6 +29905,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -29226,6 +29917,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true, "peer": true }, "setprototypeof": { @@ -29238,6 +29930,7 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -29384,6 +30077,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -29399,6 +30093,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -29407,6 +30102,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -29415,6 +30111,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -29423,6 +30120,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -29431,6 +30129,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -29440,14 +30139,16 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -29455,6 +30156,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -29465,6 +30167,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -29475,6 +30178,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "requires": { "kind-of": "^3.2.0" } @@ -29483,17 +30187,20 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true, "peer": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -29506,6 +30213,7 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -29514,14 +30222,16 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, "source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true }, "source-mapper": { "version": "2.1.0", @@ -29610,6 +30320,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "requires": { "extend-shallow": "^3.0.0" }, @@ -29618,6 +30329,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -29627,6 +30339,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -29688,6 +30401,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, "peer": true, "requires": { "figgy-pudding": "^3.5.1" @@ -29697,6 +30411,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -29706,6 +30421,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -29714,6 +30430,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -29722,6 +30439,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -29730,6 +30448,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -29739,7 +30458,8 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } } @@ -29797,6 +30517,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, "peer": true, "requires": { "end-of-stream": "^1.1.0", @@ -29831,7 +30552,8 @@ "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true }, "stream-splicer": { "version": "2.0.1", @@ -29847,6 +30569,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, "requires": { "safe-buffer": "~5.2.0" } @@ -30046,6 +30769,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, "peer": true }, "tar-fs": { @@ -30158,6 +30882,7 @@ "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -30167,12 +30892,14 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -30180,6 +30907,7 @@ "version": "1.4.5", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, "peer": true, "requires": { "cacache": "^12.0.2", @@ -30197,6 +30925,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, "peer": true, "requires": { "commondir": "^1.0.1", @@ -30208,12 +30937,14 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, "peer": true }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, "peer": true, "requires": { "ajv": "^6.1.0", @@ -30225,6 +30956,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, "peer": true, "requires": { "randombytes": "^2.1.0" @@ -30234,6 +30966,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "peer": true } } @@ -30265,6 +30998,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -30314,6 +31048,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true, "peer": true }, "to-fast-properties": { @@ -30326,6 +31061,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -30334,6 +31070,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -30345,6 +31082,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -30354,6 +31092,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -30364,6 +31103,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -30443,7 +31183,8 @@ "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true }, "tslib": { "version": "2.3.0", @@ -30503,7 +31244,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typedarray-to-buffer": { "version": "3.1.5", @@ -30751,6 +31493,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -30762,6 +31505,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, "peer": true, "requires": { "unique-slug": "^2.0.0" @@ -30771,6 +31515,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, "peer": true, "requires": { "imurmurhash": "^0.1.4" @@ -30798,6 +31543,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -30807,6 +31553,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -30817,6 +31564,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -30826,12 +31574,14 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true } } }, @@ -30839,12 +31589,13 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "devOptional": true + "dev": true }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "requires": { "punycode": "^2.1.0" }, @@ -30852,19 +31603,22 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true } } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -30873,7 +31627,8 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true } } }, @@ -30886,7 +31641,8 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "util": { "version": "0.12.4", @@ -30905,7 +31661,8 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "utils-merge": { "version": "1.0.1", @@ -30944,7 +31701,8 @@ "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true }, "w3c-hr-time": { "version": "1.0.2", @@ -31023,6 +31781,7 @@ "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, "peer": true, "requires": { "chokidar": "^3.4.1", @@ -31035,6 +31794,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, "optional": true, "peer": true, "requires": { @@ -31045,6 +31805,7 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, "optional": true, "peer": true, "requires": { @@ -31066,6 +31827,7 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, "optional": true, "peer": true, "requires": { @@ -31077,6 +31839,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "optional": true, "peer": true, "requires": { @@ -31088,6 +31851,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "optional": true, "peer": true, "requires": { @@ -31121,6 +31885,7 @@ "version": "4.46.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, "peer": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -31152,12 +31917,14 @@ "version": "6.4.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, "peer": true }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, "peer": true, "requires": { "esrecurse": "^4.1.0", @@ -31168,6 +31935,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "peer": true, "requires": { "minimist": "^1.2.5" @@ -31177,6 +31945,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, "peer": true, "requires": { "ajv": "^6.1.0", @@ -31190,6 +31959,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, "peer": true, "requires": { "source-list-map": "^2.0.0", @@ -31200,6 +31970,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "peer": true } } @@ -31359,6 +32130,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, "peer": true, "requires": { "errno": "~0.1.7" @@ -31416,7 +32188,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write-file-atomic": { "version": "3.0.3", @@ -31458,7 +32231,8 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, "y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index fe67e022b2486241e5feb506b593f1e6a435f3d7..dabd9d98b939055eb57413c9f661b5cd266849e8 100644 --- a/package.json +++ b/package.json @@ -50,9 +50,7 @@ "uglify-js": "^3.13.9", "uglifycss": "^0.0.29", "watchify": "^4.0.0", - "webcrypto-core": "^1.2.0" - }, - "dependencies": { + "webcrypto-core": "^1.2.0", "istanbul-instrumenter-loader": "^3.0.1" } } diff --git a/packages/monster/README.md b/packages/monster/README.md index a0e7f93cf60f3c0c41e48770cc4dec0e9ccdafb2..6ae0163c50d487dbad274021dd7da2b6db945bf7 100644 --- a/packages/monster/README.md +++ b/packages/monster/README.md @@ -38,7 +38,7 @@ thus supports all browsers that are compatible with ES5. <script type="module"> import { Monster - } from 'https://unpkg.com/@schukai/monster@1.8.0/dist/modules/monster.js'; + } from 'https://unpkg.com/@schukai/monster@1.9.0/dist/modules/monster.js'; let id = document.getElementById('version'); id.innerHTML = Monster.getVersion(); </script> @@ -49,8 +49,8 @@ thus supports all browsers that are compatible with ES5. nomodule for backwards compatibility ``` -<script type="module" src="https://unpkg.com/@schukai/monster@1.8.0/dist/modules/monster.js"></script> -<script nomodule src="https://unpkg.com/@schukai/monster@1.8.0/dist/monster.js"></script> +<script type="module" src="https://unpkg.com/@schukai/monster@1.9.0/dist/modules/monster.js"></script> +<script nomodule src="https://unpkg.com/@schukai/monster@1.9.0/dist/monster.js"></script> ``` ### compatibility diff --git a/packages/monster/dist/modules/constraints/abstract.js b/packages/monster/dist/modules/constraints/abstract.js index c07ff21bd3ead3f44673e8b48cff74e769d277ce..88a8924e0df47c1c0f523ea9677aff9a882991b6 100644 --- a/packages/monster/dist/modules/constraints/abstract.js +++ b/packages/monster/dist/modules/constraints/abstract.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";class AbstractConstraint extends Base{constructor(){super()}isValid(value){return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",AbstractConstraint);export{Monster,AbstractConstraint}; diff --git a/packages/monster/dist/modules/constraints/abstractoperator.js b/packages/monster/dist/modules/constraints/abstractoperator.js index 6682d6a12d727f1fa5b37038df763e925579c142..da70c43ef3f7ee083bb6f535252f920592468619 100644 --- a/packages/monster/dist/modules/constraints/abstractoperator.js +++ b/packages/monster/dist/modules/constraints/abstractoperator.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class AbstractOperator extends AbstractConstraint{constructor(operantA,operantB){super();if(!(operantA instanceof AbstractConstraint)||!(operantB instanceof AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}this.operantA=operantA;this.operantB=operantB}}Monster.assignToNamespace("Monster.Constraints",AbstractOperator);export{Monster,AbstractOperator}; diff --git a/packages/monster/dist/modules/constraints/andoperator.js b/packages/monster/dist/modules/constraints/andoperator.js index ecb70989a13bde7c6e35bbb2e94030977324d0cd..0652a823a8ced958d04f37e6c2a59fca3fad04b3 100644 --- a/packages/monster/dist/modules/constraints/andoperator.js +++ b/packages/monster/dist/modules/constraints/andoperator.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{AbstractOperator}from"./abstractoperator.js";class AndOperator extends AbstractOperator{isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}Monster.assignToNamespace("Monster.Constraints",AndOperator);export{Monster,AndOperator}; diff --git a/packages/monster/dist/modules/constraints/invalid.js b/packages/monster/dist/modules/constraints/invalid.js index 98e918741e3d0a886a65735785f64ff8b24c09a8..e892baf6f09efd40dfd611ab3d269002f29d9aef 100644 --- a/packages/monster/dist/modules/constraints/invalid.js +++ b/packages/monster/dist/modules/constraints/invalid.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class Invalid extends AbstractConstraint{isValid(value){return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",Invalid);export{Monster,Invalid}; diff --git a/packages/monster/dist/modules/constraints/isarray.js b/packages/monster/dist/modules/constraints/isarray.js index 6c4f5b284f5713a6708aae6fe4623eeb89c0d735..f513abdc758fad462b5bf1ff245557205b79fd51 100644 --- a/packages/monster/dist/modules/constraints/isarray.js +++ b/packages/monster/dist/modules/constraints/isarray.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{isArray}from"../types/is.js";class IsArray extends AbstractConstraint{isValid(value){if(isArray(value)){return Promise.resolve(value)}return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",IsArray);export{Monster,IsArray}; diff --git a/packages/monster/dist/modules/constraints/isobject.js b/packages/monster/dist/modules/constraints/isobject.js index b29360dd4ea62a7e7ad913539bb8a9b8e0f44141..3ae9c2b19821977f57c6d6d580471c51ad40580c 100644 --- a/packages/monster/dist/modules/constraints/isobject.js +++ b/packages/monster/dist/modules/constraints/isobject.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{isObject}from"../types/is.js";class IsObject extends AbstractConstraint{isValid(value){if(isObject(value)){return Promise.resolve(value)}return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",IsObject);export{Monster,IsObject}; diff --git a/packages/monster/dist/modules/constraints/namespace.js b/packages/monster/dist/modules/constraints/namespace.js index 8ab2a3bb705b48870ed44dc1dba6b56cd9bc4b9e..c1362dcf8b4b28fc0de2766e5c3d8834219074a3 100644 --- a/packages/monster/dist/modules/constraints/namespace.js +++ b/packages/monster/dist/modules/constraints/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Constraints"; diff --git a/packages/monster/dist/modules/constraints/oroperator.js b/packages/monster/dist/modules/constraints/oroperator.js index 464f1964bcd73d4c0f069306122930d027bd622a..5eb6637148ebac15446ab8a3ca69ebec7016e6df 100644 --- a/packages/monster/dist/modules/constraints/oroperator.js +++ b/packages/monster/dist/modules/constraints/oroperator.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractOperator}from"./abstractoperator.js";class OrOperator extends AbstractOperator{isValid(value){var self=this;return new Promise(function(resolve,reject){let a,b;self.operantA.isValid(value).then(function(){resolve()}).catch(function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()}).catch(function(){b=false;if(a===false){reject()}})})}}Monster.assignToNamespace("Monster.Constraints",OrOperator);export{Monster,OrOperator}; diff --git a/packages/monster/dist/modules/constraints/valid.js b/packages/monster/dist/modules/constraints/valid.js index 39119f68766c259ba2351a1c4fe57f0395e114da..d5c8e2e0d5b94a8ef22f8568c6962c88665e137a 100644 --- a/packages/monster/dist/modules/constraints/valid.js +++ b/packages/monster/dist/modules/constraints/valid.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class Valid extends AbstractConstraint{isValid(value){return Promise.resolve(value)}}Monster.assignToNamespace("Monster.Constraints",Valid);export{Monster,Valid}; diff --git a/packages/monster/dist/modules/data/buildmap.js b/packages/monster/dist/modules/data/buildmap.js index 231cb4e9f73b165027e279723806b4abdca907a5..3cbbf830d7302cf0652ebc6aba5bea5ecdcffcd9 100644 --- a/packages/monster/dist/modules/data/buildmap.js +++ b/packages/monster/dist/modules/data/buildmap.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{isFunction}from"../types/is.js";import{validateString}from"../types/validate.js";import{Pathfinder}from"./pathfinder.js";function buildMap(subject,selector,valuePath,keyPath,filter){validateString(selector);const result=new Map;let finder=new Pathfinder(subject);let map=finder.getVia(selector);if(!(map instanceof Map)){return result}map.forEach((v,k,m)=>{if(isFunction(filter)){if(filter.call(m,v,k)!==true)return}k=build(v,keyPath,k);v=build(v,valuePath);result.set(k,v)});return result}function build(subject,definition,defaultValue){if(definition===undefined)return defaultValue?defaultValue:subject;validateString(definition);const regexp=/(?<placeholder>\$\{(?<path>[a-z.-]*)\})/gm;const array=[...definition.matchAll(regexp)];let finder=new Pathfinder(subject);if(array.length===0){return finder.getVia(definition)}array.forEach(a=>{let groups=a?.["groups"];let placeholder=groups?.["placeholder"];if(placeholder===undefined)return;let path=groups?.["path"];let v=finder.getVia(path);definition=definition.replaceAll(placeholder,v)});return definition}Monster.assignToNamespace("Monster.Data",buildMap);export{Monster,buildMap}; diff --git a/packages/monster/dist/modules/data/diff.js b/packages/monster/dist/modules/data/diff.js index 610d9421b30e62c057412d2800180b87bdaa35ab..29ccbeede724a7daa3e3152e72833061369d0050 100644 --- a/packages/monster/dist/modules/data/diff.js +++ b/packages/monster/dist/modules/data/diff.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,isArray,isObject}from"../types/is.js";function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if(isArray(type)){const keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map((_,i)=>i))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){let typeA=typeof a;let typeB=typeof b;const currPath=path||[];const currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(v=>{if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{const o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){const result={operator,path};if(operator!=="add"){result.first={value:a,type:typeof a};if(isObject(a)){const name=Object.getPrototypeOf(a)?.constructor?.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:typeof b};if(isObject(b)){const name=Object.getPrototypeOf(b)?.constructor?.name;if(name!==undefined){result.second.instance=name}}}return result}function isNotEqual(a,b){if(typeof a!==typeof b){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){let operator;let typeA=typeof a;let typeB=typeof b;if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}Monster.assignToNamespace("Monster.Data",Diff);export{Monster,Diff}; diff --git a/packages/monster/dist/modules/data/namespace.js b/packages/monster/dist/modules/data/namespace.js index befe2ad4f9021d9ec848817ecfad72d830336daf..d716b028663d0596ad6a1acb85ad3cee0283bcfa 100644 --- a/packages/monster/dist/modules/data/namespace.js +++ b/packages/monster/dist/modules/data/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Data"; diff --git a/packages/monster/dist/modules/data/pathfinder.js b/packages/monster/dist/modules/data/pathfinder.js index 9ddf6627fa888296594b867dfabf5be57a6b7955..73cc33234b7621b2c2c822637969f30cf0fb5a2b 100644 --- a/packages/monster/dist/modules/data/pathfinder.js +++ b/packages/monster/dist/modules/data/pathfinder.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{isObject,isArray,isInteger}from"../types/is.js";import{validateString,validateInteger}from"../types/validate.js";import{Base}from"../types/base.js";import{Stack}from"../types/stack.js";const DELIMITER=".";const WILDCARD="*";class Pathfinder extends Base{constructor(object){super();this.object=object;this.wildCard=WILDCARD}setWildCard(wildcard){validateString(wildcard);this.wildCard=wildcard;return this}getVia(path){validateString(path);return getValueViaPath.call(this,this.object,path)}setVia(path,value){validateString(path);setValueViaPath.call(this,this.object,path,value);return this}deleteVia(path){validateString(path);deleteValueViaPath.call(this,this.object,path);return this}exists(path){validateString(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}Monster.assignToNamespace("Monster.Data",Pathfinder);export{Monster,Pathfinder};function iterate(subject,path,check){const result=new Map;if(isObject(subject)||isArray(subject)){for(const[key,value]of Object.entries(subject)){result.set(key,getValueViaPath.call(this,value,path,check))}}else{let key=path.split(DELIMITER).shift();result.set(key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}let parts=path.split(DELIMITER);let current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if(isObject(subject)||isArray(subject)){let anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){current=parseInt(current);validateInteger(current);anchor=[...subject]?.[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(subject)){current=parseInt(current);validateInteger(current);anchor=subject?.[current]}else{anchor=subject?.[current]}if(isObject(anchor)||isArray(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+typeof subject)}function setValueViaPath(object,path,value){validateString(path);let parts=path.split(DELIMITER);let last=parts.pop();let subpath=parts.join(DELIMITER);let stack=new Stack;let current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();let obj={};if(!stack.isEmpty()){let n=stack.peek().split(DELIMITER).pop();if(isInteger(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}let anchor=getValueViaPath.call(this,object,subpath);if(!isObject(object)&&!isArray(object)){throw TypeError("unsupported type: "+typeof object)}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(anchor)){last=parseInt(last);validateInteger(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){const parts=path.split(DELIMITER);let last=parts.pop();const subpath=parts.join(DELIMITER);const anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor.delete(last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(anchor)){last=parseInt(last);validateInteger(last);delete anchor[last]}else{delete anchor[last]}return} diff --git a/packages/monster/dist/modules/data/pipe.js b/packages/monster/dist/modules/data/pipe.js index e2ebe7f1e4787496c994bd4765c7a7c9bb5b38e8..f7d6014af3fe65793ef06a4273848bcac0a57401 100644 --- a/packages/monster/dist/modules/data/pipe.js +++ b/packages/monster/dist/modules/data/pipe.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Transformer}from"./transformer.js";import{Base}from"../types/base.js";import{validateFunction,validateString}from"../types/validate.js";const DELIMITER="|";class Pipe extends Base{constructor(pipe){super();validateString(pipe);this.pipe=pipe.split(DELIMITER).map(v=>{return new Transformer(v)})}setCallback(name,callback){for(const[,t]of Object.entries(this.pipe)){t.setCallback(name,callback)}return this}run(value){return this.pipe.reduce((accumulator,transformer,currentIndex,array)=>{return transformer.run(accumulator)},value)}}Monster.assignToNamespace("Monster.Data",Pipe);export{Monster,Pipe}; diff --git a/packages/monster/dist/modules/data/transformer.js b/packages/monster/dist/modules/data/transformer.js index 024bb8da4f502bd08d82b09302e8e2992a83ebf3..4dedf3cc048d5e68a8c2f5d98b7e3a6016363edd 100644 --- a/packages/monster/dist/modules/data/transformer.js +++ b/packages/monster/dist/modules/data/transformer.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{validateString,validatePrimitive,validateFunction,validateInteger}from"../types/validate.js";import{isObject,isString,isArray}from"../types/is.js";import{ID}from"../types/id.js";import{clone}from"../util/clone.js";import{Pathfinder}from"./pathfinder.js";class Transformer extends Base{constructor(definition){super();validateString(definition);this.args=disassemble(definition);this.command=this.args.shift();this.callbacks=new Map}setCallback(name,callback){validateString(name);validateFunction(callback);this.callbacks.set(name,callback);return this}run(value){return transform.apply(this,[value])}}Monster.assignToNamespace("Monster.Data",Transformer);export{Monster,Transformer};function disassemble(command){validateString(command);let placeholder=new Map;const regex=/((?<pattern>\\(?<char>.)){1})/mig;let result=command.matchAll(regex);for(let m of result){let g=m?.["groups"];if(!isObject(g)){continue}let p=g?.["pattern"];let c=g?.["char"];if(p&&c){let r="__"+new ID().toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}let parts=command.split(":");parts=parts.map(function(value){let v=value.trim();for(let k of placeholder){v=v.replace(k[0],k[1])}return v});return parts}function convertToString(value){if(isObject(value)&&value.hasOwnProperty("toString")){value=value.toString()}validateString(value);return value}function transform(value){let args=clone(this.args);let key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":validateString(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":validateString(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":let n=parseInt(value);validateInteger(n);return n;case"tojson":return JSON.stringify(value);case"trim":validateString(value);return value.trim();case"rawurlencode":validateString(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":let callback;let callbackName=args.shift();if(isObject(value)&&value.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if(typeof window==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}validateFunction(callback);args.unshift(value);return callback(...args);case"plain":case"plaintext":validateString(value);let doc=new DOMParser().parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":validatePrimitive(value);let trueStatement=args.shift()||undefined;let falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}let condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":validateString(value);let firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":validateString(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if((isString(value)||isObject(value)||isArray(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":validateString(value);let prefix=args?.[0];return prefix+value;case"suffix":validateString(value);let suffix=args?.[0];return value+suffix;case"uniqid":return new ID().toString();case"key":case"property":case"index":key=args.shift()||"undefined";let defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if(isObject(value)||isArray(value)){if(value?.[key]){return value?.[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new Pathfinder(value).getVia(key);case"substring":validateString(value);let start=parseInt(args[0])||0;let end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command);}return value} diff --git a/packages/monster/dist/modules/dom/assembler.js b/packages/monster/dist/modules/dom/assembler.js index aa26f9a1fa09d99d909d3e7750aa16906c7d78c3..1b47e6ae702984caa900e7616f379c7b176d708a 100644 --- a/packages/monster/dist/modules/dom/assembler.js +++ b/packages/monster/dist/modules/dom/assembler.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{validateInstance,validateString}from"../types/validate.js";import{getGlobalFunction}from"../types/global.js";import{ProxyObserver}from"../types/proxyobserver.js";const ATTRIBUTEPREFIX="data-monster-";class Assembler extends Base{constructor(fragment){super();this.attributePrefix=ATTRIBUTEPREFIX;validateInstance(fragment,getGlobalFunction("DocumentFragment"));this.fragment=fragment}setAttributePrefix(prefix){validateString(prefix);this.attributePrefix=prefix;return this}getAttributePrefix(){return this.attributePrefix}createDocumentFragment(data){if(data===undefined){data=new ProxyObserver({})}validateInstance(data,ProxyObserver);let fragment=this.fragment.cloneNode(true);return fragment}}Monster.assignToNamespace("Monster.DOM",Assembler);export{Monster,ATTRIBUTEPREFIX,Assembler}; diff --git a/packages/monster/dist/modules/dom/constants.js b/packages/monster/dist/modules/dom/constants.js index 1a95abc8d676635979b6c361711b0854a7590499..970626e9a3a1ee0eb71c89037aa9ee5ab0ebffa2 100644 --- a/packages/monster/dist/modules/dom/constants.js +++ b/packages/monster/dist/modules/dom/constants.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";const ATTRIBUTE_PREFIX="data-monster-";const ATTRIBUTE_OPTIONS=ATTRIBUTE_PREFIX+"options";const DEFAULT_THEME="monster";const ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_PREFIX+"theme-";const ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_PREFIX+"name";const ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_PREFIX+"attributes";const ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_PREFIX+"replace";const ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_PREFIX+"insert";const ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_PREFIX+"insert-reference";const ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_PREFIX+"remove";export{Monster,ATTRIBUTE_PREFIX,ATTRIBUTE_OPTIONS,DEFAULT_THEME,ATTRIBUTE_THEME_PREFIX,ATTRIBUTE_THEME_NAME,ATTRIBUTE_UPDATER_ATTRIBUTES,ATTRIBUTE_UPDATER_REPLACE,ATTRIBUTE_UPDATER_INSERT,ATTRIBUTE_UPDATER_INSERT_REFERENCE,ATTRIBUTE_UPDATER_REMOVE}; diff --git a/packages/monster/dist/modules/dom/customelement.js b/packages/monster/dist/modules/dom/customelement.js index a93adcc91e7a4e205085e34744e16077b9357f3e..93de3660d095c9a11d6fdfe9ff19dc7d647c288e 100644 --- a/packages/monster/dist/modules/dom/customelement.js +++ b/packages/monster/dist/modules/dom/customelement.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{ATTRIBUTE_OPTIONS}from"./constants.js";import{findDocumentTemplate}from"./template.js";import{getGlobalObject}from"../types/global.js";import{Monster,validateFunction,validateObject,validateString}from"../types/validate.js";class CustomElement extends HTMLElement{constructor(){super();this._options=Object.assign({},this.defaults,getOptionsFromAttributes.call(this));this.init()}get defaults(){return{shadowMode:"open",delegatesFocus:true}}getOption(key,defaultValue){validateString(key);let v=this._options?.[key];if(v===undefined)return defaultValue;return v}init(){initShadowRoot.call(this);return this}assemble(){return this}disassemble(){return this}connectedCallback(){this.assemble()}disconnectedCallback(){this.disassemble()}adoptedCallback(){}attributeChangedCallback(attrName,oldVal,newVal){this.assemble()}static getTemplate(){throw new Error("the method getTemplate must be overwritten by the derived class.")}static getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}static getCSSStyleSheet(){return new CSSStyleSheet}}function getOptionsFromAttributes(){if(this.hasAttribute(ATTRIBUTE_OPTIONS)){try{let obj=JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS));validateObject(obj);return obj}catch(e){throw new Error("the options attribute "+ATTRIBUTE_OPTIONS+" does not contain a valid json definition (actual: "+this.getAttribute(ATTRIBUTE_OPTIONS)+").")}}return{}}function initShadowRoot(){this.attachShadow({mode:this.getOption("shadowMode","open"),delegatesFocus:this.getOption("delegatesFocus",true)});const styleSheet=this.constructor.getCSSStyleSheet();if(styleSheet instanceof CSSStyleSheet){this.shadowRoot.adoptedStyleSheets=[styleSheet]}try{let template=findDocumentTemplate(this.constructor.getTag());this.shadowRoot.appendChild(template.createDocumentFragment())}catch(e){this.shadowRoot.innerHTML=this.constructor.getTemplate()}return this}function registerCustomElement(element){validateFunction(element);let tag=element.getTag();getGlobalObject("customElements").define(element.getTag(),element);return}Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement);export{Monster,registerCustomElement,CustomElement}; diff --git a/packages/monster/dist/modules/dom/handle.js b/packages/monster/dist/modules/dom/handle.js index 40fab99c1e279b83d562c6084a4f62b76bc6f946..512b8c02a8bda557d7cf83739a87325b81838963 100644 --- a/packages/monster/dist/modules/dom/handle.js +++ b/packages/monster/dist/modules/dom/handle.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{Stack}from"../types/stack.js";import{validateInstance}from"../types/validate.js";import{ProxyObserver}from"../types/proxyobserver.js";import{Observer}from"../types/observer.js";import{getGlobalFunction,getGlobalObject}from"../types/global.js";import{isInstance}from"../types/is.js";import{ATTRIBUTEPREFIX}from"./assembler.js";import{ID}from"../types/id.js";const MONSTERDOMHANDLE=Symbol("MonsterHandle");class Handle extends Base{constructor(data){super();let self=this;self.id=new ID;validateInstance(data,ProxyObserver);this.data=data;this.mutationObserver=createMutationObserver.call(this);this.dataObserver=createDataObserver.call(this);this.data.attachObserver(this.dataObserver);this.nodes=new WeakSet;this.updates=new Stack}update(){return}remove(node){if(isInstance(node,getGlobalFunction("Document"))){node=node.firstElementChild}validateInstance(node,getGlobalFunction("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(ATTRIBUTEPREFIX+"handler");return this}append(node){if(isInstance(node,getGlobalFunction("Document"))){node=node.firstElementChild}validateInstance(node,getGlobalFunction("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}function createDataObserver(){const self=this;return new Observer(()=>{self.update()})}function createMutationObserver(){const self=this;const MutationObserver=getGlobalFunction("MutationObserver");return new MutationObserver((mutationsList,observer)=>{for(const mutation of mutationsList){self.updates.push(mutation)}self.update()})}function getHandleFromNode(node){validateInstance(node,getGlobalFunction("Node"));let handle=node.dataset?.[MONSTERDOMHANDLE];if(handle===undefined){let parentNode=node?.["parentNode"];if(isInstance(parentNode,getGlobalFunction("Node"))){return getHandleFromNode(parentNode)}}return handle}Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle);export{Monster,getHandleFromNode,Handle}; diff --git a/packages/monster/dist/modules/dom/namespace.js b/packages/monster/dist/modules/dom/namespace.js index 0c23ce43f61783bd95ec11f21e6ec29730066838..709c25ef4baf2b02d61b6cf78a04253d7d02e2cd 100644 --- a/packages/monster/dist/modules/dom/namespace.js +++ b/packages/monster/dist/modules/dom/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.DOM"; diff --git a/packages/monster/dist/modules/dom/template.js b/packages/monster/dist/modules/dom/template.js index 75ed50c9c425eb55e593959c4552be05bd978ad9..edd9a564413898933a96bd1cf4f8586d5a365962 100644 --- a/packages/monster/dist/modules/dom/template.js +++ b/packages/monster/dist/modules/dom/template.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalFunction,getGlobalObject}from"../types/global.js";import{validateInstance}from"../types/validate.js";import{getDocumentTheme}from"./theme.js";class Template extends Base{constructor(template){super();const HTMLTemplateElement=getGlobalFunction("HTMLTemplateElement");validateInstance(template,HTMLTemplateElement);this.template=template}getTemplateElement(){return this.template}createDocumentFragment(){return this.template.content.cloneNode(true)}}function findDocumentTemplate(id){validateString(id);const document=getGlobalObject("document");const HTMLTemplateElement=getGlobalFunction("HTMLTemplateElement");let theme=getDocumentTheme();let themedID=id+"-"+theme.getName();let template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate);export{Monster,Template,findDocumentTemplate}; diff --git a/packages/monster/dist/modules/dom/theme.js b/packages/monster/dist/modules/dom/theme.js index f7b4b66b0f829d1fc58b98df111d6802f7ccadbc..d14ad1e9a401db141787b694e54e6b01c6400ad5 100644 --- a/packages/monster/dist/modules/dom/theme.js +++ b/packages/monster/dist/modules/dom/theme.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalObject}from"../types/global.js";import{ATTRIBUTE_THEME_NAME,DEFAULT_THEME}from"./constants.js";class Theme extends Base{constructor(name){super();validateString(name);this.name=name}getName(){return this.name}}function getDocumentTheme(){let document=getGlobalObject("document");let name=DEFAULT_THEME;let element=document.querySelector("html");if(element instanceof HTMLElement){let theme=element.getAttribute(ATTRIBUTE_THEME_NAME);if(theme){name=theme}}return new Theme(name)}Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme);export{Monster,Theme,getDocumentTheme}; diff --git a/packages/monster/dist/modules/dom/updater.js b/packages/monster/dist/modules/dom/updater.js index cf3f48ec676ad3b5748bda951e6008d23ac7bba8..ac9dba2d89dfae05773cf2931d3b58186295f253 100644 --- a/packages/monster/dist/modules/dom/updater.js +++ b/packages/monster/dist/modules/dom/updater.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Pipe}from"../data/pipe.js";import{Base,Monster}from"../types/base.js";import{isInstance,isArray}from"../types/is.js";import{Observer}from"../types/observer.js";import{ProxyObserver}from"../types/proxyobserver.js";import{validateInstance}from"../types/validate.js";import{clone}from"../util/clone.js";import{Diff}from"../data/diff.js";import{ATTRIBUTE_UPDATER_REPLACE,ATTRIBUTE_UPDATER_ATTRIBUTES,ATTRIBUTE_UPDATER_INSERT,ATTRIBUTE_UPDATER_REMOVE,ATTRIBUTE_UPDATER_INSERT_REFERENCE}from"../dom/constants.js";import{getDocument}from"./util.js";class Updater extends Base{constructor(element,subject){super();this.element=validateInstance(element,HTMLElement);if(!isInstance(subject,ProxyObserver)){subject=new ProxyObserver(subject)}this.last={};this.callbacks=new Map;this.subject=subject.attachObserver(new Observer(()=>{const s=this.subject.getRealSubject();const diff=Diff(this.last,s);this.last=clone(s);for(const[,change]of Object.entries(diff)){removeElement.call(this,change);insertElement.call(this,change);updateContent.call(this,change);updateAttributes.call(this,change)}}))}run(){this.last={};return this.subject.notifyObservers()}getSubject(){return this.subject.getSubject()}setCallback(name,callback){this.callbacks.set(name,callback);return this}}function removeElement(change){for(const[,element]of this.element.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_REMOVE+"]").entries()){element.parentNode.removeChild(element)}return this}function insertElement(change){const self=this;const subject=self.subject.getRealSubject();const document=getDocument();let mem=new WeakSet;let wd=0;while(true){let found=false;wd++;let p=clone(change?.["path"]);if(!isArray(p))return this;while(p.length>0){const current=p.join(".");const list=this.element.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_INSERT+"*=\"path:"+current+"\"]").entries();for(const[,containerElement]of list){if(mem.has(containerElement))continue;mem.add(containerElement);found=true;const attributes=containerElement.getAttribute(ATTRIBUTE_UPDATER_INSERT);let def=attributes.trim();let i=def.indexOf(" ");let key=def.substr(0,i).trim();let refPrefix=key+"-";let cmd=def.substr(i).trim();if(cmd.indexOf("|")>0){throw new Error("pipes are not allowed when cloning a node.")}let pipe=new Pipe(cmd);this.callbacks.forEach((f,n)=>{pipe.setCallback(n,f)});let value=pipe.run(subject);let dataPath=cmd.split(":").pop();let insertPoint;if(containerElement.hasChildNodes()){insertPoint=containerElement.lastChild}if(!isArray(value)){throw new Error("the value is not iterable")}let available=new Set;for(const[_i,obj]of Object.entries(value)){let ref=refPrefix+_i;let currentPath=dataPath+"."+_i;available.add(ref);let refElement=containerElement.querySelector("["+ATTRIBUTE_UPDATER_INSERT_REFERENCE+"=\""+ref+"\"]");if(refElement instanceof HTMLElement){insertPoint=refElement;continue}appendNewDocumentFragment(containerElement,key,ref,currentPath)}let nodes=containerElement.querySelectorAll("["+ATTRIBUTE_UPDATER_INSERT_REFERENCE+"*=\""+refPrefix+"\"]");for(const[,node]of Object.entries(nodes)){if(!available.has(node.getAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE))){containerElement.removeChild(node)}}}p.pop()}if(found===false)break;if(wd++>200){throw new Error("the maximum depth for the recursion is reached.")};}}function appendNewDocumentFragment(container,key,ref,path){let template=getDocument().querySelector("template#"+key);if(!(template instanceof HTMLTemplateElement)){throw new Error("no template was found with the specified key "+key)}let nodes=template.content.cloneNode(true);for(const[,node]of Object.entries(nodes.childNodes)){if(node instanceof HTMLElement){node.setAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE,ref);if(node.hasAttribute(ATTRIBUTE_UPDATER_REPLACE)){let value=node.getAttribute(ATTRIBUTE_UPDATER_REPLACE);node.setAttribute(ATTRIBUTE_UPDATER_REPLACE,value.replace("path:"+key,"path:"+path))}}container.appendChild(node)}}function updateContent(change){const self=this;const subject=self.subject.getRealSubject();let p=clone(change?.["path"]);runUpdateContent.call(this,this.element,p,subject);return this}function runUpdateContent(container,parts,subject){if(!isArray(parts))return;parts=clone(parts);let mem=new WeakSet;while(parts.length>0){const current=parts.join(".");parts.pop();for(const[,element]of container.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_REPLACE+"^=\"path:"+current+"\"], ["+ATTRIBUTE_UPDATER_REPLACE+"^=\"static:\"]").entries()){if(mem.has(element))continue;mem.add(element);const attributes=element.getAttribute(ATTRIBUTE_UPDATER_REPLACE);let cmd=attributes.trim();let pipe=new Pipe(cmd);this.callbacks.forEach((f,n)=>{pipe.setCallback(n,f)});let value=pipe.run(subject);if(value instanceof HTMLElement){while(element.firstChild){element.removeChild(element.firstChild)}element.addNode(value)}else{element.innerHTML=value}}}}function updateAttributes(change){const self=this;const subject=self.subject.getRealSubject();let p=clone(change?.["path"]);runUpdateAttributes(this.element,p,subject);return this}function runUpdateAttributes(container,parts,subject){if(!isArray(parts))return;parts=clone(parts);let mem=new WeakSet;while(parts.length>0){const current=parts.join(".");parts.pop();for(const[,element]of container.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_ATTRIBUTES+"*=\"path:"+current+"\"]").entries()){if(mem.has(element))continue;mem.add(element);const attributes=element.getAttribute(ATTRIBUTE_UPDATER_ATTRIBUTES);for(let[,def]of Object.entries(attributes.split(","))){def=def.trim();let i=def.indexOf(" ");let name=def.substr(0,i).trim();let cmd=def.substr(i).trim();let value=new Pipe(cmd).run(subject);if(element.getAttribute(name)!==value){element.setAttribute(name,value)}}}}}Monster.assignToNamespace("Monster.DOM",Updater);export{Monster,Updater}; diff --git a/packages/monster/dist/modules/dom/util.js b/packages/monster/dist/modules/dom/util.js index 513075628fea4dd97753b08961a55204104e4046..141016b4326203da0cb16d1ea87a834a84b69d92 100644 --- a/packages/monster/dist/modules/dom/util.js +++ b/packages/monster/dist/modules/dom/util.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,getGlobal}from"../types/global.js";import{validateString}from"../types/validate.js";function getDocument(){let document=getGlobal()?.["document"];if(typeof document!=="object"){throw new Error("not supported environment")}return document}function getWindow(){let window=getGlobal()?.["window"];if(typeof window!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){validateString(html);const document=getDocument();const template=document.createElement("template");template.innerHTML=html;return template.content}Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString);export{Monster,getWindow,getDocument,getDocumentFragmentFromString}; diff --git a/packages/monster/dist/modules/logging/handler.js b/packages/monster/dist/modules/logging/handler.js index 8395bd26f1e5c91e5c27d3eb39eb2c6d1ec45368..dd7f7bab8e0c5e35d32eb08ab75e3a684033651b 100644 --- a/packages/monster/dist/modules/logging/handler.js +++ b/packages/monster/dist/modules/logging/handler.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{ALL,DEBUG,ERROR,FATAL,INFO,OFF,TRACE,WARN}from"./logger.js";import{LogEntry}from"./logentry.js";import{validateInstance,validateInteger}from"../types/validate.js";class Handler extends Base{constructor(){super();this.loglevel=OFF}log(entry){validateInstance(entry,LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}setLogLevel(loglevel){validateInteger(loglevel);this.loglevel=loglevel;return this}getLogLevel(){return this.loglevel}setAll(){this.setLogLevel(ALL);return this}setTrace(){this.setLogLevel(TRACE);return this}setDebug(){this.setLogLevel(DEBUG);return this}setInfo(){this.setLogLevel(INFO);return this}setWarn(){this.setLogLevel(WARN);return this}setError(){this.setLogLevel(ERROR);return this}setFatal(){this.setLogLevel(FATAL);return this}setOff(){this.setLogLevel(OFF);return this}}Monster.assignToNamespace("Monster.Logging",Handler);export{Monster,Handler}; diff --git a/packages/monster/dist/modules/logging/handler/console.js b/packages/monster/dist/modules/logging/handler/console.js index fb74e44ab1ccd55fe3100b965601e5eec9162eb1..ae0985ce26006270299b964b25aa86eabec1db5f 100644 --- a/packages/monster/dist/modules/logging/handler/console.js +++ b/packages/monster/dist/modules/logging/handler/console.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../../namespace.js";import{Base}from"../../types/base.js";import{Handler}from"../../logging/handler.js";class ConsoleHandler extends Base{constructor(){super()}}Monster.assignToNamespace("Monster.Logging",ConsoleHandler);export{Monster,Handler}; diff --git a/packages/monster/dist/modules/logging/handler/namespace.js b/packages/monster/dist/modules/logging/handler/namespace.js index f129e06882d117438113f7dc9c34a1b7e6eb2ceb..6ab5546a2e6eb2523fe236c7ebb35dbf1d7d8c87 100644 --- a/packages/monster/dist/modules/logging/handler/namespace.js +++ b/packages/monster/dist/modules/logging/handler/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Logging.Handler"; diff --git a/packages/monster/dist/modules/logging/logentry.js b/packages/monster/dist/modules/logging/logentry.js index ab2d887cef0595659f5be1ed3b00fce91fde6bee..4119bdd1cecad3bd9aa192f5a8cd8d86e6c33dbd 100644 --- a/packages/monster/dist/modules/logging/logentry.js +++ b/packages/monster/dist/modules/logging/logentry.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateInteger}from"../types/validate.js";import{Base}from"../types/base.js";class LogEntry extends Base{constructor(loglevel,...args){super();validateInteger(loglevel);this.loglevel=loglevel;this.arguments=args}getLogLevel(){return this.loglevel}getArguments(){return this.arguments}}Monster.assignToNamespace("Monster.Logging",LogEntry);export{Monster,LogEntry}; diff --git a/packages/monster/dist/modules/logging/logger.js b/packages/monster/dist/modules/logging/logger.js index 588c2b25bbd9704955e2a62253ef9e6e386f2516..771985fd54bc24cc74e059ac9b69e84dd23ff84d 100644 --- a/packages/monster/dist/modules/logging/logger.js +++ b/packages/monster/dist/modules/logging/logger.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateInteger,validateObject,validateString}from"../types/validate.js";import{Handler}from"../logging/handler.js";import{LogEntry}from"../logging/logentry.js";import{Base}from"../types/base.js";const ALL=255;const TRACE=64;const DEBUG=32;const INFO=16;const WARN=8;const ERROR=4;const FATAL=2;const OFF=0;class Logger extends Base{constructor(){super();this.handler=new Set}addHandler(handler){validateObject(handler);if(!(handler instanceof Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}removeHandler(handler){validateObject(handler);if(!(handler instanceof Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.delete(handler);return this}logTrace(){triggerLog.apply(this,[TRACE,...arguments]);return this}logDebug(){triggerLog.apply(this,[DEBUG,...arguments]);return this}logInfo(){triggerLog.apply(this,[INFO,...arguments]);return this}logWarn(){triggerLog.apply(this,[WARN,...arguments]);return this}logError(){triggerLog.apply(this,[ERROR,...arguments]);return this}logFatal(){triggerLog.apply(this,[FATAL,...arguments]);return this}getLabel(level){validateInteger(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}getLevel(label){validateString(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}Monster.assignToNamespace("Monster.Logging",Logger);export{Monster,Logger,ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF};function triggerLog(loglevel,...args){var logger=this;for(let handler of logger.handler){handler.log(new LogEntry(loglevel,args))}return logger} diff --git a/packages/monster/dist/modules/logging/namespace.js b/packages/monster/dist/modules/logging/namespace.js index ff3c922749449cd4c4040917fd2be67e05401624..92dfe4b1ca5418b80deb6664819b975fc7d41c5a 100644 --- a/packages/monster/dist/modules/logging/namespace.js +++ b/packages/monster/dist/modules/logging/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Logging"; diff --git a/packages/monster/dist/modules/math/namespace.js b/packages/monster/dist/modules/math/namespace.js index f2941c1197187b607239f396e0225ff61c083284..01bc33e50d9b5feed7edd1024df3cff7bea1d141 100644 --- a/packages/monster/dist/modules/math/namespace.js +++ b/packages/monster/dist/modules/math/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Math"; diff --git a/packages/monster/dist/modules/math/random.js b/packages/monster/dist/modules/math/random.js index 7ec93117149370b5f6b75581065da00353388c94..4c82d7890e1464b8037aca11ff604993e2fa4bdb 100644 --- a/packages/monster/dist/modules/math/random.js +++ b/packages/monster/dist/modules/math/random.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,getGlobal}from"../types/global.js";function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1000000000;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){let crypt;let globalReference=getGlobal();crypt=globalReference?.["crypto"]||globalReference?.["msCrypto"]||globalReference?.["crypto"]||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}let rval=0;const range=max-min;if(range<2){return min}const bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}const bytesNeeded=Math.ceil(bitsNeeded/8);const mask=Math.pow(2,bitsNeeded)-1;const byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);let p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}Monster.assignToNamespace("Monster.Math",random);export{Monster,random}; diff --git a/packages/monster/dist/modules/monster.js b/packages/monster/dist/modules/monster.js index f021985d3f15805ccb59d4d967dfe0a5ad6ad13d..4f7035135c91cae323931d33978fbafb8facd632 100644 --- a/packages/monster/dist/modules/monster.js +++ b/packages/monster/dist/modules/monster.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"./namespace.js";import"./types/base.js";import"./types/global.js";import"./types/id.js";import"./types/is.js";import"./types/observer.js";import"./types/observerlist.js";import"./types/proxyobserver.js";import"./types/queue.js";import"./types/randomid.js";import"./types/stack.js";import"./types/tokenlist.js";import"./types/uniquequeue.js";import"./types/validate.js";import"./types/version.js";import"./math/random.js";import"./data/diff.js";import"./data/pathfinder.js";import"./data/pipe.js";import"./data/transformer.js";import"./logging/handler.js";import"./logging/logentry.js";import"./logging/logger.js";import"./logging/handler/console.js";import"./util/clone.js";import"./util/comparator.js";import"./util/freeze.js";import"./constraints/abstract.js";import"./constraints/abstractoperator.js";import"./constraints/andoperator.js";import"./constraints/invalid.js";import"./constraints/isarray.js";import"./constraints/isobject.js";import"./constraints/oroperator.js";import"./constraints/valid.js";import"./dom/util.js";import"./dom/template.js";import"./dom/handle.js";import"./dom/assembler.js";import"./dom/customelement.js";Monster.Util.deepFreeze(Monster);export{Monster};let rootName;try{rootName=Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";Monster.Types.getGlobal()[rootName]=Monster; diff --git a/packages/monster/dist/modules/namespace.js b/packages/monster/dist/modules/namespace.js index d893c90df146ea0c3dc88e6ea2f99c2d2ddf82d7..af82ff36be95525c9045394137222cca95d390d6 100644 --- a/packages/monster/dist/modules/namespace.js +++ b/packages/monster/dist/modules/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';class Namespace{constructor(namespace){if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}getNamespace(){return this.namespace}toString(){return this.getNamespace()}}export const Monster=new Namespace("Monster");assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns,...obj){let current=namespaceFor(ns.split("."));for(let i=0,l=obj.length;i<l;i++){current[objectName(obj[i])]=obj[i]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){let s=fn.toString();let f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}let c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(let i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}export{assignToNamespace}; diff --git a/packages/monster/dist/modules/types/base.js b/packages/monster/dist/modules/types/base.js index 01acf7384be52d43990c3a6124a2fb5381572f9a..9878de47cfccc197a43ad6b0b90308d5e66ccde2 100644 --- a/packages/monster/dist/modules/types/base.js +++ b/packages/monster/dist/modules/types/base.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";class Base extends Object{toString(){return JSON.stringify(this)}}Monster.assignToNamespace("Monster.Types",Base);export{Monster,Base}; diff --git a/packages/monster/dist/modules/types/global.js b/packages/monster/dist/modules/types/global.js index 2949093d3241345137ed01339db65d182b16a64b..c40bbee1a4204419c410f76262527429ae58e914 100644 --- a/packages/monster/dist/modules/types/global.js +++ b/packages/monster/dist/modules/types/global.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateFunction,validateString,validateObject}from"./validate.js";var globalReference;(function(){if(typeof globalThis==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){validateString(name);let o=globalReference?.[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");validateObject(o);return o}function getGlobalFunction(name){validateString(name);let f=globalReference?.[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");validateFunction(f);return f}Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction);export{Monster,getGlobal,getGlobalObject,getGlobalFunction}; diff --git a/packages/monster/dist/modules/types/id.js b/packages/monster/dist/modules/types/id.js index 7b78f7a730b310cedeb1473ce8a19e8bb290c7b9..2e95d3401d96ba436798c01cfdd8be2becfabee3 100644 --- a/packages/monster/dist/modules/types/id.js +++ b/packages/monster/dist/modules/types/id.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"./base.js";import{validateString}from"./validate.js";let internalCounter=new Map;class ID extends Base{constructor(prefix){super();if(prefix===undefined){prefix="id"}validateString(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}let count=internalCounter.get(prefix);this.id=prefix+count;internalCounter.set(prefix,++count)}toString(){return this.id}}Monster.assignToNamespace("Monster.Types",ID);export{Monster,ID}; diff --git a/packages/monster/dist/modules/types/is.js b/packages/monster/dist/modules/types/is.js index 4ed0c7c14077ab8a41dafccfdb4e506de3b50481..2cbb5172d4a0b00af07acc1423685d3b6c4ee697 100644 --- a/packages/monster/dist/modules/types/is.js +++ b/packages/monster/dist/modules/types/is.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof value?.[Symbol.iterator]==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=typeof value;if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger);export{Monster,isPrimitive,isBoolean,isString,isObject,isInstance,isArray,isFunction,isIterable,isInteger}; diff --git a/packages/monster/dist/modules/types/namespace.js b/packages/monster/dist/modules/types/namespace.js index 4df72695fdb8f13151f4f8201ef4da1bcd66c07d..ddd070219c554cb148fff662f274023f9609c021 100644 --- a/packages/monster/dist/modules/types/namespace.js +++ b/packages/monster/dist/modules/types/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Types"; diff --git a/packages/monster/dist/modules/types/observer.js b/packages/monster/dist/modules/types/observer.js index 7ade5a513c46f52014626facfb33b5bb99ea4155..d6596779761dd6ffb53c43cac2797a3f8fdd99cb 100644 --- a/packages/monster/dist/modules/types/observer.js +++ b/packages/monster/dist/modules/types/observer.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{TokenList}from"./tokenlist.js";import{isObject}from"./is.js";import{Base}from"./base.js";import{UniqueQueue}from"./uniquequeue.js";class Observer extends Base{constructor(callback,...args){super();if(typeof callback!=="function"){throw new Error("observer callback must be a function")}this.callback=callback;this.arguments=args;this.tags=new TokenList;this.queue=new UniqueQueue}addTag(tag){this.tags.add(tag);return this}removeTag(tag){this.tags.remove(tag);return this}getTags(){return this.tags.entries()}hasTag(tag){return this.tags.contains(tag)}update(subject){let self=this;return new Promise(function(resolve,reject){if(!isObject(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(()=>{try{if(self.queue.isEmpty()){resolve();return}let s=self.queue.poll();let result=self.callback.apply(s,self.arguments);if(isObject(result)&&result instanceof Promise){result.then(resolve).catch(reject);return}resolve(result)}catch(e){reject(e)}},0)})}}Monster.assignToNamespace("Monster.Types",Observer);export{Monster,Observer}; diff --git a/packages/monster/dist/modules/types/observerlist.js b/packages/monster/dist/modules/types/observerlist.js index 7af101e47e0caceee3f345ab4e31f9d5c6d247ff..ec694023d24ca69c63c990c6660605a02dcf7946 100644 --- a/packages/monster/dist/modules/types/observerlist.js +++ b/packages/monster/dist/modules/types/observerlist.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{Observer}from"./observer.js";import{validateInstance}from"./validate.js";class ObserverList extends Base{constructor(){super();this.observers=[]}attach(observer){validateInstance(observer,Observer);this.observers.push(observer);return this}detach(observer){validateInstance(observer,Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}contains(observer){validateInstance(observer,Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}notify(subject){let pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}Monster.assignToNamespace("Monster.Types",ObserverList);export{Monster,ObserverList}; diff --git a/packages/monster/dist/modules/types/proxyobserver.js b/packages/monster/dist/modules/types/proxyobserver.js index a24f2904af0c7f519b42aca2744cfa2f0d45c0c8..639ec8d78f15c01b65230ba34f8556db940ddee9 100644 --- a/packages/monster/dist/modules/types/proxyobserver.js +++ b/packages/monster/dist/modules/types/proxyobserver.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{validateObject}from"./validate.js";import{ObserverList}from"./observerlist.js";import{Observer}from"./observer.js";import{isObject,isArray,isPrimitive}from"./is.js";class ProxyObserver extends Base{constructor(object){super();validateObject(object);this.realSubject=object;this.subject=new Proxy(object,getHandler.call(this));this.objectMap=new WeakMap;this.objectMap.set(this.realSubject,this.subject);this.observers=new ObserverList}getSubject(){return this.subject}getRealSubject(){return this.realSubject}attachObserver(observer){this.observers.attach(observer);return this}detachObserver(observer){this.observers.detach(observer);return this}notifyObservers(){return this.observers.notify(this)}containsObserver(observer){return this.observers.contains(observer)}}Monster.assignToNamespace("Monster.Types",ProxyObserver);export{Monster,ProxyObserver};function getHandler(){const proxy=this;const handler={get:function(target,key,receiver){const value=Reflect.get(target,key,receiver);if(typeof key==="symbol"){return value}if(isPrimitive(value)){return value}if(isArray(value)||isObject(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{let p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function(target,key,value,receiver){const result=Reflect.set(target,key,value,receiver);if(typeof property!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function(target,key){if(key in target){delete target[key];if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function(target,key,descriptor){let result=Reflect.defineProperty(target,key,descriptor);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function(target,key){let result=Reflect.setPrototypeOf(object1,key);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler} diff --git a/packages/monster/dist/modules/types/queue.js b/packages/monster/dist/modules/types/queue.js index 0fa25c496b9ea8580dbd4fbdb4e6e37902e8fdc7..bf2034aac66a3918a8ebf9ac3ee0542acdb42e17 100644 --- a/packages/monster/dist/modules/types/queue.js +++ b/packages/monster/dist/modules/types/queue.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ import{Monster,Base}from"./base.js";class Queue extends Base{constructor(){super();this.data=[]}isEmpty(){return this.data.length===0}peek(){if(this.isEmpty()){return undefined}return this.data[0]}add(value){this.data.push(value);return this}clear(){this.data=[];return this}poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}Monster.assignToNamespace("Monster.Types",Queue);export{Monster,Queue}; diff --git a/packages/monster/dist/modules/types/randomid.js b/packages/monster/dist/modules/types/randomid.js index dd06cd8907b0e341c0d2f4ab424fde028ea4532e..75d0d4134e8293e20c0f0c63600c99d5f1aab2fa 100644 --- a/packages/monster/dist/modules/types/randomid.js +++ b/packages/monster/dist/modules/types/randomid.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,ID}from"./id.js";import{getGlobal}from"./global.js";import{random}from"../math/random.js";let internalCounter=0;class RandomID extends ID{constructor(){super();internalCounter+=1;this.id=getGlobal().btoa(random(1,10000)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter}}Monster.assignToNamespace("Monster.Types",RandomID);export{Monster,RandomID}; diff --git a/packages/monster/dist/modules/types/stack.js b/packages/monster/dist/modules/types/stack.js index 9462c459f6a2b570f91316a19ad7ce032cf1d204..97c944aeb4320816bb74f8cb9a6cad364fe06707 100644 --- a/packages/monster/dist/modules/types/stack.js +++ b/packages/monster/dist/modules/types/stack.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ import{Monster,Base}from"./base.js";class Stack extends Base{constructor(){super();this.data=[]}isEmpty(){return this.data.length===0}peek(){if(this.isEmpty()){return undefined}return this.data?.[this.data.length-1]}push(value){this.data.push(value);return this}clear(){this.data=[];return this}pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}Monster.assignToNamespace("Monster.Types",Stack);export{Monster,Stack}; diff --git a/packages/monster/dist/modules/types/tokenlist.js b/packages/monster/dist/modules/types/tokenlist.js index 193779eb7dfa3124e18d9a73eb173777119aca2b..27ea339845442ce10549673768265ed7260fdba9 100644 --- a/packages/monster/dist/modules/types/tokenlist.js +++ b/packages/monster/dist/modules/types/tokenlist.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{isString,isIterable}from"../types/is.js";import{validateString,validateFunction}from"../types/validate.js";class TokenList extends Base{constructor(init){super();this.tokens=new Set;if(typeof init!=="undefined"){this.add(init)}}getIterator(){return this[Symbol.iterator]()}[Symbol.iterator](){let index=0;let entries=this.entries();return{next:()=>{if(index<entries.length){return{value:entries?.[index++],done:false}}else{return{done:true}}}}}contains(value){if(isString(value)){value=value.trim();let counter=0;value.split(" ").forEach(token=>{if(this.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if(isIterable(value)){let counter=0;for(let token of value){validateString(token);if(this.tokens.has(token.trim())===false)return false;counter++}return counter>0?true:false}return false}add(value){if(isString(value)){value.split(" ").forEach(token=>{this.tokens.add(token.trim())})}else if(isIterable(value)){for(let token of value){validateString(token);this.tokens.add(token.trim())}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}clear(){this.tokens.clear();return this}remove(value){if(isString(value)){value.split(" ").forEach(token=>{this.tokens.delete(token.trim())})}else if(isIterable(value)){for(let token of value){validateString(token);this.tokens.delete(token.trim())}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}replace(token,newToken){validateString(token);validateString(newToken);if(!this.contains(token)){return this}let a=Array.from(this.tokens);let i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}toggle(value){if(isString(value)){value.split(" ").forEach(token=>{toggleValue.call(this,token)})}else if(isIterable(value)){for(let token of value){toggleValue.call(this,token)}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}entries(){return Array.from(this.tokens)}forEach(callback){validateFunction(callback);this.tokens.forEach(callback);return this}toString(){return this.entries().join(" ")}}function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");validateString(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}Monster.assignToNamespace("Monster.Types",TokenList);export{Monster,TokenList}; diff --git a/packages/monster/dist/modules/types/typeof.js b/packages/monster/dist/modules/types/typeof.js index 3fb3024c5e56c30274bd5a076ef79e11d92010b9..f05567ff3c40e73e4686b9411325b7b02b6d2f96 100644 --- a/packages/monster/dist/modules/types/typeof.js +++ b/packages/monster/dist/modules/types/typeof.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";function typeOf(value){let type={}.toString.call(value).match(/\s([a-zA-Z]+)/)[1];if("Object"===type){const results=/^(class|function)\s+(\w+)/.exec(value.constructor.toString());type=results&&results.length>2?results[2]:""}return type.toLowerCase()}Monster.assignToNamespace("Monster.Types",typeOf);export{Monster,typeOf}; diff --git a/packages/monster/dist/modules/types/uniquequeue.js b/packages/monster/dist/modules/types/uniquequeue.js index 50815263d7d4d4d089c810d9ca0e3c871c8d8db3..c528ac777b4baf0f7e141f5ae10a516de109bc4a 100644 --- a/packages/monster/dist/modules/types/uniquequeue.js +++ b/packages/monster/dist/modules/types/uniquequeue.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ import{Monster,Queue}from"./queue.js";import{validateObject}from"./validate.js";class UniqueQueue extends Queue{constructor(){super();this.unique=new WeakSet}add(value){validateObject(value);if(!this.unique.has(value)){this.unique.add(value);super.add(value)}return this}clear(){super.clear();this.unique=new WeakSet;return this}poll(){if(this.isEmpty()){return undefined}let value=this.data.shift();this.unique.delete(value);return value}}Monster.assignToNamespace("Monster.Types",UniqueQueue);export{Monster,UniqueQueue}; diff --git a/packages/monster/dist/modules/types/validate.js b/packages/monster/dist/modules/types/validate.js index a69741c4837b85e3cda74376c9ca0a8c7637c324..d581202042e74d2f5c450a2acd1e759fc9b11fd1 100644 --- a/packages/monster/dist/modules/types/validate.js +++ b/packages/monster/dist/modules/types/validate.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInstance,isInteger}from"./is.js";function validateIterable(value){if(!isIterable(value)){throw new TypeError("value is not iterable")}return value}function validatePrimitive(value){if(!isPrimitive(value)){throw new TypeError("value is not a primitive")}return value}function validateBoolean(value){if(!isBoolean(value)){throw new TypeError("value is not a boolean")}return value}function validateString(value){if(!isString(value)){throw new TypeError("value is not a string")}return value}function validateObject(value){if(!isObject(value)){throw new TypeError("value is not a object")}return value}function validateInstance(value,instance){if(!isInstance(value,instance)){let n="";if(isObject(instance)||isFunction(instance)){n=instance?.["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}return value}function validateArray(value){if(!isArray(value)){throw new TypeError("value is not an array")}return value}function validateFunction(value){if(!isFunction(value)){throw new TypeError("value is not a function")}return value}function validateInteger(value){if(!isInteger(value)){throw new TypeError("value is not an integer")}return value}Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger);export{Monster,validatePrimitive,validateBoolean,validateString,validateObject,validateInstance,validateArray,validateFunction,validateIterable,validateInteger}; diff --git a/packages/monster/dist/modules/types/version.js b/packages/monster/dist/modules/types/version.js index 0569fe0d6129a78b3c41fff5c90e852c275143e5..474a53a4683711f82a4947a690a1648eaa371d4c 100644 --- a/packages/monster/dist/modules/types/version.js +++ b/packages/monster/dist/modules/types/version.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";class Version extends Base{constructor(major,minor,patch){super();if(typeof major==="string"&&minor===undefined&&patch===undefined){let parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}this.major=parseInt(major);this.minor=parseInt(minor);this.patch=parseInt(patch);if(isNaN(this.major)){throw new Error("major is not a number")}if(isNaN(this.minor)){throw new Error("minor is not a number")}if(isNaN(this.patch)){throw new Error("patch is not a number")}}toString(){return this.major+"."+this.minor+"."+this.patch}compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}let a=[this.major,this.minor,this.patch];let b=version.split(".");let len=Math.max(a.length,b.length);for(let i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}Monster.assignToNamespace("Monster.Types",Version);let monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.8.0");return monsterVersion}Monster.assignToNamespace("Monster",getVersion);export{Monster,Version,getVersion}; +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";class Version extends Base{constructor(major,minor,patch){super();if(typeof major==="string"&&minor===undefined&&patch===undefined){let parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}this.major=parseInt(major);this.minor=parseInt(minor);this.patch=parseInt(patch);if(isNaN(this.major)){throw new Error("major is not a number")}if(isNaN(this.minor)){throw new Error("minor is not a number")}if(isNaN(this.patch)){throw new Error("patch is not a number")}}toString(){return this.major+"."+this.minor+"."+this.patch}compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}let a=[this.major,this.minor,this.patch];let b=version.split(".");let len=Math.max(a.length,b.length);for(let i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}Monster.assignToNamespace("Monster.Types",Version);let monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.9.0");return monsterVersion}Monster.assignToNamespace("Monster",getVersion);export{Monster,Version,getVersion}; diff --git a/packages/monster/dist/modules/util/clone.js b/packages/monster/dist/modules/util/clone.js index 07a61c3a8047dcbfd4c83257f58719b67fe3c309..1dc8d4c7e173278ebb4295e3715a251d65e55350 100644 --- a/packages/monster/dist/modules/util/clone.js +++ b/packages/monster/dist/modules/util/clone.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{isObject,isFunction,isPrimitive,isArray}from"../types/is.js";import{getGlobal}from"../types/global.js";function clone(obj){if(null===obj){return obj}if(isPrimitive(obj)){return obj}if(isFunction(obj)){return obj}if(isArray(obj)){let copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if(isObject(obj)){if(obj instanceof Date){let copy=new Date;copy.setTime(obj.getTime());return copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===getGlobal())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(typeof obj.hasOwnProperty("getClone")&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(let key in obj){if(!obj.hasOwnProperty(key)){continue}if(Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}Monster.assignToNamespace("Monster.Util",clone);export{Monster,clone}; diff --git a/packages/monster/dist/modules/util/comparator.js b/packages/monster/dist/modules/util/comparator.js index 0d7bb212fa3648279b9bd84784dfacb387b85016..fc201a0e21b4d7511c16d8ee26554607160247a1 100644 --- a/packages/monster/dist/modules/util/comparator.js +++ b/packages/monster/dist/modules/util/comparator.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{isFunction}from"../types/is.js";class Comparator extends Base{constructor(callback){super();if(isFunction(callback)){this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{this.compare=function(a,b){if(typeof a!==typeof b){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}}reverse(){const original=this.compare;this.compare=(a,b)=>original(b,a);return this}equal(a,b){return this.compare(a,b)===0}greaterThan(a,b){return this.compare(a,b)>0}greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}lessThan(a,b){return this.compare(a,b)<0}}Monster.assignToNamespace("Monster.Util",Comparator);export{Monster,Comparator}; diff --git a/packages/monster/dist/modules/util/freeze.js b/packages/monster/dist/modules/util/freeze.js index a8c5d68aa5d2107a73f5a9ff9da62efcd8103d57..97a7d28bf3d82d306ab88eea26055952fa353ee9 100644 --- a/packages/monster/dist/modules/util/freeze.js +++ b/packages/monster/dist/modules/util/freeze.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateObject}from"../types/validate.js";function deepFreeze(object){validateObject(object);var propNames=Object.getOwnPropertyNames(object);for(let name of propNames){let value=object[name];object[name]=value&&typeof value==="object"?deepFreeze(value):value}return Object.freeze(object)}Monster.assignToNamespace("Monster.Util",deepFreeze);export{Monster,deepFreeze}; diff --git a/packages/monster/dist/modules/util/namespace.js b/packages/monster/dist/modules/util/namespace.js index 6772720b281ebc73ebb822412817ea15dcfd0acc..4ebd4c056e5e27e444f5a2d2533c3e337c145d20 100644 --- a/packages/monster/dist/modules/util/namespace.js +++ b/packages/monster/dist/modules/util/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Util"; diff --git a/packages/monster/dist/monster.dev.js b/packages/monster/dist/monster.dev.js index 601c47fd4093b9f40e6945733af0a0e64752b9bb..0ff5c4230e6282025675727bacea7efda975f762 100644 --- a/packages/monster/dist/monster.dev.js +++ b/packages/monster/dist/monster.dev.js @@ -211,7 +211,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js'; * new Monster.Constraint.AndOperator(); * </script> * ``` @@ -220,16 +220,16 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js'; * new AndOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js'; * * new AndOperator( * new Valid(), new Valid()).isValid() @@ -327,7 +327,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; * new Monster.Constraint.Invalid(); * </script> * ``` @@ -336,14 +336,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; * new Invalid(); * </script> * ``` * * @example * - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; * * new Invalid().isValid() * .then(()=>console.log(true)) @@ -434,7 +434,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js'; * console.log(new Monster.Constraint.IsArray()) * </script> * ``` @@ -443,14 +443,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js'; * console.log(new IsArray()) * </script> * ``` * * @example * - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js'; * * new IsArray() * .isValid([]) @@ -550,7 +550,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js'; * console.log(new Monster.Constraint.IsObject()) * </script> * ``` @@ -559,14 +559,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js'; * console.log(new IsObject()) * </script> * ``` * * @example * - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js'; * * new IsObject() * .isValid({}) @@ -665,7 +665,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraint/oroperator.js'; * new Monster.Constraint.OrOperator(); * </script> * ``` @@ -674,16 +674,16 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraint/oroperator.js'; * new OrOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/oroperator.js'; * * new OrOperator( * new Valid(), new Invalid()).isValid() @@ -804,7 +804,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; * new Monster.Constraint.Valid(); * </script> * ``` @@ -813,14 +813,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; * new Valid(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; * * new Valid().isValid() * .then(()=>console.log(true)) @@ -893,7 +893,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js'; * console.log(Monster.Data.Diff(a, b)) * </script> * ``` @@ -902,14 +902,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js'; * console.log(Diff(a, b)) * </script> * ``` * * @example * - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js'; * * // given are two objects x and y. * @@ -1215,7 +1215,7 @@ var WILDCARD = '*'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * console.log(new Monster.Data.Pathfinder()) * </script> * ``` @@ -1224,7 +1224,7 @@ var WILDCARD = '*'; * * ``` * <script type="module"> - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * console.log(new Pathfinder()) * </script> * ``` @@ -1266,7 +1266,7 @@ var WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * * let value = new Pathfinder({ * a: { @@ -1292,7 +1292,7 @@ var WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * * let p = new Pathfinder({ * a: { @@ -1705,7 +1705,7 @@ var DELIMITER = '|'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js'; * console.log(new Monster.Data.Pipe()) * </script> * ``` @@ -1714,7 +1714,7 @@ var DELIMITER = '|'; * * ``` * <script type="module"> - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js'; * console.log(new Pipe()) * </script> * ``` @@ -1725,7 +1725,7 @@ var DELIMITER = '|'; * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char. * * @example - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js'; * * let obj = { * a: { @@ -1890,7 +1890,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js'; * console.log(new Monster.Data.Transformer()) * </script> * ``` @@ -1899,7 +1899,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js'; * console.log(new Transformer()) * </script> * ``` @@ -1976,7 +1976,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js'; * * const transformer = new Transformer("tolower") * @@ -2385,7 +2385,7 @@ var ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/assembler.js'; * console.log(new Monster.DOM.Assembler()) * </script> * ``` @@ -2394,7 +2394,7 @@ var ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; + * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/assembler.js'; * console.log(new Assembler()) * </script> * ``` @@ -2643,7 +2643,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/customelement.js'; * console.log(new Monster.DOM.CustomElement()) * </script> * ``` @@ -2652,7 +2652,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/customelement.js'; * console.log(new CustomElement()) * </script> * ``` @@ -3051,7 +3051,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(new Monster.DOM.Handle()) * </script> * ``` @@ -3060,7 +3060,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(new Handle()) * </script> * ``` @@ -3229,7 +3229,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(Monster.DOM.getHandleFromNode()) * </script> * ``` @@ -3238,7 +3238,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(getHandleFromNode()) * </script> * ``` @@ -3324,7 +3324,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(new Monster.DOM.Template()) * </script> * ``` @@ -3333,7 +3333,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(new Template()) * </script> * ``` @@ -3398,7 +3398,7 @@ var Template = /*#__PURE__*/function (_Base) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(Monster.DOM.findDocumentTemplate()) * </script> * ``` @@ -3407,7 +3407,7 @@ var Template = /*#__PURE__*/function (_Base) { * * ``` * <script type="module"> - * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(findDocumentTemplate()) * </script> * ``` @@ -3500,7 +3500,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js'; * console.log(new Monster.DOM.Theme()) * </script> * ``` @@ -3509,14 +3509,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js'; * console.log(new Theme()) * </script> * ``` * * @example * - * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js'; * * const theme = getDocumentTheme(); * console.log(theme.getName()); @@ -3628,7 +3628,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocument()) * </script> * ``` @@ -3637,7 +3637,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(getDocument()) * </script> * ``` @@ -3691,7 +3691,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getWindow()) * </script> * ``` @@ -3700,7 +3700,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(getWindow(null)) * </script> * ``` @@ -3760,7 +3760,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocumentFragmentFromString()) * </script> * ``` @@ -3769,7 +3769,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(getDocumentFragmentFromString('<div></div>')) * </script> * ``` @@ -3874,7 +3874,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler.js'; * console.log(new Monster.Logging.Handler()) * </script> * ``` @@ -3883,7 +3883,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler.js'; * console.log(new Handler()) * </script> * ``` @@ -4125,7 +4125,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler/console.js'; * console.log(new Monster.Logging.Handler.ConsoleHandler()) * </script> * ``` @@ -4134,7 +4134,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler/console.js'; * console.log(new ConsoleHandler()) * </script> * ``` @@ -4209,7 +4209,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logentry.js'; * console.log(new Monster.Logging.LogEntry()) * </script> * ``` @@ -4218,7 +4218,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logentry.js'; * console.log(new LogEntry()) * </script> * ``` @@ -4405,7 +4405,7 @@ var OFF = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logger.js'; * console.log(new Monster.Logging.Logger()) * </script> * ``` @@ -4414,7 +4414,7 @@ var OFF = 0; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logger.js'; * console.log(new Logger()) * </script> * ``` @@ -4688,7 +4688,7 @@ var _global = require("../types/global.js"); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/math/random.js'; * console.log(Monster.Math.random(1,10)) // ↦ 5 * </script> * ``` @@ -4697,7 +4697,7 @@ var _global = require("../types/global.js"); * * ``` * <script type="module"> - * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; + * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/math/random.js'; * console.log(random(1,10)) // ↦ 5 * </script> * ``` @@ -4992,7 +4992,7 @@ assignToNamespace('Monster', assignToNamespace); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/namespace.js'; * function hello() { * console.log('Hello World!'); * } @@ -5136,7 +5136,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/base.js'; * console.log(new Monster.Types.Base()) * console.log(new Monster.Types.Base()) * </script> @@ -5146,7 +5146,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; + * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/base.js'; * console.log(new Base()) * console.log(new Base()) * </script> @@ -5259,7 +5259,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -5268,7 +5268,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -5299,7 +5299,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -5308,7 +5308,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -5394,7 +5394,7 @@ var internalCounter = new Map(); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/id.js'; * console.log(new Monster.Types.ID()) * </script> * ``` @@ -5403,7 +5403,7 @@ var internalCounter = new Map(); * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/id.js'; * console.log(new ID()) * </script> * ``` @@ -5500,7 +5500,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isIterable(null)) // ↦ false * console.log(Monster.Types.isIterable('hello')) // ↦ true * console.log(Monster.Types.isIterable([])) // ↦ true @@ -5511,7 +5511,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isIterable(null)) // ↦ false * console.log(isIterable('hello')) // ↦ true * console.log(isIterable([])) // ↦ true @@ -5536,7 +5536,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isPrimitive('2')) // ↦ false * console.log(Monster.Types.isPrimitive([])) // ↦ true * </script> @@ -5546,7 +5546,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isPrimitive('2')) // ↦ true * console.log(isPrimitive([])) // ↦ false * </script> @@ -5582,7 +5582,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isBoolean('2')) // ↦ false * console.log(Monster.Types.isBoolean([])) // ↦ false * console.log(Monster.Types.isBoolean(true)) // ↦ true @@ -5593,7 +5593,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isBoolean('2')) // ↦ false * console.log(isBoolean([])) // ↦ false * console.log(isBoolean(2>4)) // ↦ true @@ -5622,7 +5622,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isString('2')) // ↦ true * console.log(Monster.Types.isString([])) // ↦ false * </script> @@ -5632,7 +5632,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isString('2')) // ↦ true * console.log(isString([])) // ↦ false * </script> @@ -5660,7 +5660,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isObject('2')) // ↦ false * console.log(Monster.Types.isObject([])) // ↦ false * console.log(Monster.Types.isObject({})) // ↦ true @@ -5671,7 +5671,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isObject('2')) // ↦ false * console.log(isObject([])) // ↦ false * </script> @@ -5702,7 +5702,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInstance('2')) // ↦ false * console.log(Monster.Types.isInstance([])) // ↦ false * console.log(Monster.Types.isInstance({})) // ↦ true @@ -5713,7 +5713,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isInstance('2')) // ↦ false * console.log(isInstance([])) // ↦ false * </script> @@ -5741,7 +5741,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isArray('2')) // ↦ false * console.log(Monster.Types.isArray([])) // ↦ true * </script> @@ -5751,7 +5751,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isArray('2')) // ↦ false * console.log(isArray([])) // ↦ true * </script> @@ -5779,7 +5779,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isFunction(()=>{})) // ↦ true * console.log(Monster.Types.isFunction('2')) // ↦ false * console.log(Monster.Types.isFunction([])) // ↦ false @@ -5790,7 +5790,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isFunction(()=>{})) // ↦ true * console.log(isFunction('2')) // ↦ false * console.log(isFunction([])) // ↦ false @@ -5822,7 +5822,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInteger(()=>{})) // ↦ true * console.log(Monster.Types.isInteger('2')) // ↦ false * console.log(Monster.Types.isInteger(2)) // ↦ true @@ -5833,7 +5833,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isInteger(()=>{})) // ↦ true * console.log(isInteger('2')) // ↦ false * console.log(isInteger(2)) // ↦ true @@ -5910,7 +5910,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; * console.log(new Monster.Types.Observer()) * </script> * ``` @@ -5919,7 +5919,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; * console.log(new Observer()) * </script> * ``` @@ -5953,7 +5953,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; * * const observer = new Observer(function(a, b, c) { * console.log(this, a, b, c); // ↦ "a", 2, true @@ -6148,7 +6148,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observerlist.js'; * console.log(new Monster.Types.ObserverList()) * console.log(new Monster.Types.ObserverList()) * </script> @@ -6158,7 +6158,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; + * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observerlist.js'; * console.log(ObserverList()) * console.log(ObserverList()) * </script> @@ -6330,7 +6330,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js'; * console.log(new Monster.Types.ProxyObserver()) * </script> * ``` @@ -6339,7 +6339,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js'; * console.log(new ProxyObserver()) * </script> * ``` @@ -6350,9 +6350,9 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * * const o = new Observer(function () { * if (isObject(this) && this instanceof ProxyObserver) { @@ -6613,7 +6613,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js'; * console.log(new Monster.Types.Queue()) * </script> * ``` @@ -6622,14 +6622,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js'; * console.log(new Queue()) * </script> * ``` * * @example * - * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; + * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js'; * * const queue = new Queue; * @@ -6797,7 +6797,7 @@ var internalCounter = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/randomid.js'; * console.log(new Monster.Types.RandomID()) * </script> * ``` @@ -6806,7 +6806,7 @@ var internalCounter = 0; * * ``` * <script type="module"> - * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; + * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/randomid.js'; * console.log(new RandomID()) * </script> * ``` @@ -6887,7 +6887,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/stack.js'; * console.log(new Monster.Types.Stack()) * </script> * ``` @@ -6896,7 +6896,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/stack.js'; * console.log(new Stack()) * </script> * ``` @@ -7062,7 +7062,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/tokenlist.js'; * console.log(new Monster.Types.TokenList("myclass row")) * console.log(new Monster.Types.TokenList("myclass row")) * </script> @@ -7072,7 +7072,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; + * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/tokenlist.js'; * console.log(new TokenList("myclass row")) * console.log(new TokenList("myclass row")) * </script> @@ -7493,7 +7493,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/uniquequeue.js'; * console.log(new Monster.Types.UniqueQueue()) * </script> * ``` @@ -7502,7 +7502,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; + * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/uniquequeue.js'; * console.log(new UniqueQueue()) * </script> * ``` @@ -7627,7 +7627,7 @@ var _is = require("./is.js"); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError * console.log(Monster.Types.validateIterable([])) // ↦ undefined * </script> @@ -7637,7 +7637,7 @@ var _is = require("./is.js"); * * ``` * <script type="module"> - * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateIterable('2')) // ↦ TypeError * console.log(validateIterable([])) // ↦ undefined * </script> @@ -7667,7 +7667,7 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError * </script> @@ -7677,7 +7677,7 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validatePrimitive('2')) // ↦ undefined * console.log(validatePrimitive([])) // ↦ TypeError * </script> @@ -7709,7 +7709,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError @@ -7720,7 +7720,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateBoolean(false)) // ↦ undefined * console.log(validateBoolean('2')) // ↦ TypeError * console.log(validateBoolean([])) // ↦ TypeError @@ -7751,7 +7751,7 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateString('2')) // ↦ undefined * console.log(Monster.Types.validateString([])) // ↦ TypeError * </script> @@ -7761,7 +7761,7 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateString('2')) // ↦ undefined * console.log(validateString([])) // ↦ TypeError * </script> @@ -7790,7 +7790,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateObject({})) // ↦ undefined * console.log(Monster.Types.validateObject('2')) // ↦ TypeError * console.log(Monster.Types.validateObject([])) // ↦ TypeError @@ -7801,7 +7801,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateObject({})) // ↦ undefined * console.log(validateObject('2')) // ↦ TypeError * console.log(validateObject([])) // ↦ TypeError @@ -7831,7 +7831,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError @@ -7842,7 +7842,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateInstance({}, Object)) // ↦ undefined * console.log(validateInstance('2', Object)) // ↦ TypeError * console.log(validateInstance([], Object)) // ↦ TypeError @@ -7882,7 +7882,7 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateArray('2')) // ↦ TypeError * console.log(Monster.Types.validateArray([])) // ↦ undefined * </script> @@ -7892,7 +7892,7 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateArray('2')) // ↦ TypeError * console.log(validateArray([])) // ↦ undefined * </script> @@ -7921,7 +7921,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError * console.log(Monster.Types.validateFunction([])) // ↦ TypeError @@ -7932,7 +7932,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateFunction(()=>{})) // ↦ undefined * console.log(validateFunction('2')) // ↦ TypeError * console.log(validateFunction([])) // ↦ TypeError @@ -7962,7 +7962,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError * console.log(Monster.Types.validateInteger(2)) // ↦ undefined @@ -7973,7 +7973,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateInteger(true)) // ↦ TypeError * console.log(validateInteger('2')) // ↦ TypeError * console.log(validateInteger(2)) // ↦ undefined @@ -8047,7 +8047,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 * </script> @@ -8057,7 +8057,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(new Version('1.2.3')) // ↦ 1.2.3 * console.log(new Version('1')) // ↦ 1.0.0 * </script> @@ -8065,7 +8065,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * * new Version('1.0.0') // ↦ 1.0.0 * new Version(1) // ↦ 1.0.0 @@ -8200,7 +8200,7 @@ var monsterVersion; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(Monster.getVersion()) * console.log(Monster.getVersion()) * </script> @@ -8210,7 +8210,7 @@ var monsterVersion; * * ``` * <script type="module"> - * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(getVersion()) * console.log(getVersion()) * </script> @@ -8230,7 +8230,7 @@ function getVersion() { /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.8.0'); + monsterVersion = new Version('1.9.0'); /**#@-*/ return monsterVersion; @@ -8276,7 +8276,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/clone.js'; * console.log(Monster.Util.clone({})) * </script> * ``` @@ -8285,7 +8285,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; + * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/clone.js'; * console.log(clone({})) * </script> * ``` @@ -8449,7 +8449,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js'; * console.log(new Monster.Util.Comparator()) * </script> * ``` @@ -8458,7 +8458,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js'; * console.log(new Comparator()) * </script> * ``` @@ -8483,7 +8483,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js'; * * console.log(new Comparator().lessThanOrEqual(2, 5)) * // ↦ true @@ -8670,7 +8670,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/freeze.js'; * console.log(Monster.Util.deepFreeze({})) * </script> * ``` @@ -8679,7 +8679,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len * * ``` * <script type="module"> - * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; + * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/freeze.js'; * console.log(deepFreeze({})) * </script> * ``` diff --git a/packages/monster/dist/monster.dev.js.map b/packages/monster/dist/monster.dev.js.map index 70b5c857d50f1d37c0b8409edb0eeca23f4a22cc..116f05e17dfe80b0a60da7f710c33c661ac9e688 100644 --- a/packages/monster/dist/monster.dev.js.map +++ b/packages/monster/dist/monster.dev.js.map @@ -54,46 +54,46 @@ "(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()", "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined.\n *\n * derived classes must implement the method isValid().\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AbstractConstraint extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n }\n\n /**\n * this method must return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.reject(value);\n }\n}\n\nMonster.assignToNamespace('Monster.Constraints', AbstractConstraint);\nexport {Monster, AbstractConstraint}", "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * Operators allow you to link constraints together. for example, you can check whether a value is an object or an array. each operator has two operands that are linked together.\n * \n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AbstractOperator extends AbstractConstraint {\n\n /**\n *\n * @param {AbstractConstraint} operantA\n * @param {AbstractConstraint} operantB\n * @throws {TypeError} \"parameters must be from type AbstractConstraint\"\n */\n constructor(operantA, operantB) {\n super();\n\n if (!(operantA instanceof AbstractConstraint) || !(operantB instanceof AbstractConstraint)) {\n throw new TypeError(\"parameters must be from type AbstractConstraint\")\n }\n\n this.operantA = operantA;\n this.operantB = operantB;\n\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AbstractOperator);\nexport {Monster, AbstractOperator}", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n * new Monster.Constraint.AndOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n * new AndOperator();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n *\n * new AndOperator(\n * new Valid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new AndOperator(\n * new Invalid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AndOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AndOperator);\nexport {Monster, AndOperator}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * new Monster.Constraint.Invalid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * new Invalid();\n * </script>\n * ```\n *\n * @example\n *\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n *\n * new Invalid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Invalid extends AbstractConstraint {\n\n /**\n * this method return a rejected promise\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Invalid);\nexport {Monster, Invalid}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isArray} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n * console.log(new Monster.Constraint.IsArray())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n * console.log(new IsArray())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n *\n * new IsArray()\n * .isValid([])\n * .then(()=>console.log(true));\n * // ↦ true\n *\n * new IsArray()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsArray extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isArray(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsArray);\nexport {Monster, IsArray}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isObject} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n * console.log(new Monster.Constraint.IsObject())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n * console.log(new IsObject())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n *\n * new IsObject()\n * .isValid({})\n * .then(()=>console.log(true));\n * // ↦ true\n *\n *\n * new IsObject()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsObject extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isObject(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsObject);\nexport {Monster, IsObject}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';\n * new Monster.Constraint.OrOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';\n * new OrOperator();\n * </script>\n * ```\n *\n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';\n *\n * new OrOperator(\n * new Valid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new OrOperator(\n * new Invalid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass OrOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n var self = this;\n\n return new Promise(function (resolve, reject) {\n let a, b;\n\n self.operantA.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n a = false;\n /** b has already been evaluated and was not true */\n if (b === false) {\n reject();\n }\n });\n\n self.operantB.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n b = false;\n /** b has already been evaluated and was not true */\n if (a === false) {\n reject();\n }\n });\n });\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', OrOperator);\nexport {Monster, OrOperator}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * new Monster.Constraint.Valid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * new Valid();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n *\n * new Valid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Valid extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.resolve(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Valid);\nexport {Monster, Valid}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, isArray, isObject} from \"../types/is.js\";\n\n/**\n * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.\n *\n * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.\n *\n * You can call the method via the monster namespace `Monster.Data.Diff()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * console.log(Monster.Data.Diff(a, b))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * console.log(Diff(a, b))\n * </script>\n * ```\n *\n * @example\n * \n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * \n * // given are two objects x and y.\n *\n * let x = {\n * a: 1,\n * b: \"Hello!\"\n * }\n *\n * let y = {\n * a: 2,\n * c: true\n * }\n *\n * // These two objects can be compared with each other.\n *\n * console.log(Diff(x, y));\n *\n * // the result is then the following\n *\n * //\n * // [\n * // {\n * // operator: 'update',\n * // path: [ 'a' ],\n * // first: { value: 1, type: 'number' },\n * // second: { value: 2, type: 'number' }\n * // },\n * // {\n * // operator: 'delete',\n * // path: [ 'b' ],\n * // first: { value: 'Hello!', type: 'string' }\n * // },\n * // {\n * // operator: 'add',\n * // path: [ 'c' ],\n * // second: { value: true, type: 'boolean' }\n * // }\n * // ]\n *\n * @param {*} first\n * @param {*} second\n * @return {array}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nfunction Diff(first, second) {\n return doDiff(first, second)\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param type\n * @return {Set<string>|Set<number>}\n */\nfunction getKeys(a, b, type) {\n if (isArray(type)) {\n const keys = a.length > b.length ? new Array(a.length) : new Array(b.length);\n keys.fill(0);\n return new Set(keys.map((_, i) => i));\n }\n\n return new Set(Object.keys(a).concat(Object.keys(b)));\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param path\n * @param diff\n * @return {array}\n */\nfunction doDiff(a, b, path, diff) {\n\n let typeA = typeof a\n let typeB = typeof b\n\n const currPath = path || [];\n const currDiff = diff || [];\n\n if (typeA === typeB && typeA === 'object') { // array is object too\n\n getKeys(a, b, typeA).forEach((v) => {\n\n if (!(Object.prototype.hasOwnProperty.call(a, v))) {\n currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v)));\n } else if (!(Object.prototype.hasOwnProperty.call(b, v))) {\n currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v)));\n } else {\n doDiff(a[v], b[v], currPath.concat(v), currDiff);\n }\n });\n\n } else {\n\n const o = getOperator(a, b, typeA, typeB);\n if (o !== undefined) {\n currDiff.push(buildResult(a, b, o, path));\n }\n\n }\n\n return currDiff;\n\n}\n\n/**\n *\n * @param {*} a\n * @param {*} b\n * @param {string} operator\n * @param {array} path\n * @return {{path: array, operator: string}}\n * @private\n */\nfunction buildResult(a, b, operator, path) {\n\n const result = {\n operator,\n path,\n };\n\n if (operator !== 'add') {\n result.first = {\n value: a,\n type: typeof a\n };\n\n if (isObject(a)) {\n const name = Object.getPrototypeOf(a)?.constructor?.name;\n if (name !== undefined) {\n result.first.instance = name;\n }\n }\n }\n\n if (operator === 'add' || operator === 'update') {\n result.second = {\n value: b,\n type: typeof b\n };\n\n if (isObject(b)) {\n const name = Object.getPrototypeOf(b)?.constructor?.name;\n if (name !== undefined) {\n result.second.instance = name;\n }\n }\n\n }\n\n return result;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {boolean}\n */\nfunction isNotEqual(a, b) {\n\n if (typeof a !== typeof b) {\n return true;\n }\n\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() !== b.getTime();\n }\n\n return a !== b;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {string|undefined}\n */\nfunction getOperator(a, b) {\n\n /**\n * @type {string|undefined}\n */\n let operator;\n\n /**\n * @type {string}\n */\n let typeA = typeof a;\n\n /**\n * @type {string}\n */\n let typeB = typeof b;\n\n if (typeA === 'undefined' && typeB !== 'undefined') {\n operator = 'add';\n } else if (typeA !== 'undefined' && typeB === 'undefined') {\n operator = 'delete';\n } else if (isNotEqual(a, b)) {\n operator = 'update';\n }\n\n return operator;\n\n}\n\nMonster.assignToNamespace('Monster.Data', Diff);\nexport {Monster, Diff}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isArray, isInteger} from '../types/is.js';\nimport {validateString, validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\n\n/**\n * path separator\n *\n * @private\n * @type {string}\n */\nconst DELIMITER = '.';\n/**\n * @private\n * @type {string}\n */\nconst WILDCARD = '*';\n\n/**\n * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n * console.log(new Monster.Data.Pathfinder())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n * console.log(new Pathfinder())\n * </script>\n * ```\n *\n * With the help of the pathfinder, values can be read and written from an object construct.\n *\n * ```\n * new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * if a value is not present or has the wrong type, a corresponding exception is thrown.\n *\n * ```\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); // ↦ Error\n * ```\n *\n * The `Pathfinder.exists()` method can be used to check whether access to the path is possible.\n *\n * ```\n * new Pathfinder({}).exists(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used.\n *\n * ```\n * obj = {};\n * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}\n * ```\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n *\n * let value = new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\");\n *\n * console.log(value);\n * // ↦ false\n *\n * try {\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); \n * } catch(e) {\n * console.log(e.toString());\n * // ↦ Error: the journey is not at its end (b.f.0.g)\n * }\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n *\n * let p = new Pathfinder({\n * a: {\n * x: [\n * {c: 1}, {c: 2}\n * ],\n * y: true\n * },\n * b: {\n * x: [\n * {c: 1, d: false}, {c: 2}\n * ],\n * y: true\n * },\n * });\n * \n * let r = p.getVia(\"*.x.*.c\");\n * console.log(r);\n * \n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pathfinder extends Base {\n\n /**\n * @param {array|object|Map|Set} value\n * @since 1.4.0\n **/\n constructor(object) {\n super();\n this.object = object;\n this.wildCard = WILDCARD;\n }\n\n /**\n * set wildcard\n *\n * @param {string} wildcard\n * @return {Pathfinder}\n * @since 1.7.0\n */\n setWildCard(wildcard) {\n validateString(wildcard);\n this.wildCard = wildcard;\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @since 1.4.0\n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n getVia(path) {\n validateString(path);\n return getValueViaPath.call(this, this.object, path);\n }\n\n /**\n *\n * @param {string} path\n * @param {*} value\n * @returns {Pathfinder}\n * @since 1.4.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n setVia(path, value) {\n validateString(path);\n setValueViaPath.call(this, this.object, path, value);\n return this;\n }\n\n /**\n * Delete Via Path\n *\n * @param {string} path\n * @returns {Pathfinder}\n * @since 1.6.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n deleteVia(path) {\n validateString(path);\n deleteValueViaPath.call(this, this.object, path);\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @return {bool}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @since 1.4.0\n */\n exists(path) {\n validateString(path);\n try {\n getValueViaPath.call(this, this.object, path, true);\n return true;\n } catch (e) {\n\n }\n\n return false;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Data', Pathfinder);\nexport {Monster, Pathfinder}\n\n/**\n *\n * @param {*} subject\n * @param {string} path\n * @param {string} check\n * @return {Map}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction iterate(subject, path, check) {\n\n const result = new Map;\n\n if (isObject(subject) || isArray(subject)) {\n for (const [key, value] of Object.entries(subject)) {\n result.set(key, getValueViaPath.call(this, value, path, check))\n }\n } else {\n let key= path.split(DELIMITER).shift();\n result.set(key, getValueViaPath.call(this, subject, path, check));\n }\n\n return result;\n\n\n}\n\n/**\n *\n * @param {*} subject\n * @param [string} path\n * @param [boolean} check \n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction getValueViaPath(subject, path, check) {\n\n if (path === \"\") {\n return subject;\n }\n\n let parts = path.split(DELIMITER)\n let current = parts.shift();\n\n if (current === this.wildCard) {\n return iterate.call(this, subject, parts.join(DELIMITER), check);\n }\n\n if (isObject(subject) || isArray(subject)) {\n\n let anchor;\n if (subject instanceof Map || subject instanceof WeakMap) {\n anchor = subject.get(current);\n\n } else if (subject instanceof Set || subject instanceof WeakSet) {\n current = parseInt(current);\n validateInteger(current)\n anchor = [...subject]?.[current];\n\n } else if (subject instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(subject)) {\n current = parseInt(current);\n validateInteger(current)\n anchor = subject?.[current];\n } else {\n anchor = subject?.[current];\n }\n\n if (isObject(anchor) || isArray(anchor)) {\n return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check)\n }\n\n if (parts.length > 0) {\n throw Error(\"the journey is not at its end (\" + parts.join(DELIMITER) + \")\");\n }\n\n if (check === true && !subject.hasOwnProperty(current)) {\n throw Error('unknown value');\n }\n\n return anchor;\n\n }\n\n throw TypeError(\"unsupported type \"+typeof subject)\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @param value\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction setValueViaPath(object, path, value) {\n\n validateString(path);\n \n let parts = path.split(DELIMITER)\n let last = parts.pop();\n let subpath = parts.join(DELIMITER);\n\n let stack = new Stack()\n let current = subpath;\n while (true) {\n\n try {\n getValueViaPath.call(this, object, current, true)\n break;\n } catch (e) {\n\n }\n\n stack.push(current);\n parts.pop();\n current = parts.join(DELIMITER);\n\n if (current === \"\") break;\n }\n\n while (!stack.isEmpty()) {\n current = stack.pop();\n let obj = {};\n\n if (!stack.isEmpty()) {\n let n = stack.peek().split(DELIMITER).pop();\n if (isInteger(parseInt(n))) {\n obj = [];\n }\n\n }\n\n setValueViaPath.call(this, object, current, obj);\n }\n\n let anchor = getValueViaPath.call(this, object, subpath);\n\n if (!isObject(object) && !isArray(object)) {\n throw TypeError(\"unsupported type: \" + typeof object);\n }\n\n if (anchor instanceof Map || anchor instanceof WeakMap) {\n anchor.set(last, value);\n } else if (anchor instanceof Set || anchor instanceof WeakSet) {\n anchor.append(value)\n\n } else if (anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n anchor[last] = value;\n } else {\n anchor[last] = value;\n }\n\n return;\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @since 1.6.0\n * @private\n */\nfunction deleteValueViaPath(object, path) {\n\n const parts = path.split(DELIMITER)\n let last = parts.pop();\n const subpath = parts.join(DELIMITER);\n\n const anchor = getValueViaPath.call(this, object, subpath);\n\n if (anchor instanceof Map) {\n anchor.delete(last);\n } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n delete anchor[last];\n } else {\n delete anchor[last];\n }\n\n return;\n\n}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Transformer} from './transformer.js';\nimport {Base} from '../types/base.js';\nimport {validateFunction, validateString} from '../types/validate.js';\n\n\nconst DELIMITER = '|';\n\n/**\n * The pipe class makes it possible to combine several processing steps.\n *\n * You can call the method via the monster namespace `new Monster.Data.Pipe()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * console.log(new Monster.Data.Pipe())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * console.log(new Pipe())\n * </script>\n * ```\n *\n * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n *\n * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).\n * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.\n *\n * @example\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * \n * let obj = {\n * a: {\n * b: {\n * c: {\n * d: \"world\"\n * }\n * }\n * }\n * }\n * \n * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n * // ↦ Hello WORLD\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pipe extends Base {\n\n /**\n *\n * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n * @throws {TypeError} \n */\n constructor(pipe) {\n super();\n validateString(pipe);\n this.pipe = pipe.split(DELIMITER).map((v) => {\n return new Transformer(v);\n });\n \n\n }\n\n /**\n *\n * @param {string} name\n * @param {function} callback\n * @returns {Transformer}\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not a function\n */\n setCallback(name, callback) {\n\n for(const [,t] of Object.entries(this.pipe)) {\n t.setCallback(name, callback);\n }\n \n return this;\n \n // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n // return transformer.setCallback(name,callback);\n // }, value);\n \n \n }\n\n /**\n * run a pipe\n *\n * @param {*} value\n * @returns {*}\n */\n run(value) {\n return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n return transformer.run(accumulator);\n }, value);\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Pipe);\nexport {Monster, Pipe}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js';\nimport {isObject, isString, isArray} from '../types/is.js';\nimport {ID} from '../types/id.js';\nimport {clone} from \"../util/clone.js\";\nimport {Pathfinder} from \"./pathfinder.js\";\n\n/**\n * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.\n *\n * You can call the method via the monster namespace `new Monster.Data.Transformer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * console.log(new Monster.Data.Transformer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * console.log(new Transformer())\n * </script>\n * ```\n *\n * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.\n * \n * ```\n * let t = new Transformer('tolower').run('ABC'); // ↦ abc\n * ```\n * \n * **all commands**\n * \n * in the following table all commands, parameters and existing aliases are described.\n * \n * | command | parameter | alias | description |\n * |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n * | base64 | | | Converts the value to base64 |\n * | call | function,param1:param2:... | | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object |\n * | empty | | | Return empty String \"\" |\n * | if | statement1:statement2 | ? | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string \"value\", you have to put one backslash \\\\ in front of it and write value. the follow values are true: 'on', true, 'true' |\n * | index | key:default | property, key | Fetches a value from an object, an array, a map or a set |\n * | length | | count | Length of the string or entries of an array or object |\n * | nop | | | Do nothing |\n * | path | path | | The access to an object is done via a Pathfinder object |\n * | plaintext | | plain | All HTML tags are removed (*) |\n * | prefix | text | | Adds a prefix |\n * | rawurlencode | | | URL coding |\n * | static | | none | The Arguments value is used and passed to the value. Special characters \\ <space> and : can be quotet by a preceding \\. |\n * | substring | start:length | | Returns a substring |\n * | suffix | text | | Adds a suffix |\n * | tointeger | | | Type conversion to an integer value |\n * | tojson | | | Type conversion to an JSON string (since 1.8.0) |\n * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters |\n * | tostring | | | Type conversion to a string |\n * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters |\n * | trim | | | Remove spaces at the beginning and end |\n * | ucfirst | | | First character large |\n * | ucwords | | | Any word beginning large |\n * | undefined | | | Return undefined |\n * | uniqid | | | Creates a string with a unique value (**) |\n * \n * (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.\n * \n * ```\n * // polyfill\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n * \n * [\n * 'self',\n * 'document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (global[key] = window[key]));\n * }\n * ```\n * \n * (**) for this command the crypt library is necessary in the nodejs context.\n * \n * ```\n * import * as Crypto from \"@peculiar/webcrypto\";\n * global['crypto'] = new Crypto.Crypto();\n * ```\n * \n * @example\n * \n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * \n * const transformer = new Transformer(\"tolower\")\n * \n * console.log(transformer.run(\"HELLO\"))\n * // ↦ hello\n * \n * console.log(transformer.run(\"WORLD\"))\n * // ↦ world\n * \n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Transformer extends Base {\n /**\n *\n * @param {string} definition\n */\n constructor(definition) {\n super();\n validateString(definition);\n\n this.args = disassemble(definition);\n this.command = this.args.shift()\n this.callbacks = new Map();\n\n }\n\n /**\n *\n * @param {string} name\n * @param {function} callback\n * @returns {Transformer}\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not a function\n */\n setCallback(name, callback) {\n validateString(name)\n validateFunction(callback)\n this.callbacks.set(name, callback);\n return this;\n }\n\n /**\n *\n * @param {*} value\n * @returns {*}\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\n run(value) {\n return transform.apply(this, [value])\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Transformer);\nexport {Monster, Transformer}\n\n/**\n *\n * @param {string} command\n * @returns {array}\n * @private\n */\nfunction disassemble(command) {\n\n validateString(command);\n \n let placeholder = new Map;\n const regex = /((?<pattern>\\\\(?<char>.)){1})/mig;\n\n // The separator for args must be quotable\n // undefined string which should not occur normally and is also not a regex\n let result = command.matchAll(regex)\n \n for (let m of result) {\n let g=m?.['groups'];\n if(!isObject(g)) {\n continue;\n }\n \n let p=g?.['pattern'];\n let c=g?.['char'];\n \n if(p&&c) {\n let r='__'+new ID().toString()+'__';\n placeholder.set(r, c);\n command=command.replace(p,r);\n }\n \n }\n let parts = command.split(':');\n\n parts = parts.map(function (value) {\n let v = value.trim();\n for(let k of placeholder) {\n v= v.replace(k[0], k[1]);\n }\n return v;\n \n \n });\n\n return parts\n}\n\n/**\n * tries to make a string out of value and if this succeeds to return it back\n * \n * @param {*} value\n * @returns {string}\n * @private\n */\nfunction convertToString(value) {\n\n if (isObject(value) && value.hasOwnProperty('toString')) {\n value = value.toString();\n }\n\n validateString(value)\n return value;\n}\n\n/**\n *\n * @param {*} value\n * @returns {*}\n * @private\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\nfunction transform(value) {\n\n let args = clone(this.args);\n let key\n\n switch (this.command) {\n\n case 'static':\n return this.args.join(':');\n\n case 'tolower':\n case 'strtolower':\n case 'tolowercase':\n validateString(value)\n return value.toLowerCase();\n\n case 'toupper':\n case 'strtoupper':\n case 'touppercase':\n validateString(value)\n return value.toUpperCase();\n\n case 'tostring':\n return \"\" + value;\n\n case 'tointeger':\n let n = parseInt(value);\n validateInteger(n);\n return n\n \n case 'tojson':\n return JSON.stringify(value);\n\n case 'trim':\n validateString(value)\n return value.trim();\n\n case 'rawurlencode':\n validateString(value)\n return encodeURIComponent(value)\n .replace(/!/g, '%21')\n .replace(/'/g, '%27')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29')\n .replace(/\\*/g, '%2A');\n\n\n case 'call':\n\n /**\n * callback-definition\n * function callback(value, ...args) {\n * return value;\n * }\n */\n\n let callback;\n let callbackName = args.shift();\n\n if (isObject(value) && value.hasOwnProperty(callbackName)) {\n callback = value[callbackName];\n } else if (this.callbacks.has(callbackName)) {\n callback = this.callbacks.get(callbackName);\n } else if (typeof window === 'object' && window.hasOwnProperty(callbackName)) {\n callback = window[callbackName];\n }\n validateFunction(callback);\n\n args.unshift(value);\n return callback(...args);\n\n case 'plain':\n case 'plaintext':\n validateString(value);\n let doc = new DOMParser().parseFromString(value, 'text/html');\n return doc.body.textContent || \"\";\n\n case 'if':\n case '?':\n\n validatePrimitive(value);\n\n let trueStatement = (args.shift() || undefined);\n let falseStatement = (args.shift() || undefined);\n\n if (trueStatement === 'value') {\n trueStatement = value;\n }\n if (trueStatement === '\\\\value') {\n trueStatement = 'value';\n }\n if (falseStatement === 'value') {\n falseStatement = value;\n }\n if (falseStatement === '\\\\value') {\n falseStatement = 'value';\n }\n\n let condition = ((value !== undefined && value !== '' && value !== 'off' && value !== 'false' && value !== false) || value === 'on' || value === 'true' || value === true);\n return condition ? trueStatement : falseStatement;\n\n\n case 'ucfirst':\n validateString(value);\n\n let firstchar = value.charAt(0).toUpperCase();\n return firstchar + value.substr(1);\n case 'ucwords':\n validateString(value);\n\n return value.replace(/^([a-z\\u00E0-\\u00FC])|\\s+([a-z\\u00E0-\\u00FC])/g, function (v) {\n return v.toUpperCase();\n });\n\n case 'count':\n case 'length':\n\n if ((isString(value) || isObject(value) || isArray(value)) && value.hasOwnProperty('length')) {\n return value.length;\n }\n\n throw new TypeError(\"unsupported type\");\n\n case 'base64':\n convertToString(value);\n return btoa(value);\n\n case 'empty':\n return '';\n\n case 'undefined':\n return undefined;\n\n case 'prefix':\n validateString(value);\n let prefix = args?.[0];\n return prefix + value;\n\n case 'suffix':\n validateString(value);\n let suffix = args?.[0];\n return value + suffix;\n\n case 'uniqid':\n return (new ID()).toString();\n\n case 'key':\n case 'property':\n case 'index':\n\n key = (args.shift() || 'undefined');\n let defaultValue = (args.shift() || '');\n\n if (value instanceof Map) {\n if(!value.has(key)) {\n return defaultValue;\n }\n return value.get(key);\n }\n\n if (isObject(value)||isArray(value)) {\n\n if (value?.[key]) {\n return value?.[key];\n }\n\n return defaultValue;\n }\n\n throw new Error(\"type not supported\")\n\n case 'path':\n\n key = (args.shift() || 'undefined');\n return new Pathfinder(value).getVia(key);\n \n \n case 'substring':\n\n validateString(value);\n \n let start = parseInt(args[0]) || 0;\n let end = (parseInt(args[1]) || 0) + start;\n\n return value.substring(start, end);\n \n case 'nop':\n return value;\n\n default:\n throw new Error(\"unknown command \"+this.command)\n }\n\n return value;\n}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateInstance, validateString} from \"../types/validate.js\";\nimport {getGlobalFunction} from \"../types/global.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\n\n\n/**\n * attribute prefix\n * \n * @type {string}\n * @memberOf Monster/DOM\n */\nconst ATTRIBUTEPREFIX = \"data-monster-\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';\n * console.log(new Monster.DOM.Assembler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';\n * console.log(new Assembler())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Assembler extends Base {\n\n /**\n * @param {DocumentFragment} fragment\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(fragment) {\n super();\n this.attributePrefix = ATTRIBUTEPREFIX;\n validateInstance(fragment, getGlobalFunction('DocumentFragment'));\n this.fragment = fragment;\n }\n\n /**\n *\n * @param {string} prefix\n * @returns {Assembler}\n * @throws {TypeError} value is not a string\n */\n setAttributePrefix(prefix) {\n validateString(prefix);\n this.attributePrefix = prefix;\n return this;\n }\n\n /**\n *\n * @returns {string}\n */\n getAttributePrefix() {\n return this.attributePrefix;\n }\n\n /**\n *\n * @param {ProxyObserver|undefined} data\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment(data) {\n\n if (data === undefined) {\n data = new ProxyObserver({});\n }\n\n validateInstance(data, ProxyObserver);\n let fragment = this.fragment.cloneNode(true);\n return fragment;\n }\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Assembler);\nexport {Monster, ATTRIBUTEPREFIX, Assembler}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js';\n * new Monster.Constraint.AndOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js';\n * new AndOperator();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js';\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js';\n *\n * new AndOperator(\n * new Valid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new AndOperator(\n * new Invalid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AndOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AndOperator);\nexport {Monster, AndOperator}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js';\n * new Monster.Constraint.Invalid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js';\n * new Invalid();\n * </script>\n * ```\n *\n * @example\n *\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js';\n *\n * new Invalid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Invalid extends AbstractConstraint {\n\n /**\n * this method return a rejected promise\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Invalid);\nexport {Monster, Invalid}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isArray} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js';\n * console.log(new Monster.Constraint.IsArray())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js';\n * console.log(new IsArray())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js';\n *\n * new IsArray()\n * .isValid([])\n * .then(()=>console.log(true));\n * // ↦ true\n *\n * new IsArray()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsArray extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isArray(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsArray);\nexport {Monster, IsArray}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isObject} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js';\n * console.log(new Monster.Constraint.IsObject())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js';\n * console.log(new IsObject())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js';\n *\n * new IsObject()\n * .isValid({})\n * .then(()=>console.log(true));\n * // ↦ true\n *\n *\n * new IsObject()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsObject extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isObject(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsObject);\nexport {Monster, IsObject}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraint/oroperator.js';\n * new Monster.Constraint.OrOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraint/oroperator.js';\n * new OrOperator();\n * </script>\n * ```\n *\n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js';\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/oroperator.js';\n *\n * new OrOperator(\n * new Valid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new OrOperator(\n * new Invalid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass OrOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n var self = this;\n\n return new Promise(function (resolve, reject) {\n let a, b;\n\n self.operantA.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n a = false;\n /** b has already been evaluated and was not true */\n if (b === false) {\n reject();\n }\n });\n\n self.operantB.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n b = false;\n /** b has already been evaluated and was not true */\n if (a === false) {\n reject();\n }\n });\n });\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', OrOperator);\nexport {Monster, OrOperator}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js';\n * new Monster.Constraint.Valid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js';\n * new Valid();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js';\n *\n * new Valid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Valid extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.resolve(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Valid);\nexport {Monster, Valid}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, isArray, isObject} from \"../types/is.js\";\n\n/**\n * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.\n *\n * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.\n *\n * You can call the method via the monster namespace `Monster.Data.Diff()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js';\n * console.log(Monster.Data.Diff(a, b))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js';\n * console.log(Diff(a, b))\n * </script>\n * ```\n *\n * @example\n * \n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js';\n * \n * // given are two objects x and y.\n *\n * let x = {\n * a: 1,\n * b: \"Hello!\"\n * }\n *\n * let y = {\n * a: 2,\n * c: true\n * }\n *\n * // These two objects can be compared with each other.\n *\n * console.log(Diff(x, y));\n *\n * // the result is then the following\n *\n * //\n * // [\n * // {\n * // operator: 'update',\n * // path: [ 'a' ],\n * // first: { value: 1, type: 'number' },\n * // second: { value: 2, type: 'number' }\n * // },\n * // {\n * // operator: 'delete',\n * // path: [ 'b' ],\n * // first: { value: 'Hello!', type: 'string' }\n * // },\n * // {\n * // operator: 'add',\n * // path: [ 'c' ],\n * // second: { value: true, type: 'boolean' }\n * // }\n * // ]\n *\n * @param {*} first\n * @param {*} second\n * @return {array}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nfunction Diff(first, second) {\n return doDiff(first, second)\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param type\n * @return {Set<string>|Set<number>}\n */\nfunction getKeys(a, b, type) {\n if (isArray(type)) {\n const keys = a.length > b.length ? new Array(a.length) : new Array(b.length);\n keys.fill(0);\n return new Set(keys.map((_, i) => i));\n }\n\n return new Set(Object.keys(a).concat(Object.keys(b)));\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param path\n * @param diff\n * @return {array}\n */\nfunction doDiff(a, b, path, diff) {\n\n let typeA = typeof a\n let typeB = typeof b\n\n const currPath = path || [];\n const currDiff = diff || [];\n\n if (typeA === typeB && typeA === 'object') { // array is object too\n\n getKeys(a, b, typeA).forEach((v) => {\n\n if (!(Object.prototype.hasOwnProperty.call(a, v))) {\n currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v)));\n } else if (!(Object.prototype.hasOwnProperty.call(b, v))) {\n currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v)));\n } else {\n doDiff(a[v], b[v], currPath.concat(v), currDiff);\n }\n });\n\n } else {\n\n const o = getOperator(a, b, typeA, typeB);\n if (o !== undefined) {\n currDiff.push(buildResult(a, b, o, path));\n }\n\n }\n\n return currDiff;\n\n}\n\n/**\n *\n * @param {*} a\n * @param {*} b\n * @param {string} operator\n * @param {array} path\n * @return {{path: array, operator: string}}\n * @private\n */\nfunction buildResult(a, b, operator, path) {\n\n const result = {\n operator,\n path,\n };\n\n if (operator !== 'add') {\n result.first = {\n value: a,\n type: typeof a\n };\n\n if (isObject(a)) {\n const name = Object.getPrototypeOf(a)?.constructor?.name;\n if (name !== undefined) {\n result.first.instance = name;\n }\n }\n }\n\n if (operator === 'add' || operator === 'update') {\n result.second = {\n value: b,\n type: typeof b\n };\n\n if (isObject(b)) {\n const name = Object.getPrototypeOf(b)?.constructor?.name;\n if (name !== undefined) {\n result.second.instance = name;\n }\n }\n\n }\n\n return result;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {boolean}\n */\nfunction isNotEqual(a, b) {\n\n if (typeof a !== typeof b) {\n return true;\n }\n\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() !== b.getTime();\n }\n\n return a !== b;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {string|undefined}\n */\nfunction getOperator(a, b) {\n\n /**\n * @type {string|undefined}\n */\n let operator;\n\n /**\n * @type {string}\n */\n let typeA = typeof a;\n\n /**\n * @type {string}\n */\n let typeB = typeof b;\n\n if (typeA === 'undefined' && typeB !== 'undefined') {\n operator = 'add';\n } else if (typeA !== 'undefined' && typeB === 'undefined') {\n operator = 'delete';\n } else if (isNotEqual(a, b)) {\n operator = 'update';\n }\n\n return operator;\n\n}\n\nMonster.assignToNamespace('Monster.Data', Diff);\nexport {Monster, Diff}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isArray, isInteger} from '../types/is.js';\nimport {validateString, validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\n\n/**\n * path separator\n *\n * @private\n * @type {string}\n */\nconst DELIMITER = '.';\n/**\n * @private\n * @type {string}\n */\nconst WILDCARD = '*';\n\n/**\n * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js';\n * console.log(new Monster.Data.Pathfinder())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js';\n * console.log(new Pathfinder())\n * </script>\n * ```\n *\n * With the help of the pathfinder, values can be read and written from an object construct.\n *\n * ```\n * new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * if a value is not present or has the wrong type, a corresponding exception is thrown.\n *\n * ```\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); // ↦ Error\n * ```\n *\n * The `Pathfinder.exists()` method can be used to check whether access to the path is possible.\n *\n * ```\n * new Pathfinder({}).exists(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used.\n *\n * ```\n * obj = {};\n * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}\n * ```\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js';\n *\n * let value = new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\");\n *\n * console.log(value);\n * // ↦ false\n *\n * try {\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); \n * } catch(e) {\n * console.log(e.toString());\n * // ↦ Error: the journey is not at its end (b.f.0.g)\n * }\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js';\n *\n * let p = new Pathfinder({\n * a: {\n * x: [\n * {c: 1}, {c: 2}\n * ],\n * y: true\n * },\n * b: {\n * x: [\n * {c: 1, d: false}, {c: 2}\n * ],\n * y: true\n * },\n * });\n * \n * let r = p.getVia(\"*.x.*.c\");\n * console.log(r);\n * \n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pathfinder extends Base {\n\n /**\n * @param {array|object|Map|Set} value\n * @since 1.4.0\n **/\n constructor(object) {\n super();\n this.object = object;\n this.wildCard = WILDCARD;\n }\n\n /**\n * set wildcard\n *\n * @param {string} wildcard\n * @return {Pathfinder}\n * @since 1.7.0\n */\n setWildCard(wildcard) {\n validateString(wildcard);\n this.wildCard = wildcard;\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @since 1.4.0\n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n getVia(path) {\n validateString(path);\n return getValueViaPath.call(this, this.object, path);\n }\n\n /**\n *\n * @param {string} path\n * @param {*} value\n * @returns {Pathfinder}\n * @since 1.4.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n setVia(path, value) {\n validateString(path);\n setValueViaPath.call(this, this.object, path, value);\n return this;\n }\n\n /**\n * Delete Via Path\n *\n * @param {string} path\n * @returns {Pathfinder}\n * @since 1.6.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n deleteVia(path) {\n validateString(path);\n deleteValueViaPath.call(this, this.object, path);\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @return {bool}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @since 1.4.0\n */\n exists(path) {\n validateString(path);\n try {\n getValueViaPath.call(this, this.object, path, true);\n return true;\n } catch (e) {\n\n }\n\n return false;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Data', Pathfinder);\nexport {Monster, Pathfinder}\n\n/**\n *\n * @param {*} subject\n * @param {string} path\n * @param {string} check\n * @return {Map}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction iterate(subject, path, check) {\n\n const result = new Map;\n\n if (isObject(subject) || isArray(subject)) {\n for (const [key, value] of Object.entries(subject)) {\n result.set(key, getValueViaPath.call(this, value, path, check))\n }\n } else {\n let key= path.split(DELIMITER).shift();\n result.set(key, getValueViaPath.call(this, subject, path, check));\n }\n\n return result;\n\n\n}\n\n/**\n *\n * @param {*} subject\n * @param [string} path\n * @param [boolean} check \n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction getValueViaPath(subject, path, check) {\n\n if (path === \"\") {\n return subject;\n }\n\n let parts = path.split(DELIMITER)\n let current = parts.shift();\n\n if (current === this.wildCard) {\n return iterate.call(this, subject, parts.join(DELIMITER), check);\n }\n\n if (isObject(subject) || isArray(subject)) {\n\n let anchor;\n if (subject instanceof Map || subject instanceof WeakMap) {\n anchor = subject.get(current);\n\n } else if (subject instanceof Set || subject instanceof WeakSet) {\n current = parseInt(current);\n validateInteger(current)\n anchor = [...subject]?.[current];\n\n } else if (subject instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(subject)) {\n current = parseInt(current);\n validateInteger(current)\n anchor = subject?.[current];\n } else {\n anchor = subject?.[current];\n }\n\n if (isObject(anchor) || isArray(anchor)) {\n return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check)\n }\n\n if (parts.length > 0) {\n throw Error(\"the journey is not at its end (\" + parts.join(DELIMITER) + \")\");\n }\n\n if (check === true && !subject.hasOwnProperty(current)) {\n throw Error('unknown value');\n }\n\n return anchor;\n\n }\n\n throw TypeError(\"unsupported type \"+typeof subject)\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @param value\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction setValueViaPath(object, path, value) {\n\n validateString(path);\n \n let parts = path.split(DELIMITER)\n let last = parts.pop();\n let subpath = parts.join(DELIMITER);\n\n let stack = new Stack()\n let current = subpath;\n while (true) {\n\n try {\n getValueViaPath.call(this, object, current, true)\n break;\n } catch (e) {\n\n }\n\n stack.push(current);\n parts.pop();\n current = parts.join(DELIMITER);\n\n if (current === \"\") break;\n }\n\n while (!stack.isEmpty()) {\n current = stack.pop();\n let obj = {};\n\n if (!stack.isEmpty()) {\n let n = stack.peek().split(DELIMITER).pop();\n if (isInteger(parseInt(n))) {\n obj = [];\n }\n\n }\n\n setValueViaPath.call(this, object, current, obj);\n }\n\n let anchor = getValueViaPath.call(this, object, subpath);\n\n if (!isObject(object) && !isArray(object)) {\n throw TypeError(\"unsupported type: \" + typeof object);\n }\n\n if (anchor instanceof Map || anchor instanceof WeakMap) {\n anchor.set(last, value);\n } else if (anchor instanceof Set || anchor instanceof WeakSet) {\n anchor.append(value)\n\n } else if (anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n anchor[last] = value;\n } else {\n anchor[last] = value;\n }\n\n return;\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @since 1.6.0\n * @private\n */\nfunction deleteValueViaPath(object, path) {\n\n const parts = path.split(DELIMITER)\n let last = parts.pop();\n const subpath = parts.join(DELIMITER);\n\n const anchor = getValueViaPath.call(this, object, subpath);\n\n if (anchor instanceof Map) {\n anchor.delete(last);\n } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n delete anchor[last];\n } else {\n delete anchor[last];\n }\n\n return;\n\n}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Transformer} from './transformer.js';\nimport {Base} from '../types/base.js';\nimport {validateFunction, validateString} from '../types/validate.js';\n\n\nconst DELIMITER = '|';\n\n/**\n * The pipe class makes it possible to combine several processing steps.\n *\n * You can call the method via the monster namespace `new Monster.Data.Pipe()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js';\n * console.log(new Monster.Data.Pipe())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js';\n * console.log(new Pipe())\n * </script>\n * ```\n *\n * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n *\n * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).\n * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.\n *\n * @example\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js';\n * \n * let obj = {\n * a: {\n * b: {\n * c: {\n * d: \"world\"\n * }\n * }\n * }\n * }\n * \n * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n * // ↦ Hello WORLD\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pipe extends Base {\n\n /**\n *\n * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n * @throws {TypeError} \n */\n constructor(pipe) {\n super();\n validateString(pipe);\n this.pipe = pipe.split(DELIMITER).map((v) => {\n return new Transformer(v);\n });\n \n\n }\n\n /**\n *\n * @param {string} name\n * @param {function} callback\n * @returns {Transformer}\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not a function\n */\n setCallback(name, callback) {\n\n for(const [,t] of Object.entries(this.pipe)) {\n t.setCallback(name, callback);\n }\n \n return this;\n \n // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n // return transformer.setCallback(name,callback);\n // }, value);\n \n \n }\n\n /**\n * run a pipe\n *\n * @param {*} value\n * @returns {*}\n */\n run(value) {\n return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n return transformer.run(accumulator);\n }, value);\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Pipe);\nexport {Monster, Pipe}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js';\nimport {isObject, isString, isArray} from '../types/is.js';\nimport {ID} from '../types/id.js';\nimport {clone} from \"../util/clone.js\";\nimport {Pathfinder} from \"./pathfinder.js\";\n\n/**\n * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.\n *\n * You can call the method via the monster namespace `new Monster.Data.Transformer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js';\n * console.log(new Monster.Data.Transformer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js';\n * console.log(new Transformer())\n * </script>\n * ```\n *\n * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.\n * \n * ```\n * let t = new Transformer('tolower').run('ABC'); // ↦ abc\n * ```\n * \n * **all commands**\n * \n * in the following table all commands, parameters and existing aliases are described.\n * \n * | command | parameter | alias | description |\n * |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n * | base64 | | | Converts the value to base64 |\n * | call | function,param1:param2:... | | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object |\n * | empty | | | Return empty String \"\" |\n * | if | statement1:statement2 | ? | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string \"value\", you have to put one backslash \\\\ in front of it and write value. the follow values are true: 'on', true, 'true' |\n * | index | key:default | property, key | Fetches a value from an object, an array, a map or a set |\n * | length | | count | Length of the string or entries of an array or object |\n * | nop | | | Do nothing |\n * | path | path | | The access to an object is done via a Pathfinder object |\n * | plaintext | | plain | All HTML tags are removed (*) |\n * | prefix | text | | Adds a prefix |\n * | rawurlencode | | | URL coding |\n * | static | | none | The Arguments value is used and passed to the value. Special characters \\ <space> and : can be quotet by a preceding \\. |\n * | substring | start:length | | Returns a substring |\n * | suffix | text | | Adds a suffix |\n * | tointeger | | | Type conversion to an integer value |\n * | tojson | | | Type conversion to an JSON string (since 1.8.0) |\n * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters |\n * | tostring | | | Type conversion to a string |\n * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters |\n * | trim | | | Remove spaces at the beginning and end |\n * | ucfirst | | | First character large |\n * | ucwords | | | Any word beginning large |\n * | undefined | | | Return undefined |\n * | uniqid | | | Creates a string with a unique value (**) |\n * \n * (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.\n * \n * ```\n * // polyfill\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n * \n * [\n * 'self',\n * 'document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (global[key] = window[key]));\n * }\n * ```\n * \n * (**) for this command the crypt library is necessary in the nodejs context.\n * \n * ```\n * import * as Crypto from \"@peculiar/webcrypto\";\n * global['crypto'] = new Crypto.Crypto();\n * ```\n * \n * @example\n * \n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js';\n * \n * const transformer = new Transformer(\"tolower\")\n * \n * console.log(transformer.run(\"HELLO\"))\n * // ↦ hello\n * \n * console.log(transformer.run(\"WORLD\"))\n * // ↦ world\n * \n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Transformer extends Base {\n /**\n *\n * @param {string} definition\n */\n constructor(definition) {\n super();\n validateString(definition);\n\n this.args = disassemble(definition);\n this.command = this.args.shift()\n this.callbacks = new Map();\n\n }\n\n /**\n *\n * @param {string} name\n * @param {function} callback\n * @returns {Transformer}\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not a function\n */\n setCallback(name, callback) {\n validateString(name)\n validateFunction(callback)\n this.callbacks.set(name, callback);\n return this;\n }\n\n /**\n *\n * @param {*} value\n * @returns {*}\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\n run(value) {\n return transform.apply(this, [value])\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Transformer);\nexport {Monster, Transformer}\n\n/**\n *\n * @param {string} command\n * @returns {array}\n * @private\n */\nfunction disassemble(command) {\n\n validateString(command);\n \n let placeholder = new Map;\n const regex = /((?<pattern>\\\\(?<char>.)){1})/mig;\n\n // The separator for args must be quotable\n // undefined string which should not occur normally and is also not a regex\n let result = command.matchAll(regex)\n \n for (let m of result) {\n let g=m?.['groups'];\n if(!isObject(g)) {\n continue;\n }\n \n let p=g?.['pattern'];\n let c=g?.['char'];\n \n if(p&&c) {\n let r='__'+new ID().toString()+'__';\n placeholder.set(r, c);\n command=command.replace(p,r);\n }\n \n }\n let parts = command.split(':');\n\n parts = parts.map(function (value) {\n let v = value.trim();\n for(let k of placeholder) {\n v= v.replace(k[0], k[1]);\n }\n return v;\n \n \n });\n\n return parts\n}\n\n/**\n * tries to make a string out of value and if this succeeds to return it back\n * \n * @param {*} value\n * @returns {string}\n * @private\n */\nfunction convertToString(value) {\n\n if (isObject(value) && value.hasOwnProperty('toString')) {\n value = value.toString();\n }\n\n validateString(value)\n return value;\n}\n\n/**\n *\n * @param {*} value\n * @returns {*}\n * @private\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\nfunction transform(value) {\n\n let args = clone(this.args);\n let key\n\n switch (this.command) {\n\n case 'static':\n return this.args.join(':');\n\n case 'tolower':\n case 'strtolower':\n case 'tolowercase':\n validateString(value)\n return value.toLowerCase();\n\n case 'toupper':\n case 'strtoupper':\n case 'touppercase':\n validateString(value)\n return value.toUpperCase();\n\n case 'tostring':\n return \"\" + value;\n\n case 'tointeger':\n let n = parseInt(value);\n validateInteger(n);\n return n\n \n case 'tojson':\n return JSON.stringify(value);\n\n case 'trim':\n validateString(value)\n return value.trim();\n\n case 'rawurlencode':\n validateString(value)\n return encodeURIComponent(value)\n .replace(/!/g, '%21')\n .replace(/'/g, '%27')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29')\n .replace(/\\*/g, '%2A');\n\n\n case 'call':\n\n /**\n * callback-definition\n * function callback(value, ...args) {\n * return value;\n * }\n */\n\n let callback;\n let callbackName = args.shift();\n\n if (isObject(value) && value.hasOwnProperty(callbackName)) {\n callback = value[callbackName];\n } else if (this.callbacks.has(callbackName)) {\n callback = this.callbacks.get(callbackName);\n } else if (typeof window === 'object' && window.hasOwnProperty(callbackName)) {\n callback = window[callbackName];\n }\n validateFunction(callback);\n\n args.unshift(value);\n return callback(...args);\n\n case 'plain':\n case 'plaintext':\n validateString(value);\n let doc = new DOMParser().parseFromString(value, 'text/html');\n return doc.body.textContent || \"\";\n\n case 'if':\n case '?':\n\n validatePrimitive(value);\n\n let trueStatement = (args.shift() || undefined);\n let falseStatement = (args.shift() || undefined);\n\n if (trueStatement === 'value') {\n trueStatement = value;\n }\n if (trueStatement === '\\\\value') {\n trueStatement = 'value';\n }\n if (falseStatement === 'value') {\n falseStatement = value;\n }\n if (falseStatement === '\\\\value') {\n falseStatement = 'value';\n }\n\n let condition = ((value !== undefined && value !== '' && value !== 'off' && value !== 'false' && value !== false) || value === 'on' || value === 'true' || value === true);\n return condition ? trueStatement : falseStatement;\n\n\n case 'ucfirst':\n validateString(value);\n\n let firstchar = value.charAt(0).toUpperCase();\n return firstchar + value.substr(1);\n case 'ucwords':\n validateString(value);\n\n return value.replace(/^([a-z\\u00E0-\\u00FC])|\\s+([a-z\\u00E0-\\u00FC])/g, function (v) {\n return v.toUpperCase();\n });\n\n case 'count':\n case 'length':\n\n if ((isString(value) || isObject(value) || isArray(value)) && value.hasOwnProperty('length')) {\n return value.length;\n }\n\n throw new TypeError(\"unsupported type\");\n\n case 'base64':\n convertToString(value);\n return btoa(value);\n\n case 'empty':\n return '';\n\n case 'undefined':\n return undefined;\n\n case 'prefix':\n validateString(value);\n let prefix = args?.[0];\n return prefix + value;\n\n case 'suffix':\n validateString(value);\n let suffix = args?.[0];\n return value + suffix;\n\n case 'uniqid':\n return (new ID()).toString();\n\n case 'key':\n case 'property':\n case 'index':\n\n key = (args.shift() || 'undefined');\n let defaultValue = (args.shift() || '');\n\n if (value instanceof Map) {\n if(!value.has(key)) {\n return defaultValue;\n }\n return value.get(key);\n }\n\n if (isObject(value)||isArray(value)) {\n\n if (value?.[key]) {\n return value?.[key];\n }\n\n return defaultValue;\n }\n\n throw new Error(\"type not supported\")\n\n case 'path':\n\n key = (args.shift() || 'undefined');\n return new Pathfinder(value).getVia(key);\n \n \n case 'substring':\n\n validateString(value);\n \n let start = parseInt(args[0]) || 0;\n let end = (parseInt(args[1]) || 0) + start;\n\n return value.substring(start, end);\n \n case 'nop':\n return value;\n\n default:\n throw new Error(\"unknown command \"+this.command)\n }\n\n return value;\n}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateInstance, validateString} from \"../types/validate.js\";\nimport {getGlobalFunction} from \"../types/global.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\n\n\n/**\n * attribute prefix\n * \n * @type {string}\n * @memberOf Monster/DOM\n */\nconst ATTRIBUTEPREFIX = \"data-monster-\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/assembler.js';\n * console.log(new Monster.DOM.Assembler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/assembler.js';\n * console.log(new Assembler())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Assembler extends Base {\n\n /**\n * @param {DocumentFragment} fragment\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(fragment) {\n super();\n this.attributePrefix = ATTRIBUTEPREFIX;\n validateInstance(fragment, getGlobalFunction('DocumentFragment'));\n this.fragment = fragment;\n }\n\n /**\n *\n * @param {string} prefix\n * @returns {Assembler}\n * @throws {TypeError} value is not a string\n */\n setAttributePrefix(prefix) {\n validateString(prefix);\n this.attributePrefix = prefix;\n return this;\n }\n\n /**\n *\n * @returns {string}\n */\n getAttributePrefix() {\n return this.attributePrefix;\n }\n\n /**\n *\n * @param {ProxyObserver|undefined} data\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment(data) {\n\n if (data === undefined) {\n data = new ProxyObserver({});\n }\n\n validateInstance(data, ProxyObserver);\n let fragment = this.fragment.cloneNode(true);\n return fragment;\n }\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Assembler);\nexport {Monster, ATTRIBUTEPREFIX, Assembler}\n", "'use strict';\n\nimport {Monster} from \"../namespace.js\";\n\n/**\n * @author schukai GmbH\n */\n\n/**\n * @memberOf Monster/DOM\n * @since 1.8.0\n * @type {string}\n */\nconst ATTRIBUTE_PREFIX = 'data-monster-';\n\n/**\n * @memberOf Monster/DOM\n * @since 1.8.0\n * @type {string}\n */\nconst ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';\n\n\n/**\n * default theme\n * @memberOf Monster/DOM\n * @type {string}\n */\nconst DEFAULT_THEME = 'monster';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n */\nconst ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';\n\n\nexport {\n Monster,\n ATTRIBUTE_PREFIX,\n ATTRIBUTE_OPTIONS,\n DEFAULT_THEME,\n ATTRIBUTE_THEME_PREFIX,\n ATTRIBUTE_THEME_NAME,\n ATTRIBUTE_UPDATER_ATTRIBUTES,\n ATTRIBUTE_UPDATER_REPLACE,\n ATTRIBUTE_UPDATER_INSERT,\n ATTRIBUTE_UPDATER_INSERT_REFERENCE,\n ATTRIBUTE_UPDATER_REMOVE\n}", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {ATTRIBUTE_OPTIONS} from \"./constants.js\";\nimport {findDocumentTemplate} from \"./template.js\";\nimport {getGlobalObject} from \"../types/global.js\";\nimport {Monster, validateFunction, validateObject, validateString} from \"../types/validate.js\";\n\n\n/**\n * To define a new HTML element we need the power of CustomElement\n *\n * you can call the method via the monster namespace `new Monster.DOM.Element()`.\n *\n * important: after defining a `CustomElement`, the `registerCustomElement` method must be called\n * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';\n * console.log(new Monster.DOM.CustomElement())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';\n * console.log(new CustomElement())\n * </script>\n * ```\n *\n * ## Styling\n *\n * For optimal display of custom-elements the pseudo-class :defined can be used.\n *\n * ```html\n * <style>\n *\n * my-custom-element:not(:defined) {\n * display: none;\n * }\n *\n * my-custom-element:defined {\n * display: flex;\n * }\n *\n * </style>\n * ```\n *\n *\n *\n * @example\n *\n * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.\n * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.\n *\n * class MonsterMyElement extends CustomElement {\n * \n * constructor() {\n * super();\n * }\n * \n * getTemplate() {\n * return `<div class=\"form-check\">\n * <label class=\"form-check-label\">\n * <input class=\"form-check-input\" type=\"checkbox\" value=\"\">\n * Checkvalue\n * </label>\n * </div>`\n * }\n *\n * static getTag() {\n * return \"monster-my-element\"\n * }\n *\n *}\n *\n * // ↦ <monster-my-element></monster-my-element>\n *\n * @see https://github.com/WICG/webcomponents\n * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass CustomElement extends HTMLElement {\n\n /**\n * A new object is created. First the `initOptions` method is called. Here the\n * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.\n *\n * @throws {Error} the options attribute does not contain a valid json definition.\n */\n constructor() {\n super();\n this._options = Object.assign({}, this.defaults, getOptionsFromAttributes.call(this));\n this.init();\n }\n\n /**\n * | option | description |\n * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n * | shadowMode | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it |\n * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. |\n *\n * Derived classes can override and extend this method as follows.\n *\n * ```\n * get defaults() {\n * return Object.assign({}, super.defaults, {\n * myValue:true\n * });\n * }\n * ```\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n * @return {{shadowMode: string, delegatesFocus: boolean}}\n * @since 1.8.0\n */\n get defaults() {\n return {\n shadowMode: 'open',\n delegatesFocus: true\n };\n }\n\n /**\n *\n * @param {string} key\n * @param [*} defaultValue\n * @return {*}\n * @since 1.8.0\n */\n getOption(key, defaultValue) {\n validateString(key)\n let v = this._options?.[key];\n if (v === undefined) return defaultValue;\n return v;\n }\n\n /**\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n init() {\n initShadowRoot.call(this);\n return this;\n }\n\n /**\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n assemble() {\n return this;\n }\n\n /**\n *\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n disassemble() {\n return this;\n }\n\n /**\n * Called every time the element is inserted into the DOM. Useful for running setup code, such as\n * fetching resources or rendering. Generally, you should try to delay work until this time.\n *\n * @return {void}\n */\n connectedCallback() {\n this.assemble();\n }\n\n /**\n * Called every time the element is removed from the DOM. Useful for running clean up code.\n *\n * @return {void}\n */\n disconnectedCallback() {\n this.disassemble();\n }\n\n /**\n * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).\n *\n * @return {void}\n */\n adoptedCallback() {\n\n }\n\n /**\n * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial\n * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.\n *\n * @param {string} attrName\n * @param {string} oldVal\n * @param {string} newVal\n * @return {void}\n */\n attributeChangedCallback(attrName, oldVal, newVal) {\n this.assemble();\n }\n\n /**\n * This method defines the default template if no template with the id is found in the dom.\n *\n * @since 1.8.0\n * @return {string}\n * @throws {Error} the method getTemplate must be overwritten by the derived class.\n */\n static getTemplate() {\n throw new Error(\"the method getTemplate must be overwritten by the derived class.\");\n }\n\n\n /**\n * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.\n * if the name is not valid, registerCustomElement() will issue an erro\n *\n * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * @return {string}\n * @throws {Error} the method getTag must be overwritten by the derived class.\n */\n static getTag() {\n throw new Error(\"the method getTag must be overwritten by the derived class.\");\n }\n\n /**\n *\n * @return {CSSStyleSheet}\n */\n static getCSSStyleSheet() {\n return new CSSStyleSheet();\n }\n\n\n}\n\n/**\n * @private\n * @return {object}\n * @throws {Error} the options attribute does not contain a valid json definition.\n */\nfunction getOptionsFromAttributes() {\n if (this.hasAttribute(ATTRIBUTE_OPTIONS)) {\n try {\n let obj = JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS))\n validateObject(obj);\n return obj;\n } catch(e) {\n throw new Error('the options attribute '+ATTRIBUTE_OPTIONS+' does not contain a valid json definition (actual: '+this.getAttribute(ATTRIBUTE_OPTIONS)+').');\n }\n }\n\n return {};\n}\n\n/**\n * @private\n * @return {CustomElement}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n * @memberOf CustomElement\n * @since 1.8.0\n */\nfunction initShadowRoot() {\n\n this.attachShadow({\n mode: this.getOption('shadowMode', 'open'),\n delegatesFocus: this.getOption('delegatesFocus', true)\n });\n\n const styleSheet = this.constructor.getCSSStyleSheet();\n if (styleSheet instanceof CSSStyleSheet) {\n this.shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n\n try {\n let template = findDocumentTemplate(this.constructor.getTag());\n this.shadowRoot.appendChild(template.createDocumentFragment());\n } catch (e) {\n this.shadowRoot.innerHTML = this.constructor.getTemplate();\n }\n\n return this;\n}\n\n/**\n * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.\n *\n * @param {CustomElement} element\n * @return {void}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name\n */\nfunction registerCustomElement(element) {\n validateFunction(element);\n\n let tag = element.getTag();\n\n getGlobalObject('customElements').define(element.getTag(), element);\n return;\n}\n\nMonster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);\nexport {Monster, registerCustomElement, CustomElement}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\nimport {validateInstance} from \"../types/validate.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\nimport {Observer} from \"../types/observer.js\";\nimport {getGlobalFunction, getGlobalObject} from \"../types/global.js\";\nimport {isInstance} from \"../types/is.js\";\nimport {ATTRIBUTEPREFIX} from \"./assembler.js\"\nimport {ID} from \"../types/id.js\";\n\n/**\n * @private\n * @type {Symbol}\n */\nconst MONSTERDOMHANDLE = Symbol('MonsterHandle');\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Handle()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(new Monster.DOM.Handle())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(new Handle())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster.DOM\n */\nclass Handle extends Base {\n /**\n *\n * @param {ProxyObserver} data\n */\n constructor(data) {\n super();\n\n let self = this;\n\n self.id = new ID();\n\n validateInstance(data, ProxyObserver);\n\n this.data = data\n\n this.mutationObserver = createMutationObserver.call(this);\n this.dataObserver = createDataObserver.call(this);\n this.data.attachObserver(this.dataObserver);\n\n this.nodes = new WeakSet\n this.updates = new Stack();\n\n }\n\n /**\n * @return {void}\n */\n update() {\n return;\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n remove(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (!this.nodes.has(node)) {\n return this;\n }\n\n this.mutationObserver.disconnect(node);\n\n delete node.dataset[MONSTERDOMHANDLE]\n node.removeAttribute(ATTRIBUTEPREFIX + \"handler\");\n\n return this;\n\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n append(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (this.nodes.has(node)) {\n return this;\n }\n\n node.dataset[MONSTERDOMHANDLE] = this;\n node.setAttribute(ATTRIBUTEPREFIX + \"handler\", true);\n\n this.mutationObserver.observe(node, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n characterDataOldValue: true,\n attributeOldValue: true\n });\n\n this.nodes.add(node);\n\n return this;\n\n }\n}\n\n/**\n *\n * @private\n * @return {Observer}\n */\nfunction createDataObserver() {\n const self = this;\n\n return new Observer(() => {\n self.update();\n });\n}\n\n/**\n *\n * @private\n * @return {MutationObserver}\n */\nfunction createMutationObserver() {\n\n const self = this;\n\n /**\n * @private\n * @type {MutationObserver}\n */\n const MutationObserver = getGlobalFunction('MutationObserver');\n\n // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver\n return new MutationObserver((mutationsList, observer) => {\n\n for (const mutation of mutationsList) {\n self.updates.push(mutation);\n }\n\n self.update();\n }\n )\n\n}\n\n/**\n * get the handle of a node\n *\n * if a node is specified without a handler, a recursive search upwards is performed until the corresponding\n * handle is found, or undefined is returned.\n *\n * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(Monster.DOM.getHandleFromNode())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(getHandleFromNode())\n * </script>\n * ```\n *\n * @param {Node} node\n * @return {Handle|undefined}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {TypeError} value is not an instance of Node\n */\nfunction getHandleFromNode(node) {\n validateInstance(node, getGlobalFunction('Node'));\n\n let handle = node.dataset?.[MONSTERDOMHANDLE];\n if (handle === undefined) {\n let parentNode = node?.['parentNode'];\n if (isInstance(parentNode, getGlobalFunction('Node'))) {\n return getHandleFromNode(parentNode)\n }\n }\n\n return handle;\n}\n\nMonster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);\nexport {Monster, getHandleFromNode, Handle}\n\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalFunction, getGlobalObject} from '../types/global.js';\nimport {validateInstance} from \"../types/validate.js\";\nimport {getDocumentTheme} from \"./theme.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Template()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(new Monster.DOM.Template())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(new Template())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Template extends Base {\n /**\n *\n * @param {HTMLTemplateElement} template\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(template) {\n super();\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n validateInstance(template, HTMLTemplateElement);\n this.template = template;\n }\n\n /**\n *\n * @returns {HTMLTemplateElement}\n */\n getTemplateElement() {\n return this.template;\n }\n\n /**\n *\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment() {\n return this.template.content.cloneNode(true);\n }\n\n}\n\n/**\n *\n *\n * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(Monster.DOM.findDocumentTemplate())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(findDocumentTemplate())\n * </script>\n * ```\n *\n * @param {string} id\n * @return {Template}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} template id not found.\n * @throws {TypeError} value is not a string\n */\nfunction findDocumentTemplate(id) {\n validateString(id);\n const document = getGlobalObject('document');\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n\n let theme = getDocumentTheme()\n let themedID = id + '-' + theme.getName();\n\n let template = document.getElementById(themedID);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n template = document.getElementById(id);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n throw new Error(\"template \" + id + \" not found.\")\n}\n\n\nMonster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);\nexport {Monster, Template, findDocumentTemplate}\n\n\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalObject} from '../types/global.js';\nimport {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from \"./constants.js\";\n\n\n\n/**\n * You can call the method via the monster namespace `new Monster.DOM.Theme()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n * console.log(new Monster.DOM.Theme())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n * console.log(new Theme())\n * </script>\n * ```\n * \n * @example\n *\n * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n *\n * const theme = getDocumentTheme();\n * console.log(theme.getName());\n * // ↦ monster\n *\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Theme extends Base {\n\n /**\n *\n * @param name\n * @throws {TypeError} value is not a string\n */\n constructor(name) {\n super();\n validateString(name);\n this.name = name;\n }\n\n /**\n *\n * @returns {string}\n */\n getName() {\n return this.name;\n }\n\n}\n\n/**\n * The theming used in the document can be defined via the html-tag.\n * The theming is specified via the attribute `data-monster-theme-name`.\n *\n * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.\n *\n * ```\n * <html data-monster-theme-name=\"my-theme\">\n * ```\n *\n * the default theme name is `monster`.\n *\n * @return {Theme}\n * @since 1.7.0\n */\nfunction getDocumentTheme() {\n let document = getGlobalObject('document');\n let name = DEFAULT_THEME;\n\n let element = document.querySelector('html');\n if (element instanceof HTMLElement) {\n let theme = element.getAttribute(ATTRIBUTE_THEME_NAME);\n if (theme) {\n name = theme;\n }\n }\n\n return new Theme(name);\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);\nexport {Monster, Theme, getDocumentTheme}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, getGlobal} from \"../types/global.js\";\nimport {validateString} from \"../types/validate.js\";\n\n\n/**\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocument())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getDocument())\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getDocument() {\n let document = getGlobal()?.['document'];\n if (typeof document !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return document;\n}\n\n/**\n * this method fetches the window object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getWindow())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getWindow(null))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * getGlobal()['window']=window;\n * \n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getWindow() {\n let window = getGlobal()?.['window'];\n if (typeof window !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return window;\n}\n\n\n/**\n *\n *\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocumentFragmentFromString())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getDocumentFragmentFromString('<div></div>'))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {DocumentFragment}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n * @throws {TypeError} value is not a string\n */\nfunction getDocumentFragmentFromString(html) {\n validateString(html);\n\n const document = getDocument();\n const template = document.createElement('template');\n template.innerHTML = html;\n \n return template.content;\n}\n\n\nMonster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);\nexport {Monster, getWindow, getDocument, getDocumentFragmentFromString}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from \"./logger.js\";\nimport {LogEntry} from \"./logentry.js\";\nimport {validateInstance, validateInteger} from \"../types/validate.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';\n * console.log(new Monster.Logging.Handler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';\n * console.log(new Handler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Handler extends Base {\n constructor() {\n super();\n\n /**\n * Loglevel\n * \n * @type {integer} \n */\n this.loglevel = OFF;\n }\n\n /**\n * this is the central log function. this method must be\n * overwritten by derived handlers with their own logic.\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {LogEntry} entry\n * @returns {boolean}\n */\n log(entry) {\n validateInstance(entry, LogEntry);\n\n if (this.loglevel < entry.getLogLevel()) {\n return false;\n }\n\n return true;\n }\n\n /**\n * set loglevel\n *\n * @param {integer} loglevel\n * @returns {Handler}\n * @since 1.5.0\n */\n setLogLevel(loglevel) {\n validateInteger(loglevel)\n this.loglevel = loglevel;\n return this;\n }\n\n /**\n * get loglevel\n *\n * @returns {integer}\n * @since 1.5.0\n */\n getLogLevel() {\n return this.loglevel;\n }\n\n /**\n * Set log level to All\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setAll() {\n this.setLogLevel(ALL);\n return this;\n };\n\n /**\n * Set log level to Trace\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setTrace() {\n this.setLogLevel(TRACE);\n return this;\n };\n\n /**\n * Set log level to Debug\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setDebug() {\n this.setLogLevel(DEBUG);\n return this;\n };\n\n /**\n * Set log level to Info\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setInfo() {\n this.setLogLevel(INFO);\n return this;\n };\n\n /**\n * Set log level to Warn\n *\n * @returns {undefined}\n * @since 1.5.0\n */\n setWarn() {\n this.setLogLevel(WARN);\n return this;\n };\n\n /**\n * Set log level to Error\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setError() {\n this.setLogLevel(ERROR);\n return this;\n };\n\n /**\n * Set log level to Fatal\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setFatal() {\n this.setLogLevel(FATAL);\n return this;\n };\n\n\n /**\n * Set log level to Off\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setOff() {\n this.setLogLevel(OFF);\n return this;\n };\n\n\n}\n\n\nMonster.assignToNamespace('Monster.Logging', Handler);\nexport {Monster, Handler};\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../../namespace.js';\nimport {Base} from '../../types/base.js';\nimport {Handler} from '../../logging/handler.js';\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';\n * console.log(new Monster.Logging.Handler.ConsoleHandler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';\n * console.log(new ConsoleHandler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging/Handler\n */\nclass ConsoleHandler extends Base {\n constructor() {\n super();\n }\n}\n\n\nMonster.assignToNamespace('Monster.Logging', ConsoleHandler);\nexport {Monster, Handler};\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';\n * console.log(new Monster.Logging.LogEntry())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';\n * console.log(new LogEntry())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass LogEntry extends Base {\n /**\n *\n * @param {int} loglevel\n * @param {*} args\n */\n constructor(loglevel, ...args) {\n super();\n validateInteger(loglevel);\n\n this.loglevel = loglevel\n this.arguments = args\n }\n\n /**\n *\n * @returns {integerr}\n */\n getLogLevel() {\n return this.loglevel\n }\n\n /**\n *\n * @returns {array}\n */\n getArguments() {\n return this.arguments\n }\n\n}\n\nMonster.assignToNamespace('Monster.Logging', LogEntry);\nexport {Monster, LogEntry}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger, validateObject, validateString} from '../types/validate.js';\nimport {Handler} from '../logging/handler.js';\nimport {LogEntry} from '../logging/logentry.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ALL = 255;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst TRACE = 64;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst DEBUG = 32;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst INFO = 16;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst WARN = 8;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ERROR = 4;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst FATAL = 2;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst OFF = 0;\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Logger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';\n * console.log(new Monster.Logging.Logger())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';\n * console.log(new Logger())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Logger extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.handler = new Set;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n addHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.add(handler)\n return this;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n removeHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.delete(handler);\n return this;\n }\n\n /**\n * log Trace message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logTrace() {\n triggerLog.apply(this, [TRACE, ...arguments]);\n return this;\n };\n\n /**\n * log Debug message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logDebug() {\n triggerLog.apply(this, [DEBUG, ...arguments]);\n return this;\n };\n\n /**\n * log Info message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logInfo() {\n triggerLog.apply(this, [INFO, ...arguments]);\n return this;\n };\n\n /**\n * log Warn message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logWarn() {\n triggerLog.apply(this, [WARN, ...arguments]);\n return this;\n };\n\n /**\n * log Error message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logError() {\n triggerLog.apply(this, [ERROR, ...arguments]);\n return this;\n };\n\n /**\n * log Fatal message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logFatal() {\n triggerLog.apply(this, [FATAL, ...arguments]);\n return this;\n };\n\n\n /**\n * Labels\n *\n * @param {integer} level\n * @returns {string}\n */\n getLabel(level) {\n validateInteger(level);\n\n if (level === ALL) return 'ALL';\n if (level === TRACE) return 'TRACE';\n if (level === DEBUG) return 'DEBUG';\n if (level === INFO) return 'INFO';\n if (level === WARN) return 'WARN';\n if (level === ERROR) return 'ERROR';\n if (level === FATAL) return 'FATAL';\n if (level === OFF) return 'OFF';\n\n return 'unknown';\n };\n\n /**\n * Level\n *\n * @param {string} label\n * @returns {integer}\n */\n getLevel(label) {\n validateString(label);\n\n if (label === 'ALL') return ALL;\n if (label === 'TRACE') return TRACE;\n if (label === 'DEBUG') return DEBUG;\n if (label === 'INFO') return INFO;\n if (label === 'WARN') return WARN;\n if (label === 'ERROR') return ERROR;\n if (label === 'FATAL') return FATAL;\n if (label === 'OFF') return OFF;\n\n return 0;\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Logging', Logger);\nexport {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};\n\n\n/**\n * Log triggern\n *\n * @param {integer} loglevel\n * @param {*} args\n * @returns {Logger}\n * @private\n */\nfunction triggerLog(loglevel, ...args) {\n var logger = this;\n\n for (let handler of logger.handler) {\n handler.log(new LogEntry(loglevel, args))\n }\n\n return logger;\n\n}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, getGlobal} from '../types/global.js';\n\n\n/**\n * this function uses crypt and returns a random number.\n *\n * you can call the method via the monster namespace `Monster.Math.random()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';\n * console.log(Monster.Math.random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';\n * console.log(random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * @param {number} min starting value of the definition set (default is 0)\n * @param {number} max end value of the definition set (default is 1000000000)\n * @returns {number}\n * @memberOf Monster/Math\n\n * @since 1.0.0\n * @copyright schukai GmbH\n */\nfunction random(min, max) {\n\n if (min === undefined) {\n min = 0;\n }\n if (max === undefined) {\n max = MAX;\n }\n\n if (max < min) {\n throw new Error(\"max must be greater than min\");\n }\n\n return Math.round(create(min, max));\n\n}\n\n/**\n * @private\n * @type {number}\n */\nvar MAX = 1000000000;\n\n\nMath.log2 = Math.log2 || function (n) {\n return Math.log(n) / Math.log(2);\n};\n\n/**\n *\n * @param min\n * @param max\n * @returns {*}\n * @private\n */\nfunction create(min, max) {\n let crypt;\n let globalReference = getGlobal();\n\n crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined;\n\n if (typeof crypt === \"undefined\") {\n throw new Error(\"missing crypt\")\n }\n\n let rval = 0;\n const range = max - min;\n if (range < 2) {\n return min;\n }\n\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error(\"we cannot generate numbers larger than 53 bits.\");\n }\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n\n const byteArray = new Uint8Array(bytesNeeded);\n crypt.getRandomValues(byteArray);\n\n let p = (bytesNeeded - 1) * 8;\n for (var i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n rval = rval & mask;\n\n if (rval >= range) {\n return create(min, max);\n }\n\n return min + rval;\n\n}\n\nMonster.assignToNamespace('Monster.Math', random);\nexport {Monster, random}\n\n\n\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {ATTRIBUTE_OPTIONS} from \"./constants.js\";\nimport {findDocumentTemplate} from \"./template.js\";\nimport {getGlobalObject} from \"../types/global.js\";\nimport {Monster, validateFunction, validateObject, validateString} from \"../types/validate.js\";\n\n\n/**\n * To define a new HTML element we need the power of CustomElement\n *\n * you can call the method via the monster namespace `new Monster.DOM.Element()`.\n *\n * important: after defining a `CustomElement`, the `registerCustomElement` method must be called\n * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/customelement.js';\n * console.log(new Monster.DOM.CustomElement())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/customelement.js';\n * console.log(new CustomElement())\n * </script>\n * ```\n *\n * ## Styling\n *\n * For optimal display of custom-elements the pseudo-class :defined can be used.\n *\n * ```html\n * <style>\n *\n * my-custom-element:not(:defined) {\n * display: none;\n * }\n *\n * my-custom-element:defined {\n * display: flex;\n * }\n *\n * </style>\n * ```\n *\n *\n *\n * @example\n *\n * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.\n * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.\n *\n * class MonsterMyElement extends CustomElement {\n * \n * constructor() {\n * super();\n * }\n * \n * getTemplate() {\n * return `<div class=\"form-check\">\n * <label class=\"form-check-label\">\n * <input class=\"form-check-input\" type=\"checkbox\" value=\"\">\n * Checkvalue\n * </label>\n * </div>`\n * }\n *\n * static getTag() {\n * return \"monster-my-element\"\n * }\n *\n *}\n *\n * // ↦ <monster-my-element></monster-my-element>\n *\n * @see https://github.com/WICG/webcomponents\n * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass CustomElement extends HTMLElement {\n\n /**\n * A new object is created. First the `initOptions` method is called. Here the\n * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.\n *\n * @throws {Error} the options attribute does not contain a valid json definition.\n */\n constructor() {\n super();\n this._options = Object.assign({}, this.defaults, getOptionsFromAttributes.call(this));\n this.init();\n }\n\n /**\n * | option | description |\n * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n * | shadowMode | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it |\n * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. |\n *\n * Derived classes can override and extend this method as follows.\n *\n * ```\n * get defaults() {\n * return Object.assign({}, super.defaults, {\n * myValue:true\n * });\n * }\n * ```\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n * @return {{shadowMode: string, delegatesFocus: boolean}}\n * @since 1.8.0\n */\n get defaults() {\n return {\n shadowMode: 'open',\n delegatesFocus: true\n };\n }\n\n /**\n *\n * @param {string} key\n * @param [*} defaultValue\n * @return {*}\n * @since 1.8.0\n */\n getOption(key, defaultValue) {\n validateString(key)\n let v = this._options?.[key];\n if (v === undefined) return defaultValue;\n return v;\n }\n\n /**\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n init() {\n initShadowRoot.call(this);\n return this;\n }\n\n /**\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n assemble() {\n return this;\n }\n\n /**\n *\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n disassemble() {\n return this;\n }\n\n /**\n * Called every time the element is inserted into the DOM. Useful for running setup code, such as\n * fetching resources or rendering. Generally, you should try to delay work until this time.\n *\n * @return {void}\n */\n connectedCallback() {\n this.assemble();\n }\n\n /**\n * Called every time the element is removed from the DOM. Useful for running clean up code.\n *\n * @return {void}\n */\n disconnectedCallback() {\n this.disassemble();\n }\n\n /**\n * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).\n *\n * @return {void}\n */\n adoptedCallback() {\n\n }\n\n /**\n * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial\n * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.\n *\n * @param {string} attrName\n * @param {string} oldVal\n * @param {string} newVal\n * @return {void}\n */\n attributeChangedCallback(attrName, oldVal, newVal) {\n this.assemble();\n }\n\n /**\n * This method defines the default template if no template with the id is found in the dom.\n *\n * @since 1.8.0\n * @return {string}\n * @throws {Error} the method getTemplate must be overwritten by the derived class.\n */\n static getTemplate() {\n throw new Error(\"the method getTemplate must be overwritten by the derived class.\");\n }\n\n\n /**\n * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.\n * if the name is not valid, registerCustomElement() will issue an erro\n *\n * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * @return {string}\n * @throws {Error} the method getTag must be overwritten by the derived class.\n */\n static getTag() {\n throw new Error(\"the method getTag must be overwritten by the derived class.\");\n }\n\n /**\n *\n * @return {CSSStyleSheet}\n */\n static getCSSStyleSheet() {\n return new CSSStyleSheet();\n }\n\n\n}\n\n/**\n * @private\n * @return {object}\n * @throws {Error} the options attribute does not contain a valid json definition.\n */\nfunction getOptionsFromAttributes() {\n if (this.hasAttribute(ATTRIBUTE_OPTIONS)) {\n try {\n let obj = JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS))\n validateObject(obj);\n return obj;\n } catch(e) {\n throw new Error('the options attribute '+ATTRIBUTE_OPTIONS+' does not contain a valid json definition (actual: '+this.getAttribute(ATTRIBUTE_OPTIONS)+').');\n }\n }\n\n return {};\n}\n\n/**\n * @private\n * @return {CustomElement}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n * @memberOf CustomElement\n * @since 1.8.0\n */\nfunction initShadowRoot() {\n\n this.attachShadow({\n mode: this.getOption('shadowMode', 'open'),\n delegatesFocus: this.getOption('delegatesFocus', true)\n });\n\n const styleSheet = this.constructor.getCSSStyleSheet();\n if (styleSheet instanceof CSSStyleSheet) {\n this.shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n\n try {\n let template = findDocumentTemplate(this.constructor.getTag());\n this.shadowRoot.appendChild(template.createDocumentFragment());\n } catch (e) {\n this.shadowRoot.innerHTML = this.constructor.getTemplate();\n }\n\n return this;\n}\n\n/**\n * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.\n *\n * @param {CustomElement} element\n * @return {void}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name\n */\nfunction registerCustomElement(element) {\n validateFunction(element);\n\n let tag = element.getTag();\n\n getGlobalObject('customElements').define(element.getTag(), element);\n return;\n}\n\nMonster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);\nexport {Monster, registerCustomElement, CustomElement}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\nimport {validateInstance} from \"../types/validate.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\nimport {Observer} from \"../types/observer.js\";\nimport {getGlobalFunction, getGlobalObject} from \"../types/global.js\";\nimport {isInstance} from \"../types/is.js\";\nimport {ATTRIBUTEPREFIX} from \"./assembler.js\"\nimport {ID} from \"../types/id.js\";\n\n/**\n * @private\n * @type {Symbol}\n */\nconst MONSTERDOMHANDLE = Symbol('MonsterHandle');\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Handle()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js';\n * console.log(new Monster.DOM.Handle())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js';\n * console.log(new Handle())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster.DOM\n */\nclass Handle extends Base {\n /**\n *\n * @param {ProxyObserver} data\n */\n constructor(data) {\n super();\n\n let self = this;\n\n self.id = new ID();\n\n validateInstance(data, ProxyObserver);\n\n this.data = data\n\n this.mutationObserver = createMutationObserver.call(this);\n this.dataObserver = createDataObserver.call(this);\n this.data.attachObserver(this.dataObserver);\n\n this.nodes = new WeakSet\n this.updates = new Stack();\n\n }\n\n /**\n * @return {void}\n */\n update() {\n return;\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n remove(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (!this.nodes.has(node)) {\n return this;\n }\n\n this.mutationObserver.disconnect(node);\n\n delete node.dataset[MONSTERDOMHANDLE]\n node.removeAttribute(ATTRIBUTEPREFIX + \"handler\");\n\n return this;\n\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n append(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (this.nodes.has(node)) {\n return this;\n }\n\n node.dataset[MONSTERDOMHANDLE] = this;\n node.setAttribute(ATTRIBUTEPREFIX + \"handler\", true);\n\n this.mutationObserver.observe(node, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n characterDataOldValue: true,\n attributeOldValue: true\n });\n\n this.nodes.add(node);\n\n return this;\n\n }\n}\n\n/**\n *\n * @private\n * @return {Observer}\n */\nfunction createDataObserver() {\n const self = this;\n\n return new Observer(() => {\n self.update();\n });\n}\n\n/**\n *\n * @private\n * @return {MutationObserver}\n */\nfunction createMutationObserver() {\n\n const self = this;\n\n /**\n * @private\n * @type {MutationObserver}\n */\n const MutationObserver = getGlobalFunction('MutationObserver');\n\n // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver\n return new MutationObserver((mutationsList, observer) => {\n\n for (const mutation of mutationsList) {\n self.updates.push(mutation);\n }\n\n self.update();\n }\n )\n\n}\n\n/**\n * get the handle of a node\n *\n * if a node is specified without a handler, a recursive search upwards is performed until the corresponding\n * handle is found, or undefined is returned.\n *\n * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js';\n * console.log(Monster.DOM.getHandleFromNode())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js';\n * console.log(getHandleFromNode())\n * </script>\n * ```\n *\n * @param {Node} node\n * @return {Handle|undefined}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {TypeError} value is not an instance of Node\n */\nfunction getHandleFromNode(node) {\n validateInstance(node, getGlobalFunction('Node'));\n\n let handle = node.dataset?.[MONSTERDOMHANDLE];\n if (handle === undefined) {\n let parentNode = node?.['parentNode'];\n if (isInstance(parentNode, getGlobalFunction('Node'))) {\n return getHandleFromNode(parentNode)\n }\n }\n\n return handle;\n}\n\nMonster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);\nexport {Monster, getHandleFromNode, Handle}\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalFunction, getGlobalObject} from '../types/global.js';\nimport {validateInstance} from \"../types/validate.js\";\nimport {getDocumentTheme} from \"./theme.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Template()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js';\n * console.log(new Monster.DOM.Template())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js';\n * console.log(new Template())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Template extends Base {\n /**\n *\n * @param {HTMLTemplateElement} template\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(template) {\n super();\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n validateInstance(template, HTMLTemplateElement);\n this.template = template;\n }\n\n /**\n *\n * @returns {HTMLTemplateElement}\n */\n getTemplateElement() {\n return this.template;\n }\n\n /**\n *\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment() {\n return this.template.content.cloneNode(true);\n }\n\n}\n\n/**\n *\n *\n * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js';\n * console.log(Monster.DOM.findDocumentTemplate())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js';\n * console.log(findDocumentTemplate())\n * </script>\n * ```\n *\n * @param {string} id\n * @return {Template}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} template id not found.\n * @throws {TypeError} value is not a string\n */\nfunction findDocumentTemplate(id) {\n validateString(id);\n const document = getGlobalObject('document');\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n\n let theme = getDocumentTheme()\n let themedID = id + '-' + theme.getName();\n\n let template = document.getElementById(themedID);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n template = document.getElementById(id);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n throw new Error(\"template \" + id + \" not found.\")\n}\n\n\nMonster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);\nexport {Monster, Template, findDocumentTemplate}\n\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalObject} from '../types/global.js';\nimport {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from \"./constants.js\";\n\n\n\n/**\n * You can call the method via the monster namespace `new Monster.DOM.Theme()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js';\n * console.log(new Monster.DOM.Theme())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js';\n * console.log(new Theme())\n * </script>\n * ```\n * \n * @example\n *\n * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js';\n *\n * const theme = getDocumentTheme();\n * console.log(theme.getName());\n * // ↦ monster\n *\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Theme extends Base {\n\n /**\n *\n * @param name\n * @throws {TypeError} value is not a string\n */\n constructor(name) {\n super();\n validateString(name);\n this.name = name;\n }\n\n /**\n *\n * @returns {string}\n */\n getName() {\n return this.name;\n }\n\n}\n\n/**\n * The theming used in the document can be defined via the html-tag.\n * The theming is specified via the attribute `data-monster-theme-name`.\n *\n * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.\n *\n * ```\n * <html data-monster-theme-name=\"my-theme\">\n * ```\n *\n * the default theme name is `monster`.\n *\n * @return {Theme}\n * @since 1.7.0\n */\nfunction getDocumentTheme() {\n let document = getGlobalObject('document');\n let name = DEFAULT_THEME;\n\n let element = document.querySelector('html');\n if (element instanceof HTMLElement) {\n let theme = element.getAttribute(ATTRIBUTE_THEME_NAME);\n if (theme) {\n name = theme;\n }\n }\n\n return new Theme(name);\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);\nexport {Monster, Theme, getDocumentTheme}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, getGlobal} from \"../types/global.js\";\nimport {validateString} from \"../types/validate.js\";\n\n\n/**\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocument())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js';\n * console.log(getDocument())\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getDocument() {\n let document = getGlobal()?.['document'];\n if (typeof document !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return document;\n}\n\n/**\n * this method fetches the window object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getWindow())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js';\n * console.log(getWindow(null))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * getGlobal()['window']=window;\n * \n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getWindow() {\n let window = getGlobal()?.['window'];\n if (typeof window !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return window;\n}\n\n\n/**\n *\n *\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocumentFragmentFromString())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js';\n * console.log(getDocumentFragmentFromString('<div></div>'))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {DocumentFragment}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n * @throws {TypeError} value is not a string\n */\nfunction getDocumentFragmentFromString(html) {\n validateString(html);\n\n const document = getDocument();\n const template = document.createElement('template');\n template.innerHTML = html;\n \n return template.content;\n}\n\n\nMonster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);\nexport {Monster, getWindow, getDocument, getDocumentFragmentFromString}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from \"./logger.js\";\nimport {LogEntry} from \"./logentry.js\";\nimport {validateInstance, validateInteger} from \"../types/validate.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler.js';\n * console.log(new Monster.Logging.Handler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler.js';\n * console.log(new Handler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Handler extends Base {\n constructor() {\n super();\n\n /**\n * Loglevel\n * \n * @type {integer} \n */\n this.loglevel = OFF;\n }\n\n /**\n * this is the central log function. this method must be\n * overwritten by derived handlers with their own logic.\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {LogEntry} entry\n * @returns {boolean}\n */\n log(entry) {\n validateInstance(entry, LogEntry);\n\n if (this.loglevel < entry.getLogLevel()) {\n return false;\n }\n\n return true;\n }\n\n /**\n * set loglevel\n *\n * @param {integer} loglevel\n * @returns {Handler}\n * @since 1.5.0\n */\n setLogLevel(loglevel) {\n validateInteger(loglevel)\n this.loglevel = loglevel;\n return this;\n }\n\n /**\n * get loglevel\n *\n * @returns {integer}\n * @since 1.5.0\n */\n getLogLevel() {\n return this.loglevel;\n }\n\n /**\n * Set log level to All\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setAll() {\n this.setLogLevel(ALL);\n return this;\n };\n\n /**\n * Set log level to Trace\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setTrace() {\n this.setLogLevel(TRACE);\n return this;\n };\n\n /**\n * Set log level to Debug\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setDebug() {\n this.setLogLevel(DEBUG);\n return this;\n };\n\n /**\n * Set log level to Info\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setInfo() {\n this.setLogLevel(INFO);\n return this;\n };\n\n /**\n * Set log level to Warn\n *\n * @returns {undefined}\n * @since 1.5.0\n */\n setWarn() {\n this.setLogLevel(WARN);\n return this;\n };\n\n /**\n * Set log level to Error\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setError() {\n this.setLogLevel(ERROR);\n return this;\n };\n\n /**\n * Set log level to Fatal\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setFatal() {\n this.setLogLevel(FATAL);\n return this;\n };\n\n\n /**\n * Set log level to Off\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setOff() {\n this.setLogLevel(OFF);\n return this;\n };\n\n\n}\n\n\nMonster.assignToNamespace('Monster.Logging', Handler);\nexport {Monster, Handler};\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../../namespace.js';\nimport {Base} from '../../types/base.js';\nimport {Handler} from '../../logging/handler.js';\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler/console.js';\n * console.log(new Monster.Logging.Handler.ConsoleHandler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler/console.js';\n * console.log(new ConsoleHandler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging/Handler\n */\nclass ConsoleHandler extends Base {\n constructor() {\n super();\n }\n}\n\n\nMonster.assignToNamespace('Monster.Logging', ConsoleHandler);\nexport {Monster, Handler};\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logentry.js';\n * console.log(new Monster.Logging.LogEntry())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logentry.js';\n * console.log(new LogEntry())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass LogEntry extends Base {\n /**\n *\n * @param {int} loglevel\n * @param {*} args\n */\n constructor(loglevel, ...args) {\n super();\n validateInteger(loglevel);\n\n this.loglevel = loglevel\n this.arguments = args\n }\n\n /**\n *\n * @returns {integerr}\n */\n getLogLevel() {\n return this.loglevel\n }\n\n /**\n *\n * @returns {array}\n */\n getArguments() {\n return this.arguments\n }\n\n}\n\nMonster.assignToNamespace('Monster.Logging', LogEntry);\nexport {Monster, LogEntry}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger, validateObject, validateString} from '../types/validate.js';\nimport {Handler} from '../logging/handler.js';\nimport {LogEntry} from '../logging/logentry.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ALL = 255;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst TRACE = 64;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst DEBUG = 32;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst INFO = 16;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst WARN = 8;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ERROR = 4;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst FATAL = 2;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst OFF = 0;\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Logger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logger.js';\n * console.log(new Monster.Logging.Logger())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logger.js';\n * console.log(new Logger())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Logger extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.handler = new Set;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n addHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.add(handler)\n return this;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n removeHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.delete(handler);\n return this;\n }\n\n /**\n * log Trace message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logTrace() {\n triggerLog.apply(this, [TRACE, ...arguments]);\n return this;\n };\n\n /**\n * log Debug message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logDebug() {\n triggerLog.apply(this, [DEBUG, ...arguments]);\n return this;\n };\n\n /**\n * log Info message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logInfo() {\n triggerLog.apply(this, [INFO, ...arguments]);\n return this;\n };\n\n /**\n * log Warn message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logWarn() {\n triggerLog.apply(this, [WARN, ...arguments]);\n return this;\n };\n\n /**\n * log Error message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logError() {\n triggerLog.apply(this, [ERROR, ...arguments]);\n return this;\n };\n\n /**\n * log Fatal message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logFatal() {\n triggerLog.apply(this, [FATAL, ...arguments]);\n return this;\n };\n\n\n /**\n * Labels\n *\n * @param {integer} level\n * @returns {string}\n */\n getLabel(level) {\n validateInteger(level);\n\n if (level === ALL) return 'ALL';\n if (level === TRACE) return 'TRACE';\n if (level === DEBUG) return 'DEBUG';\n if (level === INFO) return 'INFO';\n if (level === WARN) return 'WARN';\n if (level === ERROR) return 'ERROR';\n if (level === FATAL) return 'FATAL';\n if (level === OFF) return 'OFF';\n\n return 'unknown';\n };\n\n /**\n * Level\n *\n * @param {string} label\n * @returns {integer}\n */\n getLevel(label) {\n validateString(label);\n\n if (label === 'ALL') return ALL;\n if (label === 'TRACE') return TRACE;\n if (label === 'DEBUG') return DEBUG;\n if (label === 'INFO') return INFO;\n if (label === 'WARN') return WARN;\n if (label === 'ERROR') return ERROR;\n if (label === 'FATAL') return FATAL;\n if (label === 'OFF') return OFF;\n\n return 0;\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Logging', Logger);\nexport {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};\n\n\n/**\n * Log triggern\n *\n * @param {integer} loglevel\n * @param {*} args\n * @returns {Logger}\n * @private\n */\nfunction triggerLog(loglevel, ...args) {\n var logger = this;\n\n for (let handler of logger.handler) {\n handler.log(new LogEntry(loglevel, args))\n }\n\n return logger;\n\n}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, getGlobal} from '../types/global.js';\n\n\n/**\n * this function uses crypt and returns a random number.\n *\n * you can call the method via the monster namespace `Monster.Math.random()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/math/random.js';\n * console.log(Monster.Math.random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/math/random.js';\n * console.log(random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * @param {number} min starting value of the definition set (default is 0)\n * @param {number} max end value of the definition set (default is 1000000000)\n * @returns {number}\n * @memberOf Monster/Math\n\n * @since 1.0.0\n * @copyright schukai GmbH\n */\nfunction random(min, max) {\n\n if (min === undefined) {\n min = 0;\n }\n if (max === undefined) {\n max = MAX;\n }\n\n if (max < min) {\n throw new Error(\"max must be greater than min\");\n }\n\n return Math.round(create(min, max));\n\n}\n\n/**\n * @private\n * @type {number}\n */\nvar MAX = 1000000000;\n\n\nMath.log2 = Math.log2 || function (n) {\n return Math.log(n) / Math.log(2);\n};\n\n/**\n *\n * @param min\n * @param max\n * @returns {*}\n * @private\n */\nfunction create(min, max) {\n let crypt;\n let globalReference = getGlobal();\n\n crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined;\n\n if (typeof crypt === \"undefined\") {\n throw new Error(\"missing crypt\")\n }\n\n let rval = 0;\n const range = max - min;\n if (range < 2) {\n return min;\n }\n\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error(\"we cannot generate numbers larger than 53 bits.\");\n }\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n\n const byteArray = new Uint8Array(bytesNeeded);\n crypt.getRandomValues(byteArray);\n\n let p = (bytesNeeded - 1) * 8;\n for (var i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n rval = rval & mask;\n\n if (rval >= range) {\n return create(min, max);\n }\n\n return min + rval;\n\n}\n\nMonster.assignToNamespace('Monster.Math', random);\nexport {Monster, random}\n\n\n\n\n", "/**\n * @license\n * Copyright 2021 schukai GmbH\n * SPDX-License-Identifier: AGPL-3.0-only or COMMERCIAL\n * @author schukai GmbH\n */\n\n'use strict';\n\nimport {Monster} from './namespace.js';\nimport './types/base.js';\nimport './types/global.js';\nimport './types/id.js';\nimport './types/is.js';\nimport './types/observer.js';\nimport './types/observerlist.js';\nimport './types/proxyobserver.js';\nimport './types/queue.js';\nimport './types/randomid.js';\nimport './types/stack.js';\nimport './types/tokenlist.js';\nimport './types/uniquequeue.js';\nimport './types/validate.js';\nimport './types/version.js';\nimport './math/random.js';\nimport './data/diff.js';\nimport './data/pathfinder.js';\nimport './data/pipe.js';\nimport './data/transformer.js';\nimport './logging/handler.js';\nimport './logging/logentry.js';\nimport './logging/logger.js';\nimport './logging/handler/console.js';\nimport './util/clone.js';\nimport './util/comparator.js';\nimport './util/freeze.js';\nimport './constraints/abstract.js';\nimport './constraints/abstractoperator.js';\nimport './constraints/andoperator.js';\nimport './constraints/invalid.js';\nimport './constraints/isarray.js';\nimport './constraints/isobject.js';\nimport './constraints/oroperator.js';\nimport './constraints/valid.js';\nimport './dom/util.js';\nimport './dom/template.js';\nimport './dom/handle.js';\nimport './dom/assembler.js';\nimport './dom/customelement.js';\n\n\nMonster.Util.deepFreeze(Monster);\nexport {Monster};\n\nlet rootName\ntry {\n rootName = Monster.Types.getGlobalObject('__MonsterRootName__');\n} catch (e) {\n\n}\n\nif (!rootName) rootName = \"Monster\";\n\nMonster.Types.getGlobal()[rootName] = Monster", - "'use strict';\n\n/**\n * @namespace Monster\n * @author schukai GmbH\n */\n\n\n/**\n * namespace class objects form the basic framework of the namespace administration.\n *\n * all functions, classes and objects of the library hang within the namespace tree.\n *\n * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace.\n *\n * @memberOf Monster\n * @copyright schukai GmbH\n * @since 1.0.0\n */\nclass Namespace {\n\n /**\n *\n * @param namespace\n * @param obj\n */\n constructor(namespace) {\n if (namespace === undefined || typeof namespace !== 'string') {\n throw new Error(\"namespace is not a string\")\n }\n this.namespace = namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n getNamespace() {\n return this.namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.getNamespace();\n }\n}\n\n/**\n * @type {Namespace}\n * @global\n */\nexport const Monster = new Namespace(\"Monster\");\n\n\n/**\n *\n */\nassignToNamespace('Monster', assignToNamespace);\n\n/**\n * To expand monster, the `Monster.assignToNamespace()` method can be used. \n *\n * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.\n * \n * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js';\n * function hello() {\n * console.log('Hello World!');\n * }\n * Monster.assignToNamespace(\"Monster.X\",hello)\n * Monster.X.hello(); // ↦ Hello World!\n * </script>\n * \n * ```\n *\n * @param ns\n * @param obj\n * @memberOf Monster\n \n */\nfunction assignToNamespace(ns, ...obj) {\n let current = namespaceFor(ns.split(\".\"));\n\n for (let i = 0, l = obj.length; i < l; i++) {\n current[objectName(obj[i])] = obj[i];\n }\n}\n\n/**\n *\n * @param fn\n * @returns {string|*}\n * @private\n */\nfunction objectName(fn) {\n try {\n\n if (typeof fn !== 'function') {\n throw new Error(\"the first argument is not a function or class.\");\n }\n\n if (fn.hasOwnProperty('name')) {\n return fn.name;\n }\n\n if (\"function\" === typeof fn.toString) {\n let s = fn.toString();\n let f = s.match(/^\\s*function\\s+([^\\s(]+)/);\n if (Array.isArray(f) && typeof f[1] === 'string') {\n return f[1];\n }\n let c = s.match(/^\\s*class\\s+([^\\s(]+)/);\n if (Array.isArray(c) && typeof c[1] === 'string') {\n return c[1];\n }\n }\n\n } catch (e) {\n throw new Error(\"exception \" + e);\n }\n\n throw new Error(\"the name of the class or function cannot be resolved.\");\n}\n\n/**\n *\n * @param parts\n * @returns {Namespace}\n * @private\n */\nfunction namespaceFor(parts) {\n var space = Monster, ns = 'Monster';\n\n for (let i = 0; i < parts.length; i++) {\n\n if (\"Monster\" === parts[i]) {\n continue;\n }\n\n ns += '.' + parts[i];\n\n if (!space.hasOwnProperty(parts[i])) {\n space[parts[i]] = new Namespace(ns);\n }\n\n space = space[parts[i]];\n }\n\n return space;\n}\n\n\nexport {assignToNamespace}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n\n/**\n * This is the base class from which all monster classes are derived.\n *\n * You can call the method via the monster namespace `new Monster.Types.Base()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';\n * console.log(new Monster.Types.Base())\n * console.log(new Monster.Types.Base())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';\n * console.log(new Base())\n * console.log(new Base())\n * </script>\n * ```\n *\n * The class was formerly called Object.\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Base extends Object {\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this);\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Base);\nexport {Monster, Base}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateFunction, validateString, validateObject} from \"./validate.js\";\n\n/**\n * @type {objec}\n * @private\n */\nvar globalReference;\n\n/**\n * @private\n */\n(function () {\n if (typeof globalThis === 'object') {\n globalReference = globalThis;\n return;\n }\n\n Object.defineProperty(Object.prototype, '__monster__', {\n get: function () {\n return this;\n },\n configurable: true\n });\n\n __monster__.globalThis = __monster__;\n delete Object.prototype.__monster__;\n\n globalReference = globalThis;\n\n}());\n\n/**\n * Return globalThis\n *\n * If globalThis is not available, it will be polyfilled\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @returns {objec} globalThis\n */\nfunction getGlobal() {\n return globalReference;\n}\n\n/**\n * Return global object or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {Error} the object is not defined\n * @throws {TypeError} value is not a object\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalObject(name) {\n validateString(name);\n let o = globalReference?.[name];\n if (typeof o === 'undefined') throw new Error('the object ' + name + ' is not defined');\n validateObject(o);\n return o;\n}\n\n/**\n * Return global function or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalFunction(name) {\n validateString(name);\n let f = globalReference?.[name];\n if (typeof f === 'undefined') throw new Error('the function ' + name + ' is not defined');\n validateFunction(f);\n return f;\n}\n\n\nMonster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);\nexport {Monster, getGlobal, getGlobalObject, getGlobalFunction}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from './base.js';\nimport {validateString} from \"./validate.js\";\n\n/**\n * @private\n * @type {Map<string, integer>}\n */\nlet internalCounter = new Map;\n\n/**\n * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.\n * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.\n * The ids are the same for every call, for example on a web page.\n *\n * So the ids can also be used for navigation. you just have to take care that the order stays the same.\n *\n * You can call the method via the monster namespace `new Monster.Types.ID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';\n * console.log(new Monster.Types.ID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';\n * console.log(new ID())\n * </script>\n * ```\n *\n * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ID extends Base {\n\n /**\n * create new object\n */\n constructor(prefix) {\n super();\n\n if (prefix === undefined) {\n prefix = \"id\";\n }\n\n validateString(prefix);\n\n if (!internalCounter.has(prefix)) {\n internalCounter.set(prefix, 1);\n }\n\n let count = internalCounter.get(prefix);\n this.id = prefix + count;\n\n internalCounter.set(prefix, ++count);\n }\n\n /**\n * @return {string}\n */\n toString() {\n return this.id;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ID);\nexport {Monster, ID}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n/**\n * With this function you can check if a value is iterable\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isIterable(null)) // ↦ false\n * console.log(Monster.Types.isIterable('hello')) // ↦ true\n * console.log(Monster.Types.isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isIterable(null)) // ↦ false\n * console.log(isIterable('hello')) // ↦ true\n * console.log(isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isIterable(value) {\n if (value === undefined) return false;\n if (value === null) return false;\n return typeof value?.[Symbol.iterator] === 'function';\n}\n\n\n/**\n * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isPrimitive('2')) // ↦ false\n * console.log(Monster.Types.isPrimitive([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isPrimitive('2')) // ↦ true\n * console.log(isPrimitive([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isPrimitive(value) {\n var type;\n\n if (value === undefined || value === null || value === NaN) {\n return true;\n }\n\n type = typeof value;\n\n if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks whether the value passed is a boolean\n *\n * You can call the method via the monster namespace `Monster.Types.isBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isBoolean('2')) // ↦ false\n * console.log(Monster.Types.isBoolean([])) // ↦ false\n * console.log(Monster.Types.isBoolean(true)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isBoolean('2')) // ↦ false\n * console.log(isBoolean([])) // ↦ false\n * console.log(isBoolean(2>4)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isBoolean(value) {\n\n if (value === true || value === false) {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a string\n *\n * you can call the method via the monster namespace `Monster.Types.isString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isString('2')) // ↦ true\n * console.log(Monster.Types.isString([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isString('2')) // ↦ true\n * console.log(isString([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isString(value) {\n if (value === undefined || typeof value !== 'string') {\n return false;\n }\n return true;\n}\n\n/**\n * checks whether the value passed is a object\n *\n * you can call the method via the monster namespace `Monster.Types.isObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isObject('2')) // ↦ false\n * console.log(Monster.Types.isObject([])) // ↦ false\n * console.log(Monster.Types.isObject({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isObject('2')) // ↦ false\n * console.log(isObject([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isObject(value) {\n\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'object') {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a object and instance of instance\n *\n * you can call the method via the monster namespace `Monster.Types.isInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInstance('2')) // ↦ false\n * console.log(Monster.Types.isInstance([])) // ↦ false\n * console.log(Monster.Types.isInstance({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isInstance('2')) // ↦ false\n * console.log(isInstance([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @param {*} instance\n * @returns {boolean}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInstance(value, instance) {\n\n if (!isObject(value)) return false;\n if (!isFunction(instance)) return false;\n if (!instance.hasOwnProperty('prototype')) return false;\n return (value instanceof instance) ? true : false;\n\n}\n\n/**\n * checks whether the value passed is a array\n *\n * you can call the method via the monster namespace `Monster.Types.isArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isArray('2')) // ↦ false\n * console.log(Monster.Types.isArray([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isArray('2')) // ↦ false\n * console.log(isArray([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isArray(value) {\n if (Array.isArray(value)) {\n return true;\n }\n return false;\n}\n\n/**\n * checks whether the value passed is a function\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isFunction(()=>{})) // ↦ true\n * console.log(Monster.Types.isFunction('2')) // ↦ false\n * console.log(Monster.Types.isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isFunction(()=>{})) // ↦ true\n * console.log(isFunction('2')) // ↦ false\n * console.log(isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isFunction(value) {\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'function') {\n return true;\n }\n\n return false;\n\n}\n\n/**\n * checks whether the value passed is an integer\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInteger(()=>{})) // ↦ true\n * console.log(Monster.Types.isInteger('2')) // ↦ false\n * console.log(Monster.Types.isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isInteger(()=>{})) // ↦ true\n * console.log(isInteger('2')) // ↦ false\n * console.log(isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInteger(value) {\n return Number.isInteger(value);\n}\n\n\nMonster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);\nexport {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {TokenList} from './tokenlist.js';\nimport {isObject} from './is.js';\nimport {Base} from './base.js';\nimport {UniqueQueue} from './uniquequeue.js';\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.Observer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * console.log(new Monster.Types.Observer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * console.log(new Observer())\n * </script>\n * ```\n *\n * The update method is called with the subject object as this pointer. For this reason the callback should not\n * be an arrow function, because it gets the this pointer of its own context.\n *\n * ```\n * <script>\n * new Observer(()=>{\n * // this is not subject\n * })\n *\n * new Observer(function() {\n * // this is subject\n * })\n * </script>\n * ```\n *\n * Additional arguments can be passed to the callback. To do this, simply specify them.\n *\n * ```\n * <script>\n * Observer(function(a, b, c) {\n * console.log(a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true)\n * </script>\n * ```\n *\n * The callback function must have as many parameters as arguments are given.\n *\n * @example\n *\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n *\n * const observer = new Observer(function(a, b, c) {\n * console.log(this, a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true);\n *\n * observer.update({value:true}).then(()=>{});\n * // ↦ {value: true} \"a\" 2 true\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Observer extends Base {\n\n /**\n *\n * @param {function} callback\n * @param {*} args\n */\n constructor(callback, ...args) {\n super();\n\n if (typeof callback !== 'function') {\n throw new Error(\"observer callback must be a function\")\n }\n\n this.callback = callback;\n this.arguments = args;\n this.tags = new TokenList;\n this.queue = new UniqueQueue();\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n addTag(tag) {\n this.tags.add(tag);\n return this;\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n removeTag(tag) {\n this.tags.remove(tag);\n return this;\n }\n\n /**\n *\n * @returns {Array}\n */\n getTags() {\n return this.tags.entries()\n }\n\n /**\n *\n * @param {string} tag\n * @returns {boolean}\n */\n hasTag(tag) {\n return this.tags.contains(tag)\n }\n\n /**\n *\n * @param {object} subject\n * @returns {Promise}\n */\n update(subject) {\n let self = this;\n\n return new Promise(function (resolve, reject) {\n if (!isObject(subject)) {\n reject(\"subject must be an object\");\n return;\n }\n\n self.queue.add(subject);\n\n setTimeout(() => {\n\n try {\n // the queue and the settimeout ensure that an object is not \n // informed of the same change more than once.\n if (self.queue.isEmpty()) {\n resolve();\n return;\n }\n\n let s = self.queue.poll();\n let result = self.callback.apply(s, self.arguments);\n\n if (isObject(result) && result instanceof Promise) {\n result.then(resolve).catch(reject);\n return;\n }\n\n resolve(result);\n\n } catch (e) {\n reject(e);\n }\n }, 0)\n\n });\n\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Observer);\nexport {Monster, Observer}\n\n\n\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {Observer} from \"./observer.js\";\nimport {validateInstance} from \"./validate.js\";\n\n/**\n * With the help of the ObserverList class, observer can be managed.\n *\n * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';\n * console.log(new Monster.Types.ObserverList())\n * console.log(new Monster.Types.ObserverList())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';\n * console.log(ObserverList())\n * console.log(ObserverList())\n * </script>\n * ```\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ObserverList extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.observers = [];\n }\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n attach(observer) {\n validateInstance(observer, Observer)\n\n this.observers.push(observer);\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n detach(observer) {\n validateInstance(observer, Observer)\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n this.observers.splice(i, 1);\n }\n }\n\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {boolean}\n * @throws {TypeError} value is not an instance of Observer\n */\n contains(observer) {\n validateInstance(observer, Observer)\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n return true;\n }\n }\n return false;\n };\n\n /**\n *\n * @param subject\n * @return {Promise}\n */\n notify(subject) {\n\n let pomises = []\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n pomises.push(this.observers[i].update(subject));\n }\n\n return Promise.all(pomises);\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', ObserverList);\nexport {Monster, ObserverList}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {validateObject} from \"./validate.js\";\nimport {ObserverList} from \"./observerlist.js\";\nimport {Observer} from \"./observer.js\";\nimport {isObject, isArray, isPrimitive} from \"./is.js\";\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * console.log(new Monster.Types.ProxyObserver())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * console.log(new ProxyObserver())\n * </script>\n * ```\n *\n * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.\n *\n * this also applies to nested objects.\n *\n * @example \n *\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * \n * const o = new Observer(function () { \n * if (isObject(this) && this instanceof ProxyObserver) {\n * // do something (this ist ProxyObserver)\n * const subject = this.getSubject();\n * console.log(subject);\n * }\n * });\n * \n * let realSubject = {\n * a: {\n * b: {\n * c: true\n * },\n * d: 9\n * }\n * }\n * \n * const p = new ProxyObserver(realSubject);\n * p.attachObserver(o);\n * const s = p.getSubject();\n * s.a.b.c = false;\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ProxyObserver extends Base {\n\n /**\n *\n * @param {object} object\n * @throws {TypeError} value is not a object\n */\n constructor(object) {\n super();\n validateObject(object);\n this.realSubject = object\n this.subject = new Proxy(object, getHandler.call(this));\n\n this.objectMap = new WeakMap();\n this.objectMap.set(this.realSubject, this.subject);\n\n this.observers = new ObserverList;\n }\n\n /**\n * get the real object\n *\n * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.\n *\n * @returns {object}\n */\n getSubject() {\n return this.subject\n }\n\n /**\n * get the proxied object\n *\n * @returns {object}\n */\n getRealSubject() {\n return this.realSubject\n }\n\n /**\n * attach a new observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n attachObserver(observer) {\n this.observers.attach(observer)\n return this;\n }\n\n /**\n * detach a observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n detachObserver(observer) {\n this.observers.detach(observer)\n return this;\n }\n\n /**\n * notify all observer\n *\n * @returns {Promise}\n */\n notifyObservers() {\n return this.observers.notify(this);\n }\n\n /**\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n containsObserver(observer) {\n return this.observers.contains(observer)\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ProxyObserver);\nexport {Monster, ProxyObserver}\n\n/**\n *\n * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}\n * @private\n * @see {@link https://gitlab.schukai.com/-/snippets/49}\n */\nfunction getHandler() {\n\n const proxy = this;\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots\n const handler = {\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n get: function (target, key, receiver) {\n\n const value = Reflect.get(target, key, receiver);\n\n if (typeof key === \"symbol\") {\n return value;\n }\n\n if (isPrimitive(value)) {\n return value;\n }\n\n // set value as proxy if object or array\n if ((isArray(value) || isObject(value))) {\n if (proxy.objectMap.has(value)) {\n return proxy.objectMap.get(value);\n } else {\n let p = new Proxy(value, handler);\n proxy.objectMap.set(value, p);\n return p;\n }\n\n }\n\n return value;\n\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver \n set: function (target, key, value, receiver) {\n const result = Reflect.set(target, key, value, receiver);\n if (typeof property !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p\n deleteProperty: function (target, key) {\n if (key in target) {\n delete target[key];\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return true;\n }\n return false;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc\n defineProperty: function (target, key, descriptor) {\n let result = Reflect.defineProperty(target, key, descriptor);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v\n setPrototypeOf: function (target, key) {\n let result = Reflect.setPrototypeOf(object1, key);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n }\n\n };\n\n\n return handler;\n}\n", - "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n * console.log(new Monster.Types.Queue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n * console.log(new Queue())\n * </script>\n * ```\n * \n * @example\n *\n * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n *\n * const queue = new Queue;\n *\n * queue.add(2);\n * queue.add(true);\n * queue.add(\"Hello\");\n * queue.add(4.5);\n *\n * console.log(queue.poll());\n * // ↦ 2\n * console.log(queue.poll());\n * // ↦ true\n * console.log(queue.poll());\n * // ↦ \"Hello\"\n * console.log(queue.poll());\n * // ↦ 4.5\n * console.log(queue.poll());\n * // ↦ undefined\n *\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Queue extends Base { \n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * Read the element at the front of the queue without removing it.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data[0];\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {*} value\n * @returns {Queue}\n */\n add(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {*}\n */\n poll() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.shift();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Queue);\nexport {Monster, Queue}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, ID} from \"./id.js\";\nimport {getGlobal} from \"./global.js\";\nimport {random} from \"../math/random.js\";\n\n/**\n * @private\n * @type {number}\n */\nlet internalCounter = 0;\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.RandomID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';\n * console.log(new Monster.Types.RandomID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';\n * console.log(new RandomID())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass RandomID extends ID {\n\n /**\n * create new object\n */\n constructor() {\n super();\n\n internalCounter += 1;\n\n this.id = getGlobal().btoa(random(1, 10000))\n .replace(/=/g, '')\n /** No numbers at the beginning of the ID, because of possible problems with DOM */\n .replace(/^[0-9]+/, 'X') + internalCounter;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', RandomID);\nexport {Monster, RandomID}\n", - "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';\n * console.log(new Monster.Types.Stack())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';\n * console.log(new Stack())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Stack extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * looks at the object at the top of this stack without removing it from the stack.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data?.[this.data.length - 1];\n }\n\n /**\n * pushes an item onto the top of this stack.\n *\n * @param {*} value\n * @returns {Queue}\n */\n push(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * removes the object at the top of this stack and returns\n * that object as the value of this function. is the stack empty\n * the return value is undefined.\n *\n * @return {*}\n */\n pop() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.pop();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Stack);\nexport {Monster, Stack}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {isString, isIterable} from '../types/is.js';\nimport {validateString, validateFunction} from '../types/validate.js';\n\n/**\n * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).\n *\n * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.\n *\n * You can call the method via the monster namespace `new Monster.Types.TokenList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';\n * console.log(new TokenList(\"myclass row\"))\n * console.log(new TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).\n *\n * ```\n * console.log(typeof new TokenList(\"myclass row\")[Symbol.iterator]); // \"function\"\n * ```\n *\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass TokenList extends Base {\n\n /**\n *\n * @param {array|string|iteratable} init\n */\n constructor(init) {\n super();\n this.tokens = new Set();\n\n if (typeof init !== \"undefined\") {\n this.add(init);\n }\n\n }\n\n /**\n * Iterator protocol\n *\n * @returns {Symbol.iterator}\n */\n getIterator() {\n return this[Symbol.iterator]();\n }\n\n /**\n * Iterator\n *\n * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}\n */\n [Symbol.iterator]() {\n // Use a new index for each iterator. This makes multiple\n // iterations over the iterable safe for non-trivial cases,\n // such as use of break or nested looping over the same iterable.\n let index = 0;\n let entries = this.entries()\n\n return {\n next: () => {\n if (index < entries.length) {\n return {value: entries?.[index++], done: false}\n } else {\n return {done: true}\n }\n }\n }\n }\n\n /**\n * Returns true if it contains token, otherwise false\n *\n * ```\n * new TokenList(\"start middle end\").contains('start')); // ↦ true\n * new TokenList(\"start middle end\").contains('end')); // ↦ true\n * new TokenList(\"start middle end\").contains('xyz')); // ↦ false\n * new TokenList(\"start middle end\").contains(['end','start','middle'])); // ↦ true\n * new TokenList(\"start middle end\").contains(['end','start','xyz'])); // ↦ false\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {boolean}\n */\n contains(value) {\n if (isString(value)) {\n value = value.trim()\n let counter = 0;\n value.split(\" \").forEach(token => {\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n })\n return counter > 0 ? true : false;\n }\n\n if (isIterable(value)) {\n let counter = 0;\n for (let token of value) {\n validateString(token);\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n }\n return counter > 0 ? true : false;\n }\n\n return false;\n }\n\n /**\n * add tokens\n *\n * ```\n * new TokenList().add(\"abc xyz\").toString(); // ↦ \"abc xyz\"\n * new TokenList().add([\"abc\",\"xyz\"]).toString(); // ↦ \"abc xyz\"\n * new TokenList().add(undefined); // ↦ add nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n add(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.add(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.add(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * remove all tokens\n *\n * @returns {TokenList}\n */\n clear() {\n this.tokens.clear();\n return this;\n }\n\n /**\n * Removes token\n *\n * ```\n * new TokenList(\"abc xyz\").remove(\"xyz\").toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove([\"xyz\"]).toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove(undefined); // ↦ remove nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n remove(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.delete(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.delete(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * this method replaces a token with a new token.\n *\n * if the passed token exists, it is replaced with newToken and TokenList is returned.\n * if the token does not exist, newToken is not set and TokenList is returned.\n *\n * @param {string} token\n * @param {string} newToken\n * @returns {TokenList}\n */\n replace(token, newToken) {\n validateString(token);\n validateString(newToken);\n if (!this.contains(token)) {\n return this;\n }\n\n let a = Array.from(this.tokens)\n let i = a.indexOf(token);\n if (i === -1) return this;\n\n a.splice(i, 1, newToken);\n this.tokens = new Set();\n this.add(a);\n\n return this;\n\n\n }\n\n /**\n * Removes token from string. If token doesn't exist it's added.\n * \n * ```\n * new TokenList(\"abc def ghi\").toggle(\"def xyz\").toString(); // ↦ \"abc ghi xyz\"\n * new TokenList(\"abc def ghi\").toggle([\"abc\",\"xyz\"]).toString(); // ↦ \"def ghi xyz\"\n * new TokenList().toggle(undefined); // ↦ nothing\n * ```\n * \n * @param {array|string|iteratable} value\n * @returns {boolean}\n * @throws {TypeError} unsupported value\n */\n toggle(value) {\n\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n toggleValue.call(this, token);\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n toggleValue.call(this, token);\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n\n }\n\n /**\n * returns an array with all tokens\n *\n * @returns {array}\n */\n entries() {\n return Array.from(this.tokens)\n }\n\n /**\n * executes the provided function with each value of the set\n *\n * @param {function} callback\n * @returns {TokenList}\n */\n forEach(callback) {\n validateFunction(callback);\n this.tokens.forEach(callback);\n return this;\n }\n\n /**\n * returns the individual tokens separated by a blank character\n *\n * @returns {string}\n */\n toString() {\n return this.entries().join(' ');\n }\n\n}\n\n/**\n * @private\n * @param token\n * @returns {toggleValue}\n * @throws {Error} must be called with TokenList.call\n */\nfunction toggleValue(token) {\n if (!(this instanceof TokenList)) throw Error(\"must be called with TokenList.call\")\n validateString(token);\n token = token.trim();\n if (this.contains(token)) {\n this.remove(token);\n return this;\n }\n this.add(token);\n return this;\n}\n\nMonster.assignToNamespace('Monster.Types', TokenList);\nexport {Monster, TokenList}\n", - "import {Monster, Queue} from \"./queue.js\";\nimport {validateObject} from \"./validate.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';\n * console.log(new Monster.Types.UniqueQueue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';\n * console.log(new UniqueQueue())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass UniqueQueue extends Queue {\n\n /**\n *\n */\n constructor() {\n super();\n this.unique = new WeakSet();\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {object} value\n * @returns {Queue}\n * @throws {TypeError} value is not a object\n */\n add(value) {\n \n validateObject(value);\n \n if (!this.unique.has(value)) {\n this.unique.add(value);\n super.add(value);\n }\n \n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n super.clear();\n this.unique = new WeakSet;\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {object}\n */\n poll() {\n\n if (this.isEmpty()) {\n return undefined;\n }\n let value = this.data.shift();\n this.unique.delete(value);\n return value;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', UniqueQueue);\nexport {Monster, UniqueQueue}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {\n isPrimitive,\n isBoolean,\n isString,\n isObject,\n isArray,\n isFunction,\n isIterable,\n isInstance,\n isInteger\n} from './is.js';\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError\n * console.log(Monster.Types.validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateIterable('2')) // ↦ TypeError\n * console.log(validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validateIterable(value) {\n if (!isIterable(value)) {\n throw new TypeError('value is not iterable')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined\n * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validatePrimitive('2')) // ↦ undefined\n * console.log(validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validatePrimitive(value) {\n if (!isPrimitive(value)) {\n throw new TypeError('value is not a primitive')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined\n * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError\n * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateBoolean(false)) // ↦ undefined\n * console.log(validateBoolean('2')) // ↦ TypeError\n * console.log(validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n\n * @throws {TypeError} value is not primitive\n */\nfunction validateBoolean(value) {\n if (!isBoolean(value)) {\n throw new TypeError('value is not a boolean')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateString('2')) // ↦ undefined\n * console.log(Monster.Types.validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateString('2')) // ↦ undefined\n * console.log(validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a string\n */\nfunction validateString(value) {\n if (!isString(value)) {\n throw new TypeError('value is not a string')\n }\n return value\n}\n\n\n/**\n * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateObject({})) // ↦ undefined\n * console.log(Monster.Types.validateObject('2')) // ↦ TypeError\n * console.log(Monster.Types.validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateObject({})) // ↦ undefined\n * console.log(validateObject('2')) // ↦ TypeError\n * console.log(validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a object\n */\nfunction validateObject(value) {\n if (!isObject(value)) {\n throw new TypeError('value is not a object')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the object instance.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined\n * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError\n * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateInstance({}, Object)) // ↦ undefined\n * console.log(validateInstance('2', Object)) // ↦ TypeError\n * console.log(validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an instance of\n */\nfunction validateInstance(value, instance) {\n if (!isInstance(value, instance)) {\n let n = \"\";\n if (isObject(instance) || isFunction(instance)) {\n n = instance?.['name']\n }\n\n if (n) {\n n = \" \" + n;\n }\n\n throw new TypeError('value is not an instance of' + n)\n }\n return value\n}\n\n/**\n * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateArray('2')) // ↦ TypeError\n * console.log(Monster.Types.validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateArray('2')) // ↦ TypeError\n * console.log(validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an array\n */\nfunction validateArray(value) {\n if (!isArray(value)) {\n throw new TypeError('value is not an array')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined\n * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError\n * console.log(Monster.Types.validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateFunction(()=>{})) // ↦ undefined\n * console.log(validateFunction('2')) // ↦ TypeError\n * console.log(validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a function\n */\nfunction validateFunction(value) {\n if (!isFunction(value)) {\n throw new TypeError('value is not a function')\n }\n return value\n}\n\n/**\n * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInteger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError\n * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError\n * console.log(Monster.Types.validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateInteger(true)) // ↦ TypeError\n * console.log(validateInteger('2')) // ↦ TypeError\n * console.log(validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an integer\n */\nfunction validateInteger(value) {\n if (!isInteger(value)) {\n throw new TypeError('value is not an integer')\n }\n return value\n}\n\nMonster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);\nexport {\n Monster,\n validatePrimitive,\n validateBoolean,\n validateString,\n validateObject,\n validateInstance,\n validateArray,\n validateFunction,\n validateIterable,\n validateInteger\n}\n", - "'use strict';\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\n\n/**\n * The version object contains a sematic version number\n *\n * You can create the object via the monster namespace `new Monster.Types.Version()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this class individually.\n *\n * ```\n * <script type=\"module\">\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(new Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * @example\n *\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n *\n * new Version('1.0.0') // ↦ 1.0.0\n * new Version(1) // ↦ 1.0.0\n * new Version(1, 0, 0) // ↦ 1.0.0\n * new Version('1.2.3', 4, 5) // ↦ 1.4.5\n *\n * @since 1.0.0\n * @author schukai GmbH\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Version extends Base {\n\n /**\n *\n * @param major\n * @param minor\n * @param patch\n * @throws {Error} major is not a number\n * @throws {Error} minor is not a number\n * @throws {Error} patch is not a number\n */\n constructor(major, minor, patch) {\n super();\n\n if (typeof major === 'string' && minor === undefined && patch === undefined) {\n\n let parts = major.toString().split('.');\n major = parseInt(parts[0] || 0);\n minor = parseInt(parts[1] || 0);\n patch = parseInt(parts[2] || 0);\n }\n\n if (major === undefined) {\n throw new Error(\"major version is undefined\");\n }\n\n if (minor === undefined) {\n minor = 0;\n }\n\n if (patch === undefined) {\n patch = 0;\n }\n\n this.major = parseInt(major);\n this.minor = parseInt(minor);\n this.patch = parseInt(patch);\n\n if (isNaN(this.major)) {\n throw new Error(\"major is not a number\");\n }\n\n if (isNaN(this.minor)) {\n throw new Error(\"minor is not a number\");\n }\n\n if (isNaN(this.patch)) {\n throw new Error(\"patch is not a number\");\n }\n\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.major + '.' + this.minor + '.' + this.patch;\n }\n\n /**\n * returns 0 if equal, -1 if the object version is less and 1 if greater\n * then the compared version\n *\n * @param {string|Version} version Version to compare\n * @returns {number}\n */\n compareTo(version) {\n\n if (version instanceof Version) {\n version = version.toString();\n }\n\n if (typeof version !== 'string') {\n throw new Error(\"type exception\");\n }\n\n if (version === this.toString()) {\n return 0;\n }\n\n let a = [this.major, this.minor, this.patch];\n let b = version.split('.');\n let len = Math.max(a.length, b.length);\n\n for (let i = 0; i < len; i += 1) {\n if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {\n return 1;\n } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) {\n return -1;\n }\n }\n\n return 0;\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Version);\n\n\nlet monsterVersion;\n\n/**\n * Version of monster\n *\n * you can call the method via the monster namespace `Monster.getVersion()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(Monster.getVersion())\n * console.log(Monster.getVersion())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(getVersion())\n * console.log(getVersion())\n * </script>\n * ```\n *\n * @returns {Monster.Types.Version}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @author schukai GmbH\n * @memberOf Monster\n */\nfunction getVersion() {\n if (monsterVersion instanceof Version) {\n return monsterVersion;\n }\n /**#@+ dont touch, replaced by make with package.json version */\n monsterVersion = new Version('1.8.0')\n /**#@-*/\n return monsterVersion;\n\n}\n\nMonster.assignToNamespace('Monster', getVersion);\nexport {Monster, Version, getVersion}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isFunction, isPrimitive, isArray} from '../types/is.js';\nimport {getGlobal} from '../types/global.js';\n\n\n/**\n * With this function, objects can be cloned.\n * The entire object tree is run through.\n *\n * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.\n * Global objects such as windows are also not cloned,\n *\n * If an object has a method `getClone()`, this method is used to create the clone.\n *\n * You can call the method via the monster namespace `Monster.Util.clone()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';\n * console.log(Monster.Util.clone({}))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';\n * console.log(clone({}))\n * </script>\n * ```\n *\n * @param {*} obj object to be cloned\n * @returns {*}\n *\n * @since 1.0.0\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {Error} unable to clone obj! its type isn't supported.\n */\nfunction clone(obj) {\n\n // typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html\n if (null === obj) {\n return obj;\n }\n\n // Handle the two simple types, null and undefined\n if (isPrimitive(obj)) {\n return obj;\n }\n \n // Handle the two simple types, null and undefined\n if (isFunction(obj)) {\n return obj;\n }\n\n // Handle Array\n if (isArray(obj)) {\n let copy = [];\n for (var i = 0, len = obj.length; i < len; i++) {\n copy[i] = clone(obj[i]);\n }\n\n return copy;\n }\n\n if (isObject(obj)) {\n\n\n // Handle Date\n if (obj instanceof Date) {\n let copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n\n /** Do not clone DOM nodes */\n if (typeof Element !== 'undefined' && obj instanceof Element) return obj;\n if (typeof HTMLDocument !== 'undefined' && obj instanceof HTMLDocument) return obj;\n if (typeof DocumentFragment !== 'undefined' && obj instanceof DocumentFragment) return obj;\n\n /** Do not clone global objects */\n if (obj === getGlobal()) return obj;\n if (typeof globalContext !== 'undefined' && obj === globalContext) return obj;\n if (typeof window !== 'undefined' && obj === window) return obj;\n if (typeof document !== 'undefined' && obj === document) return obj;\n if (typeof navigator !== 'undefined' && obj === navigator) return obj;\n if (typeof JSON !== 'undefined' && obj === JSON) return obj;\n\n // Handle Proxy-Object\n try {\n // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check\n if (obj instanceof Proxy) {\n return obj;\n }\n } catch (e) {\n }\n\n return cloneObject(obj)\n\n }\n\n throw new Error(\"unable to clone obj! its type isn't supported.\");\n}\n\n/**\n *\n * @param {object} obj\n * @returns {object}\n * @private\n */\nfunction cloneObject(obj) {\n var copy;\n\n /** Object has clone method */\n if (typeof obj.hasOwnProperty('getClone') && obj.getClone === 'function') {\n return obj.getClone();\n }\n\n copy = {};\n if (typeof obj.constructor === 'function' &&\n typeof obj.constructor.call === 'function') {\n copy = new obj.constructor();\n }\n\n for (let key in obj) {\n\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n\n if (Monster.Types.isPrimitive(obj[key])) {\n copy[key] = obj[key];\n continue;\n }\n\n copy[key] = clone(obj[key]);\n }\n\n return copy;\n}\n\nMonster.assignToNamespace('Monster.Util', clone);\nexport {Monster, clone}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {isFunction} from '../types/is.js';\n\n/**\n * The comparator allows a comparison function to be abstracted.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n * console.log(new Monster.Util.Comparator())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n * console.log(new Comparator())\n * </script>\n * ```\n *\n * The following are some examples of the application of the class.\n *\n * ```\n * new Comparator().lessThanOrEqual(2, 5) // ↦ true\n * new Comparator().greaterThan(4, 2) // ↦ true\n * new Comparator().equal(4, 4) // ↦ true\n * new Comparator().equal(4, 5) // ↦ false\n * ```\n *\n * You can also pass your own comparison function, and thus define the comparison function.\n *\n * ```\n * new Comparator(function (a, b) {\n * if (a.v === b.v) return 0;\n * return a.v < b.v ? -1 : 1;\n * }).equal({v: 2}, {v: 2}); // ↦ true\n * ```\n * \n * @example\n *\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n *\n * console.log(new Comparator().lessThanOrEqual(2, 5))\n * // ↦ true\n * console.log(new Comparator().greaterThan(4, 2))\n * // ↦ true\n * console.log(new Comparator().equal(4, 4))\n * // ↦ true\n * console.log(new Comparator().equal(4, 5))\n * // ↦ false\n *\n * @since 1.3.0\n * @memberOf Monster/Util\n */\nclass Comparator extends Base {\n\n /**\n * create new comparator\n *\n * @param {function} callback\n * @throw {TypeError} \"unsupported type\"\n * @throw {TypeError} \"impractical comparison\"\n */\n constructor(callback) {\n super();\n\n if (isFunction(callback)) {\n this.compare = callback\n } else if (callback !== undefined) {\n throw new TypeError(\"unsupported type\")\n } else {\n // default compare function\n this.compare = function (a, b) {\n\n if (typeof a !== typeof b) {\n throw new TypeError(\"impractical comparison\")\n }\n\n if (a === b) {\n return 0;\n }\n return a < b ? -1 : 1;\n };\n }\n\n }\n\n /**\n * changes the order of the operators\n *\n * @return {Comparator}\n */\n reverse() {\n const original = this.compare;\n this.compare = (a, b) => original(b, a);\n return this;\n }\n\n /**\n * Checks if two variables are equal.\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n equal(a, b) {\n return this.compare(a, b) === 0;\n }\n\n\n /**\n * Checks if variable `a` is greater than `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThan(a, b) {\n return this.compare(a, b) > 0;\n }\n\n /**\n * Checks if variable `a` is greater than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThanOrEqual(a, b) {\n return this.greaterThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable `a` is less than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThanOrEqual(a, b) {\n return this.lessThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable a is less than b\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThan(a, b) {\n return this.compare(a, b) < 0;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Util', Comparator);\nexport {Monster, Comparator}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateObject} from '../types/validate.js';\n\n/**\n * Deep freeze a object\n *\n * You can call the method via the monster namespace `Monster.Util.deepFreeze()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';\n * console.log(Monster.Util.deepFreeze({})) \n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';\n * console.log(deepFreeze({})) \n * </script>\n * ```\n *\n * @param {object} obj object to be freeze\n * @since 1.0.0\n * @returns {object}\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {TypeError} value is not a object\n */\nfunction deepFreeze(object) {\n \n validateObject(object)\n\n // Retrieve the defined property names of the object\n var propNames = Object.getOwnPropertyNames(object);\n\n // Freeze properties before freezing yourself\n for (let name of propNames) {\n let value = object[name];\n\n object[name] = value && typeof value === \"object\" ?\n deepFreeze(value) : value;\n }\n\n return Object.freeze(object);\n}\n\nMonster.assignToNamespace('Monster.Util', deepFreeze);\nexport {Monster, deepFreeze}\n" + "'use strict';\n\n/**\n * @namespace Monster\n * @author schukai GmbH\n */\n\n\n/**\n * namespace class objects form the basic framework of the namespace administration.\n *\n * all functions, classes and objects of the library hang within the namespace tree.\n *\n * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace.\n *\n * @memberOf Monster\n * @copyright schukai GmbH\n * @since 1.0.0\n */\nclass Namespace {\n\n /**\n *\n * @param namespace\n * @param obj\n */\n constructor(namespace) {\n if (namespace === undefined || typeof namespace !== 'string') {\n throw new Error(\"namespace is not a string\")\n }\n this.namespace = namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n getNamespace() {\n return this.namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.getNamespace();\n }\n}\n\n/**\n * @type {Namespace}\n * @global\n */\nexport const Monster = new Namespace(\"Monster\");\n\n\n/**\n *\n */\nassignToNamespace('Monster', assignToNamespace);\n\n/**\n * To expand monster, the `Monster.assignToNamespace()` method can be used. \n *\n * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.\n * \n * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/namespace.js';\n * function hello() {\n * console.log('Hello World!');\n * }\n * Monster.assignToNamespace(\"Monster.X\",hello)\n * Monster.X.hello(); // ↦ Hello World!\n * </script>\n * \n * ```\n *\n * @param ns\n * @param obj\n * @memberOf Monster\n \n */\nfunction assignToNamespace(ns, ...obj) {\n let current = namespaceFor(ns.split(\".\"));\n\n for (let i = 0, l = obj.length; i < l; i++) {\n current[objectName(obj[i])] = obj[i];\n }\n}\n\n/**\n *\n * @param fn\n * @returns {string|*}\n * @private\n */\nfunction objectName(fn) {\n try {\n\n if (typeof fn !== 'function') {\n throw new Error(\"the first argument is not a function or class.\");\n }\n\n if (fn.hasOwnProperty('name')) {\n return fn.name;\n }\n\n if (\"function\" === typeof fn.toString) {\n let s = fn.toString();\n let f = s.match(/^\\s*function\\s+([^\\s(]+)/);\n if (Array.isArray(f) && typeof f[1] === 'string') {\n return f[1];\n }\n let c = s.match(/^\\s*class\\s+([^\\s(]+)/);\n if (Array.isArray(c) && typeof c[1] === 'string') {\n return c[1];\n }\n }\n\n } catch (e) {\n throw new Error(\"exception \" + e);\n }\n\n throw new Error(\"the name of the class or function cannot be resolved.\");\n}\n\n/**\n *\n * @param parts\n * @returns {Namespace}\n * @private\n */\nfunction namespaceFor(parts) {\n var space = Monster, ns = 'Monster';\n\n for (let i = 0; i < parts.length; i++) {\n\n if (\"Monster\" === parts[i]) {\n continue;\n }\n\n ns += '.' + parts[i];\n\n if (!space.hasOwnProperty(parts[i])) {\n space[parts[i]] = new Namespace(ns);\n }\n\n space = space[parts[i]];\n }\n\n return space;\n}\n\n\nexport {assignToNamespace}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n\n/**\n * This is the base class from which all monster classes are derived.\n *\n * You can call the method via the monster namespace `new Monster.Types.Base()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/base.js';\n * console.log(new Monster.Types.Base())\n * console.log(new Monster.Types.Base())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/base.js';\n * console.log(new Base())\n * console.log(new Base())\n * </script>\n * ```\n *\n * The class was formerly called Object.\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Base extends Object {\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this);\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Base);\nexport {Monster, Base}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateFunction, validateString, validateObject} from \"./validate.js\";\n\n/**\n * @type {objec}\n * @private\n */\nvar globalReference;\n\n/**\n * @private\n */\n(function () {\n if (typeof globalThis === 'object') {\n globalReference = globalThis;\n return;\n }\n\n Object.defineProperty(Object.prototype, '__monster__', {\n get: function () {\n return this;\n },\n configurable: true\n });\n\n __monster__.globalThis = __monster__;\n delete Object.prototype.__monster__;\n\n globalReference = globalThis;\n\n}());\n\n/**\n * Return globalThis\n *\n * If globalThis is not available, it will be polyfilled\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @returns {objec} globalThis\n */\nfunction getGlobal() {\n return globalReference;\n}\n\n/**\n * Return global object or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js';\n * console.log(getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {Error} the object is not defined\n * @throws {TypeError} value is not a object\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalObject(name) {\n validateString(name);\n let o = globalReference?.[name];\n if (typeof o === 'undefined') throw new Error('the object ' + name + ' is not defined');\n validateObject(o);\n return o;\n}\n\n/**\n * Return global function or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js';\n * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalFunction(name) {\n validateString(name);\n let f = globalReference?.[name];\n if (typeof f === 'undefined') throw new Error('the function ' + name + ' is not defined');\n validateFunction(f);\n return f;\n}\n\n\nMonster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);\nexport {Monster, getGlobal, getGlobalObject, getGlobalFunction}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from './base.js';\nimport {validateString} from \"./validate.js\";\n\n/**\n * @private\n * @type {Map<string, integer>}\n */\nlet internalCounter = new Map;\n\n/**\n * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.\n * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.\n * The ids are the same for every call, for example on a web page.\n *\n * So the ids can also be used for navigation. you just have to take care that the order stays the same.\n *\n * You can call the method via the monster namespace `new Monster.Types.ID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/id.js';\n * console.log(new Monster.Types.ID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/id.js';\n * console.log(new ID())\n * </script>\n * ```\n *\n * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ID extends Base {\n\n /**\n * create new object\n */\n constructor(prefix) {\n super();\n\n if (prefix === undefined) {\n prefix = \"id\";\n }\n\n validateString(prefix);\n\n if (!internalCounter.has(prefix)) {\n internalCounter.set(prefix, 1);\n }\n\n let count = internalCounter.get(prefix);\n this.id = prefix + count;\n\n internalCounter.set(prefix, ++count);\n }\n\n /**\n * @return {string}\n */\n toString() {\n return this.id;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ID);\nexport {Monster, ID}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n/**\n * With this function you can check if a value is iterable\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isIterable(null)) // ↦ false\n * console.log(Monster.Types.isIterable('hello')) // ↦ true\n * console.log(Monster.Types.isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isIterable(null)) // ↦ false\n * console.log(isIterable('hello')) // ↦ true\n * console.log(isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isIterable(value) {\n if (value === undefined) return false;\n if (value === null) return false;\n return typeof value?.[Symbol.iterator] === 'function';\n}\n\n\n/**\n * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isPrimitive('2')) // ↦ false\n * console.log(Monster.Types.isPrimitive([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isPrimitive('2')) // ↦ true\n * console.log(isPrimitive([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isPrimitive(value) {\n var type;\n\n if (value === undefined || value === null || value === NaN) {\n return true;\n }\n\n type = typeof value;\n\n if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks whether the value passed is a boolean\n *\n * You can call the method via the monster namespace `Monster.Types.isBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isBoolean('2')) // ↦ false\n * console.log(Monster.Types.isBoolean([])) // ↦ false\n * console.log(Monster.Types.isBoolean(true)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isBoolean('2')) // ↦ false\n * console.log(isBoolean([])) // ↦ false\n * console.log(isBoolean(2>4)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isBoolean(value) {\n\n if (value === true || value === false) {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a string\n *\n * you can call the method via the monster namespace `Monster.Types.isString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isString('2')) // ↦ true\n * console.log(Monster.Types.isString([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isString('2')) // ↦ true\n * console.log(isString([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isString(value) {\n if (value === undefined || typeof value !== 'string') {\n return false;\n }\n return true;\n}\n\n/**\n * checks whether the value passed is a object\n *\n * you can call the method via the monster namespace `Monster.Types.isObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isObject('2')) // ↦ false\n * console.log(Monster.Types.isObject([])) // ↦ false\n * console.log(Monster.Types.isObject({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isObject('2')) // ↦ false\n * console.log(isObject([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isObject(value) {\n\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'object') {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a object and instance of instance\n *\n * you can call the method via the monster namespace `Monster.Types.isInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInstance('2')) // ↦ false\n * console.log(Monster.Types.isInstance([])) // ↦ false\n * console.log(Monster.Types.isInstance({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isInstance('2')) // ↦ false\n * console.log(isInstance([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @param {*} instance\n * @returns {boolean}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInstance(value, instance) {\n\n if (!isObject(value)) return false;\n if (!isFunction(instance)) return false;\n if (!instance.hasOwnProperty('prototype')) return false;\n return (value instanceof instance) ? true : false;\n\n}\n\n/**\n * checks whether the value passed is a array\n *\n * you can call the method via the monster namespace `Monster.Types.isArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isArray('2')) // ↦ false\n * console.log(Monster.Types.isArray([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isArray('2')) // ↦ false\n * console.log(isArray([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isArray(value) {\n if (Array.isArray(value)) {\n return true;\n }\n return false;\n}\n\n/**\n * checks whether the value passed is a function\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isFunction(()=>{})) // ↦ true\n * console.log(Monster.Types.isFunction('2')) // ↦ false\n * console.log(Monster.Types.isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isFunction(()=>{})) // ↦ true\n * console.log(isFunction('2')) // ↦ false\n * console.log(isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isFunction(value) {\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'function') {\n return true;\n }\n\n return false;\n\n}\n\n/**\n * checks whether the value passed is an integer\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInteger(()=>{})) // ↦ true\n * console.log(Monster.Types.isInteger('2')) // ↦ false\n * console.log(Monster.Types.isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * console.log(isInteger(()=>{})) // ↦ true\n * console.log(isInteger('2')) // ↦ false\n * console.log(isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInteger(value) {\n return Number.isInteger(value);\n}\n\n\nMonster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);\nexport {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {TokenList} from './tokenlist.js';\nimport {isObject} from './is.js';\nimport {Base} from './base.js';\nimport {UniqueQueue} from './uniquequeue.js';\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.Observer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js';\n * console.log(new Monster.Types.Observer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js';\n * console.log(new Observer())\n * </script>\n * ```\n *\n * The update method is called with the subject object as this pointer. For this reason the callback should not\n * be an arrow function, because it gets the this pointer of its own context.\n *\n * ```\n * <script>\n * new Observer(()=>{\n * // this is not subject\n * })\n *\n * new Observer(function() {\n * // this is subject\n * })\n * </script>\n * ```\n *\n * Additional arguments can be passed to the callback. To do this, simply specify them.\n *\n * ```\n * <script>\n * Observer(function(a, b, c) {\n * console.log(a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true)\n * </script>\n * ```\n *\n * The callback function must have as many parameters as arguments are given.\n *\n * @example\n *\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js';\n *\n * const observer = new Observer(function(a, b, c) {\n * console.log(this, a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true);\n *\n * observer.update({value:true}).then(()=>{});\n * // ↦ {value: true} \"a\" 2 true\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Observer extends Base {\n\n /**\n *\n * @param {function} callback\n * @param {*} args\n */\n constructor(callback, ...args) {\n super();\n\n if (typeof callback !== 'function') {\n throw new Error(\"observer callback must be a function\")\n }\n\n this.callback = callback;\n this.arguments = args;\n this.tags = new TokenList;\n this.queue = new UniqueQueue();\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n addTag(tag) {\n this.tags.add(tag);\n return this;\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n removeTag(tag) {\n this.tags.remove(tag);\n return this;\n }\n\n /**\n *\n * @returns {Array}\n */\n getTags() {\n return this.tags.entries()\n }\n\n /**\n *\n * @param {string} tag\n * @returns {boolean}\n */\n hasTag(tag) {\n return this.tags.contains(tag)\n }\n\n /**\n *\n * @param {object} subject\n * @returns {Promise}\n */\n update(subject) {\n let self = this;\n\n return new Promise(function (resolve, reject) {\n if (!isObject(subject)) {\n reject(\"subject must be an object\");\n return;\n }\n\n self.queue.add(subject);\n\n setTimeout(() => {\n\n try {\n // the queue and the settimeout ensure that an object is not \n // informed of the same change more than once.\n if (self.queue.isEmpty()) {\n resolve();\n return;\n }\n\n let s = self.queue.poll();\n let result = self.callback.apply(s, self.arguments);\n\n if (isObject(result) && result instanceof Promise) {\n result.then(resolve).catch(reject);\n return;\n }\n\n resolve(result);\n\n } catch (e) {\n reject(e);\n }\n }, 0)\n\n });\n\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Observer);\nexport {Monster, Observer}\n\n\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {Observer} from \"./observer.js\";\nimport {validateInstance} from \"./validate.js\";\n\n/**\n * With the help of the ObserverList class, observer can be managed.\n *\n * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observerlist.js';\n * console.log(new Monster.Types.ObserverList())\n * console.log(new Monster.Types.ObserverList())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observerlist.js';\n * console.log(ObserverList())\n * console.log(ObserverList())\n * </script>\n * ```\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ObserverList extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.observers = [];\n }\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n attach(observer) {\n validateInstance(observer, Observer)\n\n this.observers.push(observer);\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n detach(observer) {\n validateInstance(observer, Observer)\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n this.observers.splice(i, 1);\n }\n }\n\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {boolean}\n * @throws {TypeError} value is not an instance of Observer\n */\n contains(observer) {\n validateInstance(observer, Observer)\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n return true;\n }\n }\n return false;\n };\n\n /**\n *\n * @param subject\n * @return {Promise}\n */\n notify(subject) {\n\n let pomises = []\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n pomises.push(this.observers[i].update(subject));\n }\n\n return Promise.all(pomises);\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', ObserverList);\nexport {Monster, ObserverList}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {validateObject} from \"./validate.js\";\nimport {ObserverList} from \"./observerlist.js\";\nimport {Observer} from \"./observer.js\";\nimport {isObject, isArray, isPrimitive} from \"./is.js\";\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js';\n * console.log(new Monster.Types.ProxyObserver())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js';\n * console.log(new ProxyObserver())\n * </script>\n * ```\n *\n * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.\n *\n * this also applies to nested objects.\n *\n * @example \n *\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js';\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js';\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js';\n * \n * const o = new Observer(function () { \n * if (isObject(this) && this instanceof ProxyObserver) {\n * // do something (this ist ProxyObserver)\n * const subject = this.getSubject();\n * console.log(subject);\n * }\n * });\n * \n * let realSubject = {\n * a: {\n * b: {\n * c: true\n * },\n * d: 9\n * }\n * }\n * \n * const p = new ProxyObserver(realSubject);\n * p.attachObserver(o);\n * const s = p.getSubject();\n * s.a.b.c = false;\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ProxyObserver extends Base {\n\n /**\n *\n * @param {object} object\n * @throws {TypeError} value is not a object\n */\n constructor(object) {\n super();\n validateObject(object);\n this.realSubject = object\n this.subject = new Proxy(object, getHandler.call(this));\n\n this.objectMap = new WeakMap();\n this.objectMap.set(this.realSubject, this.subject);\n\n this.observers = new ObserverList;\n }\n\n /**\n * get the real object\n *\n * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.\n *\n * @returns {object}\n */\n getSubject() {\n return this.subject\n }\n\n /**\n * get the proxied object\n *\n * @returns {object}\n */\n getRealSubject() {\n return this.realSubject\n }\n\n /**\n * attach a new observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n attachObserver(observer) {\n this.observers.attach(observer)\n return this;\n }\n\n /**\n * detach a observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n detachObserver(observer) {\n this.observers.detach(observer)\n return this;\n }\n\n /**\n * notify all observer\n *\n * @returns {Promise}\n */\n notifyObservers() {\n return this.observers.notify(this);\n }\n\n /**\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n containsObserver(observer) {\n return this.observers.contains(observer)\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ProxyObserver);\nexport {Monster, ProxyObserver}\n\n/**\n *\n * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}\n * @private\n * @see {@link https://gitlab.schukai.com/-/snippets/49}\n */\nfunction getHandler() {\n\n const proxy = this;\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots\n const handler = {\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n get: function (target, key, receiver) {\n\n const value = Reflect.get(target, key, receiver);\n\n if (typeof key === \"symbol\") {\n return value;\n }\n\n if (isPrimitive(value)) {\n return value;\n }\n\n // set value as proxy if object or array\n if ((isArray(value) || isObject(value))) {\n if (proxy.objectMap.has(value)) {\n return proxy.objectMap.get(value);\n } else {\n let p = new Proxy(value, handler);\n proxy.objectMap.set(value, p);\n return p;\n }\n\n }\n\n return value;\n\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver \n set: function (target, key, value, receiver) {\n const result = Reflect.set(target, key, value, receiver);\n if (typeof property !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p\n deleteProperty: function (target, key) {\n if (key in target) {\n delete target[key];\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return true;\n }\n return false;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc\n defineProperty: function (target, key, descriptor) {\n let result = Reflect.defineProperty(target, key, descriptor);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v\n setPrototypeOf: function (target, key) {\n let result = Reflect.setPrototypeOf(object1, key);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n }\n\n };\n\n\n return handler;\n}\n", + "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js';\n * console.log(new Monster.Types.Queue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js';\n * console.log(new Queue())\n * </script>\n * ```\n * \n * @example\n *\n * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js';\n *\n * const queue = new Queue;\n *\n * queue.add(2);\n * queue.add(true);\n * queue.add(\"Hello\");\n * queue.add(4.5);\n *\n * console.log(queue.poll());\n * // ↦ 2\n * console.log(queue.poll());\n * // ↦ true\n * console.log(queue.poll());\n * // ↦ \"Hello\"\n * console.log(queue.poll());\n * // ↦ 4.5\n * console.log(queue.poll());\n * // ↦ undefined\n *\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Queue extends Base { \n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * Read the element at the front of the queue without removing it.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data[0];\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {*} value\n * @returns {Queue}\n */\n add(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {*}\n */\n poll() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.shift();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Queue);\nexport {Monster, Queue}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, ID} from \"./id.js\";\nimport {getGlobal} from \"./global.js\";\nimport {random} from \"../math/random.js\";\n\n/**\n * @private\n * @type {number}\n */\nlet internalCounter = 0;\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.RandomID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/randomid.js';\n * console.log(new Monster.Types.RandomID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/randomid.js';\n * console.log(new RandomID())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass RandomID extends ID {\n\n /**\n * create new object\n */\n constructor() {\n super();\n\n internalCounter += 1;\n\n this.id = getGlobal().btoa(random(1, 10000))\n .replace(/=/g, '')\n /** No numbers at the beginning of the ID, because of possible problems with DOM */\n .replace(/^[0-9]+/, 'X') + internalCounter;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', RandomID);\nexport {Monster, RandomID}\n", + "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/stack.js';\n * console.log(new Monster.Types.Stack())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/stack.js';\n * console.log(new Stack())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Stack extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * looks at the object at the top of this stack without removing it from the stack.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data?.[this.data.length - 1];\n }\n\n /**\n * pushes an item onto the top of this stack.\n *\n * @param {*} value\n * @returns {Queue}\n */\n push(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * removes the object at the top of this stack and returns\n * that object as the value of this function. is the stack empty\n * the return value is undefined.\n *\n * @return {*}\n */\n pop() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.pop();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Stack);\nexport {Monster, Stack}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {isString, isIterable} from '../types/is.js';\nimport {validateString, validateFunction} from '../types/validate.js';\n\n/**\n * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).\n *\n * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.\n *\n * You can call the method via the monster namespace `new Monster.Types.TokenList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/tokenlist.js';\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/tokenlist.js';\n * console.log(new TokenList(\"myclass row\"))\n * console.log(new TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).\n *\n * ```\n * console.log(typeof new TokenList(\"myclass row\")[Symbol.iterator]); // \"function\"\n * ```\n *\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass TokenList extends Base {\n\n /**\n *\n * @param {array|string|iteratable} init\n */\n constructor(init) {\n super();\n this.tokens = new Set();\n\n if (typeof init !== \"undefined\") {\n this.add(init);\n }\n\n }\n\n /**\n * Iterator protocol\n *\n * @returns {Symbol.iterator}\n */\n getIterator() {\n return this[Symbol.iterator]();\n }\n\n /**\n * Iterator\n *\n * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}\n */\n [Symbol.iterator]() {\n // Use a new index for each iterator. This makes multiple\n // iterations over the iterable safe for non-trivial cases,\n // such as use of break or nested looping over the same iterable.\n let index = 0;\n let entries = this.entries()\n\n return {\n next: () => {\n if (index < entries.length) {\n return {value: entries?.[index++], done: false}\n } else {\n return {done: true}\n }\n }\n }\n }\n\n /**\n * Returns true if it contains token, otherwise false\n *\n * ```\n * new TokenList(\"start middle end\").contains('start')); // ↦ true\n * new TokenList(\"start middle end\").contains('end')); // ↦ true\n * new TokenList(\"start middle end\").contains('xyz')); // ↦ false\n * new TokenList(\"start middle end\").contains(['end','start','middle'])); // ↦ true\n * new TokenList(\"start middle end\").contains(['end','start','xyz'])); // ↦ false\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {boolean}\n */\n contains(value) {\n if (isString(value)) {\n value = value.trim()\n let counter = 0;\n value.split(\" \").forEach(token => {\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n })\n return counter > 0 ? true : false;\n }\n\n if (isIterable(value)) {\n let counter = 0;\n for (let token of value) {\n validateString(token);\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n }\n return counter > 0 ? true : false;\n }\n\n return false;\n }\n\n /**\n * add tokens\n *\n * ```\n * new TokenList().add(\"abc xyz\").toString(); // ↦ \"abc xyz\"\n * new TokenList().add([\"abc\",\"xyz\"]).toString(); // ↦ \"abc xyz\"\n * new TokenList().add(undefined); // ↦ add nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n add(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.add(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.add(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * remove all tokens\n *\n * @returns {TokenList}\n */\n clear() {\n this.tokens.clear();\n return this;\n }\n\n /**\n * Removes token\n *\n * ```\n * new TokenList(\"abc xyz\").remove(\"xyz\").toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove([\"xyz\"]).toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove(undefined); // ↦ remove nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n remove(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.delete(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.delete(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * this method replaces a token with a new token.\n *\n * if the passed token exists, it is replaced with newToken and TokenList is returned.\n * if the token does not exist, newToken is not set and TokenList is returned.\n *\n * @param {string} token\n * @param {string} newToken\n * @returns {TokenList}\n */\n replace(token, newToken) {\n validateString(token);\n validateString(newToken);\n if (!this.contains(token)) {\n return this;\n }\n\n let a = Array.from(this.tokens)\n let i = a.indexOf(token);\n if (i === -1) return this;\n\n a.splice(i, 1, newToken);\n this.tokens = new Set();\n this.add(a);\n\n return this;\n\n\n }\n\n /**\n * Removes token from string. If token doesn't exist it's added.\n * \n * ```\n * new TokenList(\"abc def ghi\").toggle(\"def xyz\").toString(); // ↦ \"abc ghi xyz\"\n * new TokenList(\"abc def ghi\").toggle([\"abc\",\"xyz\"]).toString(); // ↦ \"def ghi xyz\"\n * new TokenList().toggle(undefined); // ↦ nothing\n * ```\n * \n * @param {array|string|iteratable} value\n * @returns {boolean}\n * @throws {TypeError} unsupported value\n */\n toggle(value) {\n\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n toggleValue.call(this, token);\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n toggleValue.call(this, token);\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n\n }\n\n /**\n * returns an array with all tokens\n *\n * @returns {array}\n */\n entries() {\n return Array.from(this.tokens)\n }\n\n /**\n * executes the provided function with each value of the set\n *\n * @param {function} callback\n * @returns {TokenList}\n */\n forEach(callback) {\n validateFunction(callback);\n this.tokens.forEach(callback);\n return this;\n }\n\n /**\n * returns the individual tokens separated by a blank character\n *\n * @returns {string}\n */\n toString() {\n return this.entries().join(' ');\n }\n\n}\n\n/**\n * @private\n * @param token\n * @returns {toggleValue}\n * @throws {Error} must be called with TokenList.call\n */\nfunction toggleValue(token) {\n if (!(this instanceof TokenList)) throw Error(\"must be called with TokenList.call\")\n validateString(token);\n token = token.trim();\n if (this.contains(token)) {\n this.remove(token);\n return this;\n }\n this.add(token);\n return this;\n}\n\nMonster.assignToNamespace('Monster.Types', TokenList);\nexport {Monster, TokenList}\n", + "import {Monster, Queue} from \"./queue.js\";\nimport {validateObject} from \"./validate.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/uniquequeue.js';\n * console.log(new Monster.Types.UniqueQueue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/uniquequeue.js';\n * console.log(new UniqueQueue())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass UniqueQueue extends Queue {\n\n /**\n *\n */\n constructor() {\n super();\n this.unique = new WeakSet();\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {object} value\n * @returns {Queue}\n * @throws {TypeError} value is not a object\n */\n add(value) {\n \n validateObject(value);\n \n if (!this.unique.has(value)) {\n this.unique.add(value);\n super.add(value);\n }\n \n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n super.clear();\n this.unique = new WeakSet;\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {object}\n */\n poll() {\n\n if (this.isEmpty()) {\n return undefined;\n }\n let value = this.data.shift();\n this.unique.delete(value);\n return value;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', UniqueQueue);\nexport {Monster, UniqueQueue}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {\n isPrimitive,\n isBoolean,\n isString,\n isObject,\n isArray,\n isFunction,\n isIterable,\n isInstance,\n isInteger\n} from './is.js';\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError\n * console.log(Monster.Types.validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateIterable('2')) // ↦ TypeError\n * console.log(validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validateIterable(value) {\n if (!isIterable(value)) {\n throw new TypeError('value is not iterable')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined\n * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validatePrimitive('2')) // ↦ undefined\n * console.log(validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validatePrimitive(value) {\n if (!isPrimitive(value)) {\n throw new TypeError('value is not a primitive')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined\n * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError\n * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateBoolean(false)) // ↦ undefined\n * console.log(validateBoolean('2')) // ↦ TypeError\n * console.log(validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n\n * @throws {TypeError} value is not primitive\n */\nfunction validateBoolean(value) {\n if (!isBoolean(value)) {\n throw new TypeError('value is not a boolean')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateString('2')) // ↦ undefined\n * console.log(Monster.Types.validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateString('2')) // ↦ undefined\n * console.log(validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a string\n */\nfunction validateString(value) {\n if (!isString(value)) {\n throw new TypeError('value is not a string')\n }\n return value\n}\n\n\n/**\n * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateObject({})) // ↦ undefined\n * console.log(Monster.Types.validateObject('2')) // ↦ TypeError\n * console.log(Monster.Types.validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateObject({})) // ↦ undefined\n * console.log(validateObject('2')) // ↦ TypeError\n * console.log(validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a object\n */\nfunction validateObject(value) {\n if (!isObject(value)) {\n throw new TypeError('value is not a object')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the object instance.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined\n * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError\n * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateInstance({}, Object)) // ↦ undefined\n * console.log(validateInstance('2', Object)) // ↦ TypeError\n * console.log(validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an instance of\n */\nfunction validateInstance(value, instance) {\n if (!isInstance(value, instance)) {\n let n = \"\";\n if (isObject(instance) || isFunction(instance)) {\n n = instance?.['name']\n }\n\n if (n) {\n n = \" \" + n;\n }\n\n throw new TypeError('value is not an instance of' + n)\n }\n return value\n}\n\n/**\n * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateArray('2')) // ↦ TypeError\n * console.log(Monster.Types.validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateArray('2')) // ↦ TypeError\n * console.log(validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an array\n */\nfunction validateArray(value) {\n if (!isArray(value)) {\n throw new TypeError('value is not an array')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined\n * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError\n * console.log(Monster.Types.validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateFunction(()=>{})) // ↦ undefined\n * console.log(validateFunction('2')) // ↦ TypeError\n * console.log(validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a function\n */\nfunction validateFunction(value) {\n if (!isFunction(value)) {\n throw new TypeError('value is not a function')\n }\n return value\n}\n\n/**\n * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInteger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError\n * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError\n * console.log(Monster.Types.validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js';\n * console.log(validateInteger(true)) // ↦ TypeError\n * console.log(validateInteger('2')) // ↦ TypeError\n * console.log(validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an integer\n */\nfunction validateInteger(value) {\n if (!isInteger(value)) {\n throw new TypeError('value is not an integer')\n }\n return value\n}\n\nMonster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);\nexport {\n Monster,\n validatePrimitive,\n validateBoolean,\n validateString,\n validateObject,\n validateInstance,\n validateArray,\n validateFunction,\n validateIterable,\n validateInteger\n}\n", + "'use strict';\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\n\n/**\n * The version object contains a sematic version number\n *\n * You can create the object via the monster namespace `new Monster.Types.Version()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js';\n * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this class individually.\n *\n * ```\n * <script type=\"module\">\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js';\n * console.log(new Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * @example\n *\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js';\n *\n * new Version('1.0.0') // ↦ 1.0.0\n * new Version(1) // ↦ 1.0.0\n * new Version(1, 0, 0) // ↦ 1.0.0\n * new Version('1.2.3', 4, 5) // ↦ 1.4.5\n *\n * @since 1.0.0\n * @author schukai GmbH\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Version extends Base {\n\n /**\n *\n * @param major\n * @param minor\n * @param patch\n * @throws {Error} major is not a number\n * @throws {Error} minor is not a number\n * @throws {Error} patch is not a number\n */\n constructor(major, minor, patch) {\n super();\n\n if (typeof major === 'string' && minor === undefined && patch === undefined) {\n\n let parts = major.toString().split('.');\n major = parseInt(parts[0] || 0);\n minor = parseInt(parts[1] || 0);\n patch = parseInt(parts[2] || 0);\n }\n\n if (major === undefined) {\n throw new Error(\"major version is undefined\");\n }\n\n if (minor === undefined) {\n minor = 0;\n }\n\n if (patch === undefined) {\n patch = 0;\n }\n\n this.major = parseInt(major);\n this.minor = parseInt(minor);\n this.patch = parseInt(patch);\n\n if (isNaN(this.major)) {\n throw new Error(\"major is not a number\");\n }\n\n if (isNaN(this.minor)) {\n throw new Error(\"minor is not a number\");\n }\n\n if (isNaN(this.patch)) {\n throw new Error(\"patch is not a number\");\n }\n\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.major + '.' + this.minor + '.' + this.patch;\n }\n\n /**\n * returns 0 if equal, -1 if the object version is less and 1 if greater\n * then the compared version\n *\n * @param {string|Version} version Version to compare\n * @returns {number}\n */\n compareTo(version) {\n\n if (version instanceof Version) {\n version = version.toString();\n }\n\n if (typeof version !== 'string') {\n throw new Error(\"type exception\");\n }\n\n if (version === this.toString()) {\n return 0;\n }\n\n let a = [this.major, this.minor, this.patch];\n let b = version.split('.');\n let len = Math.max(a.length, b.length);\n\n for (let i = 0; i < len; i += 1) {\n if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {\n return 1;\n } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) {\n return -1;\n }\n }\n\n return 0;\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Version);\n\n\nlet monsterVersion;\n\n/**\n * Version of monster\n *\n * you can call the method via the monster namespace `Monster.getVersion()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js';\n * console.log(Monster.getVersion())\n * console.log(Monster.getVersion())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js';\n * console.log(getVersion())\n * console.log(getVersion())\n * </script>\n * ```\n *\n * @returns {Monster.Types.Version}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @author schukai GmbH\n * @memberOf Monster\n */\nfunction getVersion() {\n if (monsterVersion instanceof Version) {\n return monsterVersion;\n }\n /**#@+ dont touch, replaced by make with package.json version */\n monsterVersion = new Version('1.9.0')\n /**#@-*/\n return monsterVersion;\n\n}\n\nMonster.assignToNamespace('Monster', getVersion);\nexport {Monster, Version, getVersion}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isFunction, isPrimitive, isArray} from '../types/is.js';\nimport {getGlobal} from '../types/global.js';\n\n\n/**\n * With this function, objects can be cloned.\n * The entire object tree is run through.\n *\n * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.\n * Global objects such as windows are also not cloned,\n *\n * If an object has a method `getClone()`, this method is used to create the clone.\n *\n * You can call the method via the monster namespace `Monster.Util.clone()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/clone.js';\n * console.log(Monster.Util.clone({}))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/clone.js';\n * console.log(clone({}))\n * </script>\n * ```\n *\n * @param {*} obj object to be cloned\n * @returns {*}\n *\n * @since 1.0.0\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {Error} unable to clone obj! its type isn't supported.\n */\nfunction clone(obj) {\n\n // typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html\n if (null === obj) {\n return obj;\n }\n\n // Handle the two simple types, null and undefined\n if (isPrimitive(obj)) {\n return obj;\n }\n \n // Handle the two simple types, null and undefined\n if (isFunction(obj)) {\n return obj;\n }\n\n // Handle Array\n if (isArray(obj)) {\n let copy = [];\n for (var i = 0, len = obj.length; i < len; i++) {\n copy[i] = clone(obj[i]);\n }\n\n return copy;\n }\n\n if (isObject(obj)) {\n\n\n // Handle Date\n if (obj instanceof Date) {\n let copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n\n /** Do not clone DOM nodes */\n if (typeof Element !== 'undefined' && obj instanceof Element) return obj;\n if (typeof HTMLDocument !== 'undefined' && obj instanceof HTMLDocument) return obj;\n if (typeof DocumentFragment !== 'undefined' && obj instanceof DocumentFragment) return obj;\n\n /** Do not clone global objects */\n if (obj === getGlobal()) return obj;\n if (typeof globalContext !== 'undefined' && obj === globalContext) return obj;\n if (typeof window !== 'undefined' && obj === window) return obj;\n if (typeof document !== 'undefined' && obj === document) return obj;\n if (typeof navigator !== 'undefined' && obj === navigator) return obj;\n if (typeof JSON !== 'undefined' && obj === JSON) return obj;\n\n // Handle Proxy-Object\n try {\n // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check\n if (obj instanceof Proxy) {\n return obj;\n }\n } catch (e) {\n }\n\n return cloneObject(obj)\n\n }\n\n throw new Error(\"unable to clone obj! its type isn't supported.\");\n}\n\n/**\n *\n * @param {object} obj\n * @returns {object}\n * @private\n */\nfunction cloneObject(obj) {\n var copy;\n\n /** Object has clone method */\n if (typeof obj.hasOwnProperty('getClone') && obj.getClone === 'function') {\n return obj.getClone();\n }\n\n copy = {};\n if (typeof obj.constructor === 'function' &&\n typeof obj.constructor.call === 'function') {\n copy = new obj.constructor();\n }\n\n for (let key in obj) {\n\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n\n if (Monster.Types.isPrimitive(obj[key])) {\n copy[key] = obj[key];\n continue;\n }\n\n copy[key] = clone(obj[key]);\n }\n\n return copy;\n}\n\nMonster.assignToNamespace('Monster.Util', clone);\nexport {Monster, clone}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {isFunction} from '../types/is.js';\n\n/**\n * The comparator allows a comparison function to be abstracted.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js';\n * console.log(new Monster.Util.Comparator())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js';\n * console.log(new Comparator())\n * </script>\n * ```\n *\n * The following are some examples of the application of the class.\n *\n * ```\n * new Comparator().lessThanOrEqual(2, 5) // ↦ true\n * new Comparator().greaterThan(4, 2) // ↦ true\n * new Comparator().equal(4, 4) // ↦ true\n * new Comparator().equal(4, 5) // ↦ false\n * ```\n *\n * You can also pass your own comparison function, and thus define the comparison function.\n *\n * ```\n * new Comparator(function (a, b) {\n * if (a.v === b.v) return 0;\n * return a.v < b.v ? -1 : 1;\n * }).equal({v: 2}, {v: 2}); // ↦ true\n * ```\n * \n * @example\n *\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js';\n *\n * console.log(new Comparator().lessThanOrEqual(2, 5))\n * // ↦ true\n * console.log(new Comparator().greaterThan(4, 2))\n * // ↦ true\n * console.log(new Comparator().equal(4, 4))\n * // ↦ true\n * console.log(new Comparator().equal(4, 5))\n * // ↦ false\n *\n * @since 1.3.0\n * @memberOf Monster/Util\n */\nclass Comparator extends Base {\n\n /**\n * create new comparator\n *\n * @param {function} callback\n * @throw {TypeError} \"unsupported type\"\n * @throw {TypeError} \"impractical comparison\"\n */\n constructor(callback) {\n super();\n\n if (isFunction(callback)) {\n this.compare = callback\n } else if (callback !== undefined) {\n throw new TypeError(\"unsupported type\")\n } else {\n // default compare function\n this.compare = function (a, b) {\n\n if (typeof a !== typeof b) {\n throw new TypeError(\"impractical comparison\")\n }\n\n if (a === b) {\n return 0;\n }\n return a < b ? -1 : 1;\n };\n }\n\n }\n\n /**\n * changes the order of the operators\n *\n * @return {Comparator}\n */\n reverse() {\n const original = this.compare;\n this.compare = (a, b) => original(b, a);\n return this;\n }\n\n /**\n * Checks if two variables are equal.\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n equal(a, b) {\n return this.compare(a, b) === 0;\n }\n\n\n /**\n * Checks if variable `a` is greater than `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThan(a, b) {\n return this.compare(a, b) > 0;\n }\n\n /**\n * Checks if variable `a` is greater than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThanOrEqual(a, b) {\n return this.greaterThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable `a` is less than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThanOrEqual(a, b) {\n return this.lessThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable a is less than b\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThan(a, b) {\n return this.compare(a, b) < 0;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Util', Comparator);\nexport {Monster, Comparator}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateObject} from '../types/validate.js';\n\n/**\n * Deep freeze a object\n *\n * You can call the method via the monster namespace `Monster.Util.deepFreeze()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/freeze.js';\n * console.log(Monster.Util.deepFreeze({})) \n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/freeze.js';\n * console.log(deepFreeze({})) \n * </script>\n * ```\n *\n * @param {object} obj object to be freeze\n * @since 1.0.0\n * @returns {object}\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {TypeError} value is not a object\n */\nfunction deepFreeze(object) {\n \n validateObject(object)\n\n // Retrieve the defined property names of the object\n var propNames = Object.getOwnPropertyNames(object);\n\n // Freeze properties before freezing yourself\n for (let name of propNames) {\n let value = object[name];\n\n object[name] = value && typeof value === \"object\" ?\n deepFreeze(value) : value;\n }\n\n return Object.freeze(object);\n}\n\nMonster.assignToNamespace('Monster.Util', deepFreeze);\nexport {Monster, deepFreeze}\n" ] } \ No newline at end of file diff --git a/packages/monster/dist/monster.js b/packages/monster/dist/monster.js index bed17bce3d1944e11d7b704263c046e66802394f..47074bd232c37824454dbe3d8e97db99f6e9275f 100644 --- a/packages/monster/dist/monster.js +++ b/packages/monster/dist/monster.js @@ -1,2 +1,2 @@ -/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.AbstractConstraint=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractConstraint=function(_Base){_inherits(AbstractConstraint,_Base);var _super=_createSuper(AbstractConstraint);function AbstractConstraint(){_classCallCheck(this,AbstractConstraint);return _super.call(this)}_createClass(AbstractConstraint,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return AbstractConstraint}(_base.Base);exports.AbstractConstraint=AbstractConstraint;_namespace.Monster.assignToNamespace("Monster.Constraints",AbstractConstraint)},{"../namespace.js":26,"../types/base.js":27}],2:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AbstractOperator=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractOperator=function(_AbstractConstraint){_inherits(AbstractOperator,_AbstractConstraint);var _super=_createSuper(AbstractOperator);function AbstractOperator(operantA,operantB){var _this;_classCallCheck(this,AbstractOperator);_this=_super.call(this);if(!(operantA instanceof _abstract.AbstractConstraint)||!(operantB instanceof _abstract.AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}_this.operantA=operantA;_this.operantB=operantB;return _this}return AbstractOperator}(_abstract.AbstractConstraint);exports.AbstractOperator=AbstractOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AbstractOperator)},{"./abstract.js":1}],3:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AndOperator=void 0;var _abstract=require("./abstract.js");var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AndOperator=function(_AbstractOperator){_inherits(AndOperator,_AbstractOperator);var _super=_createSuper(AndOperator);function AndOperator(){_classCallCheck(this,AndOperator);return _super.apply(this,arguments)}_createClass(AndOperator,[{key:"isValid",value:function isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}]);return AndOperator}(_abstractoperator.AbstractOperator);exports.AndOperator=AndOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AndOperator)},{"./abstract.js":1,"./abstractoperator.js":2}],4:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Invalid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Invalid=function(_AbstractConstraint){_inherits(Invalid,_AbstractConstraint);var _super=_createSuper(Invalid);function Invalid(){_classCallCheck(this,Invalid);return _super.apply(this,arguments)}_createClass(Invalid,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return Invalid}(_abstract.AbstractConstraint);exports.Invalid=Invalid;_abstract.Monster.assignToNamespace("Monster.Constraints",Invalid)},{"./abstract.js":1}],5:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsArray=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsArray=function(_AbstractConstraint){_inherits(IsArray,_AbstractConstraint);var _super=_createSuper(IsArray);function IsArray(){_classCallCheck(this,IsArray);return _super.apply(this,arguments)}_createClass(IsArray,[{key:"isValid",value:function isValid(value){if((0,_is.isArray)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsArray}(_abstract.AbstractConstraint);exports.IsArray=IsArray;_abstract.Monster.assignToNamespace("Monster.Constraints",IsArray)},{"../types/is.js":30,"./abstract.js":1}],6:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsObject=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsObject=function(_AbstractConstraint){_inherits(IsObject,_AbstractConstraint);var _super=_createSuper(IsObject);function IsObject(){_classCallCheck(this,IsObject);return _super.apply(this,arguments)}_createClass(IsObject,[{key:"isValid",value:function isValid(value){if((0,_is.isObject)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsObject}(_abstract.AbstractConstraint);exports.IsObject=IsObject;_abstract.Monster.assignToNamespace("Monster.Constraints",IsObject)},{"../types/is.js":30,"./abstract.js":1}],7:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstractoperator.Monster}});exports.OrOperator=void 0;var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var OrOperator=function(_AbstractOperator){_inherits(OrOperator,_AbstractOperator);var _super=_createSuper(OrOperator);function OrOperator(){_classCallCheck(this,OrOperator);return _super.apply(this,arguments)}_createClass(OrOperator,[{key:"isValid",value:function isValid(value){var self=this;return new Promise(function(resolve,reject){var a,b;self.operantA.isValid(value).then(function(){resolve()})["catch"](function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()})["catch"](function(){b=false;if(a===false){reject()}})})}}]);return OrOperator}(_abstractoperator.AbstractOperator);exports.OrOperator=OrOperator;_abstractoperator.Monster.assignToNamespace("Monster.Constraints",OrOperator)},{"./abstractoperator.js":2}],8:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Valid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Valid=function(_AbstractConstraint){_inherits(Valid,_AbstractConstraint);var _super=_createSuper(Valid);function Valid(){_classCallCheck(this,Valid);return _super.apply(this,arguments)}_createClass(Valid,[{key:"isValid",value:function isValid(value){return Promise.resolve(value)}}]);return Valid}(_abstract.AbstractConstraint);exports.Valid=Valid;_abstract.Monster.assignToNamespace("Monster.Constraints",Valid)},{"./abstract.js":1}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Diff=Diff;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _is.Monster}});var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if((0,_is.isArray)(type)){var keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map(function(_,i){return i}))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){var typeA=_typeof(a);var typeB=_typeof(b);var currPath=path||[];var currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(function(v){if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{var o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){var result={operator:operator,path:path};if(operator!=="add"){result.first={value:a,type:_typeof(a)};if((0,_is.isObject)(a)){var _Object$getPrototypeO,_Object$getPrototypeO2;var name=(_Object$getPrototypeO=Object.getPrototypeOf(a))===null||_Object$getPrototypeO===void 0?void 0:(_Object$getPrototypeO2=_Object$getPrototypeO.constructor)===null||_Object$getPrototypeO2===void 0?void 0:_Object$getPrototypeO2.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:_typeof(b)};if((0,_is.isObject)(b)){var _Object$getPrototypeO3,_Object$getPrototypeO4;var _name=(_Object$getPrototypeO3=Object.getPrototypeOf(b))===null||_Object$getPrototypeO3===void 0?void 0:(_Object$getPrototypeO4=_Object$getPrototypeO3.constructor)===null||_Object$getPrototypeO4===void 0?void 0:_Object$getPrototypeO4.name;if(_name!==undefined){result.second.instance=_name}}}return result}function isNotEqual(a,b){if(_typeof(a)!==_typeof(b)){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){var operator;var typeA=_typeof(a);var typeB=_typeof(b);if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}_is.Monster.assignToNamespace("Monster.Data",Diff)},{"../types/is.js":30}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pathfinder=void 0;var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");var _stack=require("../types/stack.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER=".";var WILDCARD="*";var Pathfinder=function(_Base){_inherits(Pathfinder,_Base);var _super=_createSuper(Pathfinder);function Pathfinder(object){var _this;_classCallCheck(this,Pathfinder);_this=_super.call(this);_this.object=object;_this.wildCard=WILDCARD;return _this}_createClass(Pathfinder,[{key:"setWildCard",value:function setWildCard(wildcard){(0,_validate.validateString)(wildcard);this.wildCard=wildcard;return this}},{key:"getVia",value:function getVia(path){(0,_validate.validateString)(path);return getValueViaPath.call(this,this.object,path)}},{key:"setVia",value:function setVia(path,value){(0,_validate.validateString)(path);setValueViaPath.call(this,this.object,path,value);return this}},{key:"deleteVia",value:function deleteVia(path){(0,_validate.validateString)(path);deleteValueViaPath.call(this,this.object,path);return this}},{key:"exists",value:function exists(path){(0,_validate.validateString)(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}]);return Pathfinder}(_base.Base);exports.Pathfinder=Pathfinder;_namespace.Monster.assignToNamespace("Monster.Data",Pathfinder);function iterate(subject,path,check){var result=new Map;if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){for(var _i=0,_Object$entries=Object.entries(subject);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],value=_Object$entries$_i[1];result.set(key,getValueViaPath.call(this,value,path,check))}}else{var _key=path.split(DELIMITER).shift();result.set(_key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}var parts=path.split(DELIMITER);var current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){var anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){var _ref;current=parseInt(current);(0,_validate.validateInteger)(current);anchor=(_ref=_toConsumableArray(subject))===null||_ref===void 0?void 0:_ref[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(subject)){current=parseInt(current);(0,_validate.validateInteger)(current);anchor=subject===null||subject===void 0?void 0:subject[current]}else{anchor=subject===null||subject===void 0?void 0:subject[current]}if((0,_is.isObject)(anchor)||(0,_is.isArray)(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+_typeof(subject))}function setValueViaPath(object,path,value){(0,_validate.validateString)(path);var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var stack=new _stack.Stack;var current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();var obj={};if(!stack.isEmpty()){var n=stack.peek().split(DELIMITER).pop();if((0,_is.isInteger)(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}var anchor=getValueViaPath.call(this,object,subpath);if(!(0,_is.isObject)(object)&&!(0,_is.isArray)(object)){throw TypeError("unsupported type: "+_typeof(object))}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor["delete"](last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);delete anchor[last]}else{delete anchor[last]}return}},{"../namespace.js":26,"../types/base.js":27,"../types/is.js":30,"../types/stack.js":36,"../types/validate.js":39}],11:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pipe=void 0;var _namespace=require("../namespace.js");var _transformer=require("./transformer.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER="|";var Pipe=function(_Base){_inherits(Pipe,_Base);var _super=_createSuper(Pipe);function Pipe(pipe){var _this;_classCallCheck(this,Pipe);_this=_super.call(this);(0,_validate.validateString)(pipe);_this.pipe=pipe.split(DELIMITER).map(function(v){return new _transformer.Transformer(v)});return _this}_createClass(Pipe,[{key:"setCallback",value:function setCallback(name,callback){for(var _i=0,_Object$entries=Object.entries(this.pipe);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),t=_Object$entries$_i[1];t.setCallback(name,callback)}return this}},{key:"run",value:function run(value){return this.pipe.reduce(function(accumulator,transformer,currentIndex,array){return transformer.run(accumulator)},value)}}]);return Pipe}(_base.Base);exports.Pipe=Pipe;_namespace.Monster.assignToNamespace("Monster.Data",Pipe)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./transformer.js":12}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Transformer=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _is=require("../types/is.js");var _id=require("../types/id.js");var _clone=require("../util/clone.js");var _pathfinder=require("./pathfinder.js");function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _wrapRegExp(){_wrapRegExp=function _wrapRegExp(re,groups){return new BabelRegExp(re,undefined,groups)};var _super=RegExp.prototype;var _groups=new WeakMap;function BabelRegExp(re,flags,groups){var _this=new RegExp(re,flags);_groups.set(_this,groups||_groups.get(re));return _setPrototypeOf(_this,BabelRegExp.prototype)}_inherits(BabelRegExp,RegExp);BabelRegExp.prototype.exec=function(str){var result=_super.exec.call(this,str);if(result)result.groups=buildGroups(result,this);return result};BabelRegExp.prototype[Symbol.replace]=function(str,substitution){if(typeof substitution==="string"){var groups=_groups.get(this);return _super[Symbol.replace].call(this,str,substitution.replace(/\$<([^>]+)>/g,function(_,name){return"$"+groups[name]}))}else if(typeof substitution==="function"){var _this=this;return _super[Symbol.replace].call(this,str,function(){var args=arguments;if(_typeof(args[args.length-1])!=="object"){args=[].slice.call(args);args.push(buildGroups(args,_this))}return substitution.apply(this,args)})}else{return _super[Symbol.replace].call(this,str,substitution)}};function buildGroups(result,re){var g=_groups.get(re);return Object.keys(g).reduce(function(groups,name){groups[name]=result[g[name]];return groups},Object.create(null))}return _wrapRegExp.apply(this,arguments)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Transformer=function(_Base){_inherits(Transformer,_Base);var _super=_createSuper(Transformer);function Transformer(definition){var _this;_classCallCheck(this,Transformer);_this=_super.call(this);(0,_validate.validateString)(definition);_this.args=disassemble(definition);_this.command=_this.args.shift();_this.callbacks=new Map;return _this}_createClass(Transformer,[{key:"setCallback",value:function setCallback(name,callback){(0,_validate.validateString)(name);(0,_validate.validateFunction)(callback);this.callbacks.set(name,callback);return this}},{key:"run",value:function run(value){return transform.apply(this,[value])}}]);return Transformer}(_base.Base);exports.Transformer=Transformer;_namespace.Monster.assignToNamespace("Monster.Data",Transformer);function disassemble(command){(0,_validate.validateString)(command);var placeholder=new Map;var regex=_wrapRegExp(/((\\(.)){1})/gim,{pattern:2,char:3});var result=command.matchAll(regex);var _iterator=_createForOfIteratorHelper(result),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var m=_step.value;var g=m===null||m===void 0?void 0:m["groups"];if(!(0,_is.isObject)(g)){continue}var p=g===null||g===void 0?void 0:g["pattern"];var c=g===null||g===void 0?void 0:g["char"];if(p&&c){var r="__"+(new _id.ID).toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}var parts=command.split(":");parts=parts.map(function(value){var v=value.trim();var _iterator2=_createForOfIteratorHelper(placeholder),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var k=_step2.value;v=v.replace(k[0],k[1])}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return v});return parts}function convertToString(value){if((0,_is.isObject)(value)&&value.hasOwnProperty("toString")){value=value.toString()}(0,_validate.validateString)(value);return value}function transform(value){var args=(0,_clone.clone)(this.args);var key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":(0,_validate.validateString)(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":(0,_validate.validateString)(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":var n=parseInt(value);(0,_validate.validateInteger)(n);return n;case"tojson":return JSON.stringify(value);case"trim":(0,_validate.validateString)(value);return value.trim();case"rawurlencode":(0,_validate.validateString)(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":var callback;var callbackName=args.shift();if((0,_is.isObject)(value)&&value.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if((typeof window==="undefined"?"undefined":_typeof(window))==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}(0,_validate.validateFunction)(callback);args.unshift(value);return callback.apply(void 0,_toConsumableArray(args));case"plain":case"plaintext":(0,_validate.validateString)(value);var doc=(new DOMParser).parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":(0,_validate.validatePrimitive)(value);var trueStatement=args.shift()||undefined;var falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}var condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":(0,_validate.validateString)(value);var firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":(0,_validate.validateString)(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if(((0,_is.isString)(value)||(0,_is.isObject)(value)||(0,_is.isArray)(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":(0,_validate.validateString)(value);var prefix=args===null||args===void 0?void 0:args[0];return prefix+value;case"suffix":(0,_validate.validateString)(value);var suffix=args===null||args===void 0?void 0:args[0];return value+suffix;case"uniqid":return(new _id.ID).toString();case"key":case"property":case"index":key=args.shift()||"undefined";var defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if((0,_is.isObject)(value)||(0,_is.isArray)(value)){if(value!==null&&value!==void 0&&value[key]){return value===null||value===void 0?void 0:value[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new _pathfinder.Pathfinder(value).getVia(key);case"substring":(0,_validate.validateString)(value);var start=parseInt(args[0])||0;var end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command)}return value}},{"../namespace.js":26,"../types/base.js":27,"../types/id.js":29,"../types/is.js":30,"../types/validate.js":39,"../util/clone.js":41,"./pathfinder.js":10}],13:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Assembler=exports.ATTRIBUTEPREFIX=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _proxyobserver=require("../types/proxyobserver.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ATTRIBUTEPREFIX="data-monster-";exports.ATTRIBUTEPREFIX=ATTRIBUTEPREFIX;var Assembler=function(_Base){_inherits(Assembler,_Base);var _super=_createSuper(Assembler);function Assembler(fragment){var _this;_classCallCheck(this,Assembler);_this=_super.call(this);_this.attributePrefix=ATTRIBUTEPREFIX;(0,_validate.validateInstance)(fragment,(0,_global.getGlobalFunction)("DocumentFragment"));_this.fragment=fragment;return _this}_createClass(Assembler,[{key:"setAttributePrefix",value:function setAttributePrefix(prefix){(0,_validate.validateString)(prefix);this.attributePrefix=prefix;return this}},{key:"getAttributePrefix",value:function getAttributePrefix(){return this.attributePrefix}},{key:"createDocumentFragment",value:function createDocumentFragment(data){if(data===undefined){data=new _proxyobserver.ProxyObserver({})}(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);var fragment=this.fragment.cloneNode(true);return fragment}}]);return Assembler}(_base.Base);exports.Assembler=Assembler;_base.Monster.assignToNamespace("Monster.DOM",Assembler)},{"../types/base.js":27,"../types/global.js":28,"../types/proxyobserver.js":33,"../types/validate.js":39}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ATTRIBUTE_UPDATER_REMOVE=exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=exports.ATTRIBUTE_UPDATER_INSERT=exports.ATTRIBUTE_UPDATER_REPLACE=exports.ATTRIBUTE_UPDATER_ATTRIBUTES=exports.ATTRIBUTE_THEME_NAME=exports.ATTRIBUTE_THEME_PREFIX=exports.DEFAULT_THEME=exports.ATTRIBUTE_OPTIONS=exports.ATTRIBUTE_PREFIX=void 0;var _namespace=require("../namespace.js");var ATTRIBUTE_PREFIX="data-monster-";exports.ATTRIBUTE_PREFIX=ATTRIBUTE_PREFIX;var ATTRIBUTE_OPTIONS=ATTRIBUTE_PREFIX+"options";exports.ATTRIBUTE_OPTIONS=ATTRIBUTE_OPTIONS;var DEFAULT_THEME="monster";exports.DEFAULT_THEME=DEFAULT_THEME;var ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_PREFIX+"theme-";exports.ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_THEME_PREFIX;var ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_PREFIX+"name";exports.ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_NAME;var ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_PREFIX+"attributes";exports.ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_UPDATER_ATTRIBUTES;var ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_PREFIX+"replace";exports.ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_UPDATER_REPLACE;var ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_PREFIX+"insert";exports.ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_UPDATER_INSERT;var ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_PREFIX+"insert-reference";exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_UPDATER_INSERT_REFERENCE;var ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_PREFIX+"remove";exports.ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_UPDATER_REMOVE},{"../namespace.js":26}],15:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.registerCustomElement=registerCustomElement;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _validate.Monster}});exports.CustomElement=void 0;var _constants=require("./constants.js");var _template=require("./template.js");var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var CustomElement=function(_HTMLElement){_inherits(CustomElement,_HTMLElement);var _super=_createSuper(CustomElement);function CustomElement(){var _this;_classCallCheck(this,CustomElement);_this=_super.call(this);_this._options=Object.assign({},_this.defaults,getOptionsFromAttributes.call(_assertThisInitialized(_this)));_this.init();return _this}_createClass(CustomElement,[{key:"defaults",get:function get(){return{shadowMode:"open",delegatesFocus:true}}},{key:"getOption",value:function getOption(key,defaultValue){var _this$_options;(0,_validate.validateString)(key);var v=(_this$_options=this._options)===null||_this$_options===void 0?void 0:_this$_options[key];if(v===undefined)return defaultValue;return v}},{key:"init",value:function init(){initShadowRoot.call(this);return this}},{key:"assemble",value:function assemble(){return this}},{key:"disassemble",value:function disassemble(){return this}},{key:"connectedCallback",value:function connectedCallback(){this.assemble()}},{key:"disconnectedCallback",value:function disconnectedCallback(){this.disassemble()}},{key:"adoptedCallback",value:function adoptedCallback(){}},{key:"attributeChangedCallback",value:function attributeChangedCallback(attrName,oldVal,newVal){this.assemble()}}],[{key:"getTemplate",value:function getTemplate(){throw new Error("the method getTemplate must be overwritten by the derived class.")}},{key:"getTag",value:function getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}},{key:"getCSSStyleSheet",value:function getCSSStyleSheet(){return new CSSStyleSheet}}]);return CustomElement}(_wrapNativeSuper(HTMLElement));exports.CustomElement=CustomElement;function getOptionsFromAttributes(){if(this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)){try{var obj=JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS));(0,_validate.validateObject)(obj);return obj}catch(e){throw new Error("the options attribute "+_constants.ATTRIBUTE_OPTIONS+" does not contain a valid json definition (actual: "+this.getAttribute(_constants.ATTRIBUTE_OPTIONS)+").")}}return{}}function initShadowRoot(){this.attachShadow({mode:this.getOption("shadowMode","open"),delegatesFocus:this.getOption("delegatesFocus",true)});var styleSheet=this.constructor.getCSSStyleSheet();if(styleSheet instanceof CSSStyleSheet){this.shadowRoot.adoptedStyleSheets=[styleSheet]}try{var template=(0,_template.findDocumentTemplate)(this.constructor.getTag());this.shadowRoot.appendChild(template.createDocumentFragment())}catch(e){this.shadowRoot.innerHTML=this.constructor.getTemplate()}return this}function registerCustomElement(element){(0,_validate.validateFunction)(element);var tag=element.getTag();(0,_global.getGlobalObject)("customElements").define(element.getTag(),element);return}_validate.Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement)},{"../types/global.js":28,"../types/validate.js":39,"./constants.js":14,"./template.js":17}],16:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getHandleFromNode=getHandleFromNode;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Handle=void 0;var _base=require("../types/base.js");var _stack=require("../types/stack.js");var _validate=require("../types/validate.js");var _proxyobserver=require("../types/proxyobserver.js");var _observer=require("../types/observer.js");var _global=require("../types/global.js");var _is=require("../types/is.js");var _assembler=require("./assembler.js");var _id=require("../types/id.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var MONSTERDOMHANDLE=Symbol("MonsterHandle");var Handle=function(_Base){_inherits(Handle,_Base);var _super=_createSuper(Handle);function Handle(data){var _this;_classCallCheck(this,Handle);_this=_super.call(this);var self=_assertThisInitialized(_this);self.id=new _id.ID;(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);_this.data=data;_this.mutationObserver=createMutationObserver.call(_assertThisInitialized(_this));_this.dataObserver=createDataObserver.call(_assertThisInitialized(_this));_this.data.attachObserver(_this.dataObserver);_this.nodes=new WeakSet;_this.updates=new _stack.Stack;return _this}_createClass(Handle,[{key:"update",value:function update(){return}},{key:"remove",value:function remove(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(_assembler.ATTRIBUTEPREFIX+"handler");return this}},{key:"append",value:function append(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(_assembler.ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}]);return Handle}(_base.Base);exports.Handle=Handle;function createDataObserver(){var self=this;return new _observer.Observer(function(){self.update()})}function createMutationObserver(){var self=this;var MutationObserver=(0,_global.getGlobalFunction)("MutationObserver");return new MutationObserver(function(mutationsList,observer){var _iterator=_createForOfIteratorHelper(mutationsList),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var mutation=_step.value;self.updates.push(mutation)}}catch(err){_iterator.e(err)}finally{_iterator.f()}self.update()})}function getHandleFromNode(node){var _node$dataset;(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("Node"));var handle=(_node$dataset=node.dataset)===null||_node$dataset===void 0?void 0:_node$dataset[MONSTERDOMHANDLE];if(handle===undefined){var parentNode=node===null||node===void 0?void 0:node["parentNode"];if((0,_is.isInstance)(parentNode,(0,_global.getGlobalFunction)("Node"))){return getHandleFromNode(parentNode)}}return handle}_base.Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle)},{"../types/base.js":27,"../types/global.js":28,"../types/id.js":29,"../types/is.js":30,"../types/observer.js":31,"../types/proxyobserver.js":33,"../types/stack.js":36,"../types/validate.js":39,"./assembler.js":13}],17:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.findDocumentTemplate=findDocumentTemplate;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Template=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _theme=require("./theme.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Template=function(_Base){_inherits(Template,_Base);var _super=_createSuper(Template);function Template(template){var _this;_classCallCheck(this,Template);_this=_super.call(this);var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");(0,_validate.validateInstance)(template,HTMLTemplateElement);_this.template=template;return _this}_createClass(Template,[{key:"getTemplateElement",value:function getTemplateElement(){return this.template}},{key:"createDocumentFragment",value:function createDocumentFragment(){return this.template.content.cloneNode(true)}}]);return Template}(_base.Base);exports.Template=Template;function findDocumentTemplate(id){(0,_validate.validateString)(id);var document=(0,_global.getGlobalObject)("document");var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");var theme=(0,_theme.getDocumentTheme)();var themedID=id+"-"+theme.getName();var template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}_base.Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./theme.js":18}],18:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getDocumentTheme=getDocumentTheme;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Theme=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _constants=require("./constants.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Theme=function(_Base){_inherits(Theme,_Base);var _super=_createSuper(Theme);function Theme(name){var _this;_classCallCheck(this,Theme);_this=_super.call(this);(0,_validate.validateString)(name);_this.name=name;return _this}_createClass(Theme,[{key:"getName",value:function getName(){return this.name}}]);return Theme}(_base.Base);exports.Theme=Theme;function getDocumentTheme(){var document=(0,_global.getGlobalObject)("document");var name=_constants.DEFAULT_THEME;var element=document.querySelector("html");if(element instanceof HTMLElement){var theme=element.getAttribute(_constants.ATTRIBUTE_THEME_NAME);if(theme){name=theme}}return new Theme(name)}_base.Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./constants.js":14}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getWindow=getWindow;exports.getDocument=getDocument;exports.getDocumentFragmentFromString=getDocumentFragmentFromString;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function getDocument(){var _getGlobal;var document=(_getGlobal=(0,_global.getGlobal)())===null||_getGlobal===void 0?void 0:_getGlobal["document"];if(_typeof(document)!=="object"){throw new Error("not supported environment")}return document}function getWindow(){var _getGlobal2;var window=(_getGlobal2=(0,_global.getGlobal)())===null||_getGlobal2===void 0?void 0:_getGlobal2["window"];if(_typeof(window)!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){(0,_validate.validateString)(html);var document=getDocument();var template=document.createElement("template");template.innerHTML=html;return template.content}_global.Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString)},{"../types/global.js":28,"../types/validate.js":39}],20:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Handler=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _logger=require("./logger.js");var _logentry=require("./logentry.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Handler=function(_Base){_inherits(Handler,_Base);var _super=_createSuper(Handler);function Handler(){var _this;_classCallCheck(this,Handler);_this=_super.call(this);_this.loglevel=_logger.OFF;return _this}_createClass(Handler,[{key:"log",value:function log(entry){(0,_validate.validateInstance)(entry,_logentry.LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}},{key:"setLogLevel",value:function setLogLevel(loglevel){(0,_validate.validateInteger)(loglevel);this.loglevel=loglevel;return this}},{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"setAll",value:function setAll(){this.setLogLevel(_logger.ALL);return this}},{key:"setTrace",value:function setTrace(){this.setLogLevel(_logger.TRACE);return this}},{key:"setDebug",value:function setDebug(){this.setLogLevel(_logger.DEBUG);return this}},{key:"setInfo",value:function setInfo(){this.setLogLevel(_logger.INFO);return this}},{key:"setWarn",value:function setWarn(){this.setLogLevel(_logger.WARN);return this}},{key:"setError",value:function setError(){this.setLogLevel(_logger.ERROR);return this}},{key:"setFatal",value:function setFatal(){this.setLogLevel(_logger.FATAL);return this}},{key:"setOff",value:function setOff(){this.setLogLevel(_logger.OFF);return this}}]);return Handler}(_base.Base);exports.Handler=Handler;_namespace.Monster.assignToNamespace("Monster.Logging",Handler)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./logentry.js":22,"./logger.js":23}],21:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});Object.defineProperty(exports,"Handler",{enumerable:true,get:function get(){return _handler.Handler}});var _namespace=require("../../namespace.js");var _base=require("../../types/base.js");var _handler=require("../../logging/handler.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ConsoleHandler=function(_Base){_inherits(ConsoleHandler,_Base);var _super=_createSuper(ConsoleHandler);function ConsoleHandler(){_classCallCheck(this,ConsoleHandler);return _super.call(this)}return ConsoleHandler}(_base.Base);_namespace.Monster.assignToNamespace("Monster.Logging",ConsoleHandler)},{"../../logging/handler.js":20,"../../namespace.js":26,"../../types/base.js":27}],22:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.LogEntry=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var LogEntry=function(_Base){_inherits(LogEntry,_Base);var _super=_createSuper(LogEntry);function LogEntry(loglevel){var _this;_classCallCheck(this,LogEntry);_this=_super.call(this);(0,_validate.validateInteger)(loglevel);_this.loglevel=loglevel;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;return _this}_createClass(LogEntry,[{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"getArguments",value:function getArguments(){return this.arguments}}]);return LogEntry}(_base.Base);exports.LogEntry=LogEntry;_namespace.Monster.assignToNamespace("Monster.Logging",LogEntry)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],23:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.OFF=exports.FATAL=exports.ERROR=exports.WARN=exports.INFO=exports.DEBUG=exports.TRACE=exports.ALL=exports.Logger=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _handler=require("../logging/handler.js");var _logentry=require("../logging/logentry.js");var _base=require("../types/base.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ALL=255;exports.ALL=ALL;var TRACE=64;exports.TRACE=TRACE;var DEBUG=32;exports.DEBUG=DEBUG;var INFO=16;exports.INFO=INFO;var WARN=8;exports.WARN=WARN;var ERROR=4;exports.ERROR=ERROR;var FATAL=2;exports.FATAL=FATAL;var OFF=0;exports.OFF=OFF;var Logger=function(_Base){_inherits(Logger,_Base);var _super=_createSuper(Logger);function Logger(){var _this;_classCallCheck(this,Logger);_this=_super.call(this);_this.handler=new Set;return _this}_createClass(Logger,[{key:"addHandler",value:function addHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}},{key:"removeHandler",value:function removeHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler["delete"](handler);return this}},{key:"logTrace",value:function logTrace(){triggerLog.apply(this,[TRACE].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logDebug",value:function logDebug(){triggerLog.apply(this,[DEBUG].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logInfo",value:function logInfo(){triggerLog.apply(this,[INFO].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logWarn",value:function logWarn(){triggerLog.apply(this,[WARN].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logError",value:function logError(){triggerLog.apply(this,[ERROR].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logFatal",value:function logFatal(){triggerLog.apply(this,[FATAL].concat(Array.prototype.slice.call(arguments)));return this}},{key:"getLabel",value:function getLabel(level){(0,_validate.validateInteger)(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}},{key:"getLevel",value:function getLevel(label){(0,_validate.validateString)(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}]);return Logger}(_base.Base);exports.Logger=Logger;_namespace.Monster.assignToNamespace("Monster.Logging",Logger);function triggerLog(loglevel){var logger=this;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var _iterator=_createForOfIteratorHelper(logger.handler),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var handler=_step.value;handler.log(new _logentry.LogEntry(loglevel,args))}}catch(err){_iterator.e(err)}finally{_iterator.f()}return logger}},{"../logging/handler.js":20,"../logging/logentry.js":22,"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.random=random;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1e9;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){var crypt;var globalReference=(0,_global.getGlobal)();crypt=(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["msCrypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}var rval=0;var range=max-min;if(range<2){return min}var bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}var bytesNeeded=Math.ceil(bitsNeeded/8);var mask=Math.pow(2,bitsNeeded)-1;var byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);var p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}_global.Monster.assignToNamespace("Monster.Math",random)},{"../types/global.js":28}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("./namespace.js");require("./types/base.js");require("./types/global.js");require("./types/id.js");require("./types/is.js");require("./types/observer.js");require("./types/observerlist.js");require("./types/proxyobserver.js");require("./types/queue.js");require("./types/randomid.js");require("./types/stack.js");require("./types/tokenlist.js");require("./types/uniquequeue.js");require("./types/validate.js");require("./types/version.js");require("./math/random.js");require("./data/diff.js");require("./data/pathfinder.js");require("./data/pipe.js");require("./data/transformer.js");require("./logging/handler.js");require("./logging/logentry.js");require("./logging/logger.js");require("./logging/handler/console.js");require("./util/clone.js");require("./util/comparator.js");require("./util/freeze.js");require("./constraints/abstract.js");require("./constraints/abstractoperator.js");require("./constraints/andoperator.js");require("./constraints/invalid.js");require("./constraints/isarray.js");require("./constraints/isobject.js");require("./constraints/oroperator.js");require("./constraints/valid.js");require("./dom/util.js");require("./dom/template.js");require("./dom/handle.js");require("./dom/assembler.js");require("./dom/customelement.js");_namespace.Monster.Util.deepFreeze(_namespace.Monster);var rootName;try{rootName=_namespace.Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";_namespace.Monster.Types.getGlobal()[rootName]=_namespace.Monster},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":15,"./dom/handle.js":16,"./dom/template.js":17,"./dom/util.js":19,"./logging/handler.js":20,"./logging/handler/console.js":21,"./logging/logentry.js":22,"./logging/logger.js":23,"./math/random.js":24,"./namespace.js":26,"./types/base.js":27,"./types/global.js":28,"./types/id.js":29,"./types/is.js":30,"./types/observer.js":31,"./types/observerlist.js":32,"./types/proxyobserver.js":33,"./types/queue.js":34,"./types/randomid.js":35,"./types/stack.js":36,"./types/tokenlist.js":37,"./types/uniquequeue.js":38,"./types/validate.js":39,"./types/version.js":40,"./util/clone.js":41,"./util/comparator.js":42,"./util/freeze.js":43}],26:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.assignToNamespace=assignToNamespace;exports.Monster=void 0;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var Namespace=function(){function Namespace(namespace){_classCallCheck(this,Namespace);if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}_createClass(Namespace,[{key:"getNamespace",value:function getNamespace(){return this.namespace}},{key:"toString",value:function toString(){return this.getNamespace()}}]);return Namespace}();var Monster=new Namespace("Monster");exports.Monster=Monster;assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns){var current=namespaceFor(ns.split("."));for(var i=0,l=arguments.length<=1?0:arguments.length-1;i<l;i++){current[objectName(i+1<1||arguments.length<=i+1?undefined:arguments[i+1])]=i+1<1||arguments.length<=i+1?undefined:arguments[i+1]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){var s=fn.toString();var f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}var c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(var i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}},{}],27:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Base=void 0;var _namespace=require("../namespace.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Base=function(_Object){_inherits(Base,_Object);var _super=_createSuper(Base);function Base(){_classCallCheck(this,Base);return _super.apply(this,arguments)}_createClass(Base,[{key:"toString",value:function toString(){return JSON.stringify(this)}}]);return Base}(_wrapNativeSuper(Object));exports.Base=Base;_namespace.Monster.assignToNamespace("Monster.Types",Base)},{"../namespace.js":26}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getGlobal=getGlobal;exports.getGlobalObject=getGlobalObject;exports.getGlobalFunction=getGlobalFunction;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("./validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}var globalReference;(function(){if((typeof globalThis==="undefined"?"undefined":_typeof(globalThis))==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function get(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){var _globalReference;(0,_validate.validateString)(name);var o=(_globalReference=globalReference)===null||_globalReference===void 0?void 0:_globalReference[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");(0,_validate.validateObject)(o);return o}function getGlobalFunction(name){var _globalReference2;(0,_validate.validateString)(name);var f=(_globalReference2=globalReference)===null||_globalReference2===void 0?void 0:_globalReference2[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");(0,_validate.validateFunction)(f);return f}_namespace.Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction)},{"../namespace.js":26,"./validate.js":39}],29:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.ID=void 0;var _base=require("./base.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=new Map;var ID=function(_Base){_inherits(ID,_Base);var _super=_createSuper(ID);function ID(prefix){var _this;_classCallCheck(this,ID);_this=_super.call(this);if(prefix===undefined){prefix="id"}(0,_validate.validateString)(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}var count=internalCounter.get(prefix);_this.id=prefix+count;internalCounter.set(prefix,++count);return _this}_createClass(ID,[{key:"toString",value:function toString(){return this.id}}]);return ID}(_base.Base);exports.ID=ID;_base.Monster.assignToNamespace("Monster.Types",ID)},{"./base.js":27,"./validate.js":39}],30:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isPrimitive=isPrimitive;exports.isBoolean=isBoolean;exports.isString=isString;exports.isObject=isObject;exports.isInstance=isInstance;exports.isArray=isArray;exports.isFunction=isFunction;exports.isIterable=isIterable;exports.isInteger=isInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof(value===null||value===void 0?void 0:value[Symbol.iterator])==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=_typeof(value);if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(_typeof(value)==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}_namespace.Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger)},{"../namespace.js":26}],31:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Observer=void 0;var _namespace=require("../namespace.js");var _tokenlist=require("./tokenlist.js");var _is=require("./is.js");var _base=require("./base.js");var _uniquequeue=require("./uniquequeue.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Observer=function(_Base){_inherits(Observer,_Base);var _super=_createSuper(Observer);function Observer(callback){var _this;_classCallCheck(this,Observer);_this=_super.call(this);if(typeof callback!=="function"){throw new Error("observer callback must be a function")}_this.callback=callback;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;_this.tags=new _tokenlist.TokenList;_this.queue=new _uniquequeue.UniqueQueue;return _this}_createClass(Observer,[{key:"addTag",value:function addTag(tag){this.tags.add(tag);return this}},{key:"removeTag",value:function removeTag(tag){this.tags.remove(tag);return this}},{key:"getTags",value:function getTags(){return this.tags.entries()}},{key:"hasTag",value:function hasTag(tag){return this.tags.contains(tag)}},{key:"update",value:function update(subject){var self=this;return new Promise(function(resolve,reject){if(!(0,_is.isObject)(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(function(){try{if(self.queue.isEmpty()){resolve();return}var s=self.queue.poll();var result=self.callback.apply(s,self.arguments);if((0,_is.isObject)(result)&&result instanceof Promise){result.then(resolve)["catch"](reject);return}resolve(result)}catch(e){reject(e)}},0)})}}]);return Observer}(_base.Base);exports.Observer=Observer;_namespace.Monster.assignToNamespace("Monster.Types",Observer)},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./tokenlist.js":37,"./uniquequeue.js":38}],32:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ObserverList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _observer=require("./observer.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ObserverList=function(_Base){_inherits(ObserverList,_Base);var _super=_createSuper(ObserverList);function ObserverList(){var _this;_classCallCheck(this,ObserverList);_this=_super.call(this);_this.observers=[];return _this}_createClass(ObserverList,[{key:"attach",value:function attach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);this.observers.push(observer);return this}},{key:"detach",value:function detach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}},{key:"contains",value:function contains(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}},{key:"notify",value:function notify(subject){var pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}]);return ObserverList}(_base.Base);exports.ObserverList=ObserverList;_namespace.Monster.assignToNamespace("Monster.Types",ObserverList)},{"../namespace.js":26,"./base.js":27,"./observer.js":31,"./validate.js":39}],33:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ProxyObserver=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _validate=require("./validate.js");var _observerlist=require("./observerlist.js");var _observer=require("./observer.js");var _is=require("./is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ProxyObserver=function(_Base){_inherits(ProxyObserver,_Base);var _super=_createSuper(ProxyObserver);function ProxyObserver(object){var _this;_classCallCheck(this,ProxyObserver);_this=_super.call(this);(0,_validate.validateObject)(object);_this.realSubject=object;_this.subject=new Proxy(object,getHandler.call(_assertThisInitialized(_this)));_this.objectMap=new WeakMap;_this.objectMap.set(_this.realSubject,_this.subject);_this.observers=new _observerlist.ObserverList;return _this}_createClass(ProxyObserver,[{key:"getSubject",value:function getSubject(){return this.subject}},{key:"getRealSubject",value:function getRealSubject(){return this.realSubject}},{key:"attachObserver",value:function attachObserver(observer){this.observers.attach(observer);return this}},{key:"detachObserver",value:function detachObserver(observer){this.observers.detach(observer);return this}},{key:"notifyObservers",value:function notifyObservers(){return this.observers.notify(this)}},{key:"containsObserver",value:function containsObserver(observer){return this.observers.contains(observer)}}]);return ProxyObserver}(_base.Base);exports.ProxyObserver=ProxyObserver;_namespace.Monster.assignToNamespace("Monster.Types",ProxyObserver);function getHandler(){var proxy=this;var handler={get:function get(target,key,receiver){var value=Reflect.get(target,key,receiver);if(_typeof(key)==="symbol"){return value}if((0,_is.isPrimitive)(value)){return value}if((0,_is.isArray)(value)||(0,_is.isObject)(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{var p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function set(target,key,value,receiver){var result=Reflect.set(target,key,value,receiver);if((typeof property==="undefined"?"undefined":_typeof(property))!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function deleteProperty(target,key){if(key in target){delete target[key];if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function defineProperty(target,key,descriptor){var result=Reflect.defineProperty(target,key,descriptor);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function setPrototypeOf(target,key){var result=Reflect.setPrototypeOf(object1,key);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./observer.js":31,"./observerlist.js":32,"./validate.js":39}],34:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Queue=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Queue=function(_Base){_inherits(Queue,_Base);var _super=_createSuper(Queue);function Queue(){var _this;_classCallCheck(this,Queue);_this=_super.call(this);_this.data=[];return _this}_createClass(Queue,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){if(this.isEmpty()){return undefined}return this.data[0]}},{key:"add",value:function add(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}]);return Queue}(_base.Base);exports.Queue=Queue;_base.Monster.assignToNamespace("Monster.Types",Queue)},{"./base.js":27}],35:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _id.Monster}});exports.RandomID=void 0;var _id=require("./id.js");var _global=require("./global.js");var _random=require("../math/random.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=0;var RandomID=function(_ID){_inherits(RandomID,_ID);var _super=_createSuper(RandomID);function RandomID(){var _this;_classCallCheck(this,RandomID);_this=_super.call(this);internalCounter+=1;_this.id=(0,_global.getGlobal)().btoa((0,_random.random)(1,1e4)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter;return _this}return RandomID}(_id.ID);exports.RandomID=RandomID;_id.Monster.assignToNamespace("Monster.Types",RandomID)},{"../math/random.js":24,"./global.js":28,"./id.js":29}],36:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Stack=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Stack=function(_Base){_inherits(Stack,_Base);var _super=_createSuper(Stack);function Stack(){var _this;_classCallCheck(this,Stack);_this=_super.call(this);_this.data=[];return _this}_createClass(Stack,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){var _this$data;if(this.isEmpty()){return undefined}return(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data[this.data.length-1]}},{key:"push",value:function push(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"pop",value:function pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}]);return Stack}(_base.Base);exports.Stack=Stack;_base.Monster.assignToNamespace("Monster.Types",Stack)},{"./base.js":27}],37:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.TokenList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var TokenList=function(_Base){_inherits(TokenList,_Base);var _super=_createSuper(TokenList);function TokenList(init){var _this;_classCallCheck(this,TokenList);_this=_super.call(this);_this.tokens=new Set;if(typeof init!=="undefined"){_this.add(init)}return _this}_createClass(TokenList,[{key:"getIterator",value:function getIterator(){return this[Symbol.iterator]()}},{key:Symbol.iterator,value:function value(){var index=0;var entries=this.entries();return{next:function next(){if(index<entries.length){return{value:entries===null||entries===void 0?void 0:entries[index++],done:false}}else{return{done:true}}}}}},{key:"contains",value:function contains(value){var _this2=this;if((0,_is.isString)(value)){value=value.trim();var counter=0;value.split(" ").forEach(function(token){if(_this2.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if((0,_is.isIterable)(value)){var _counter=0;var _iterator=_createForOfIteratorHelper(value),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var token=_step.value;(0,_validate.validateString)(token);if(this.tokens.has(token.trim())===false)return false;_counter++}}catch(err){_iterator.e(err)}finally{_iterator.f()}return _counter>0?true:false}return false}},{key:"add",value:function add(value){var _this3=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this3.tokens.add(token.trim())})}else if((0,_is.isIterable)(value)){var _iterator2=_createForOfIteratorHelper(value),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var token=_step2.value;(0,_validate.validateString)(token);this.tokens.add(token.trim())}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"clear",value:function clear(){this.tokens.clear();return this}},{key:"remove",value:function remove(value){var _this4=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this4.tokens["delete"](token.trim())})}else if((0,_is.isIterable)(value)){var _iterator3=_createForOfIteratorHelper(value),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var token=_step3.value;(0,_validate.validateString)(token);this.tokens["delete"](token.trim())}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"replace",value:function replace(token,newToken){(0,_validate.validateString)(token);(0,_validate.validateString)(newToken);if(!this.contains(token)){return this}var a=Array.from(this.tokens);var i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}},{key:"toggle",value:function toggle(value){var _this5=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){toggleValue.call(_this5,token)})}else if((0,_is.isIterable)(value)){var _iterator4=_createForOfIteratorHelper(value),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var token=_step4.value;toggleValue.call(this,token)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"entries",value:function entries(){return Array.from(this.tokens)}},{key:"forEach",value:function forEach(callback){(0,_validate.validateFunction)(callback);this.tokens.forEach(callback);return this}},{key:"toString",value:function toString(){return this.entries().join(" ")}}]);return TokenList}(_base.Base);exports.TokenList=TokenList;function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");(0,_validate.validateString)(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}_namespace.Monster.assignToNamespace("Monster.Types",TokenList)},{"../namespace.js":26,"../types/is.js":30,"../types/validate.js":39,"./base.js":27}],38:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _queue.Monster}});exports.UniqueQueue=void 0;var _queue=require("./queue.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _get(target,property,receiver){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver)}return desc.value}}return _get(target,property,receiver||target)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var UniqueQueue=function(_Queue){_inherits(UniqueQueue,_Queue);var _super=_createSuper(UniqueQueue);function UniqueQueue(){var _this;_classCallCheck(this,UniqueQueue);_this=_super.call(this);_this.unique=new WeakSet;return _this}_createClass(UniqueQueue,[{key:"add",value:function add(value){(0,_validate.validateObject)(value);if(!this.unique.has(value)){this.unique.add(value);_get(_getPrototypeOf(UniqueQueue.prototype),"add",this).call(this,value)}return this}},{key:"clear",value:function clear(){_get(_getPrototypeOf(UniqueQueue.prototype),"clear",this).call(this);this.unique=new WeakSet;return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}var value=this.data.shift();this.unique["delete"](value);return value}}]);return UniqueQueue}(_queue.Queue);exports.UniqueQueue=UniqueQueue;_queue.Monster.assignToNamespace("Monster.Types",UniqueQueue)},{"./queue.js":34,"./validate.js":39}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.validatePrimitive=validatePrimitive;exports.validateBoolean=validateBoolean;exports.validateString=validateString;exports.validateObject=validateObject;exports.validateInstance=validateInstance;exports.validateArray=validateArray;exports.validateFunction=validateFunction;exports.validateIterable=validateIterable;exports.validateInteger=validateInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("./is.js");function validateIterable(value){if(!(0,_is.isIterable)(value)){throw new TypeError("value is not iterable")}return value}function validatePrimitive(value){if(!(0,_is.isPrimitive)(value)){throw new TypeError("value is not a primitive")}return value}function validateBoolean(value){if(!(0,_is.isBoolean)(value)){throw new TypeError("value is not a boolean")}return value}function validateString(value){if(!(0,_is.isString)(value)){throw new TypeError("value is not a string")}return value}function validateObject(value){if(!(0,_is.isObject)(value)){throw new TypeError("value is not a object")}return value}function validateInstance(value,instance){if(!(0,_is.isInstance)(value,instance)){var n="";if((0,_is.isObject)(instance)||(0,_is.isFunction)(instance)){n=instance===null||instance===void 0?void 0:instance["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}return value}function validateArray(value){if(!(0,_is.isArray)(value)){throw new TypeError("value is not an array")}return value}function validateFunction(value){if(!(0,_is.isFunction)(value)){throw new TypeError("value is not a function")}return value}function validateInteger(value){if(!(0,_is.isInteger)(value)){throw new TypeError("value is not an integer")}return value}_namespace.Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger)},{"../namespace.js":26,"./is.js":30}],40:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getVersion=getVersion;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Version=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Version=function(_Base){_inherits(Version,_Base);var _super=_createSuper(Version);function Version(major,minor,patch){var _this;_classCallCheck(this,Version);_this=_super.call(this);if(typeof major==="string"&&minor===undefined&&patch===undefined){var parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}_this.major=parseInt(major);_this.minor=parseInt(minor);_this.patch=parseInt(patch);if(isNaN(_this.major)){throw new Error("major is not a number")}if(isNaN(_this.minor)){throw new Error("minor is not a number")}if(isNaN(_this.patch)){throw new Error("patch is not a number")}return _this}_createClass(Version,[{key:"toString",value:function toString(){return this.major+"."+this.minor+"."+this.patch}},{key:"compareTo",value:function compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}var a=[this.major,this.minor,this.patch];var b=version.split(".");var len=Math.max(a.length,b.length);for(var i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}]);return Version}(_base.Base);exports.Version=Version;_namespace.Monster.assignToNamespace("Monster.Types",Version);var monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.8.0");return monsterVersion}_namespace.Monster.assignToNamespace("Monster",getVersion)},{"../namespace.js":26,"./base.js":27}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clone=clone;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _global=require("../types/global.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function clone(obj){if(null===obj){return obj}if((0,_is.isPrimitive)(obj)){return obj}if((0,_is.isFunction)(obj)){return obj}if((0,_is.isArray)(obj)){var copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if((0,_is.isObject)(obj)){if(obj instanceof Date){var _copy=new Date;_copy.setTime(obj.getTime());return _copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===(0,_global.getGlobal)())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(_typeof(obj.hasOwnProperty("getClone"))&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(var key in obj){if(!obj.hasOwnProperty(key)){continue}if(_namespace.Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}_namespace.Monster.assignToNamespace("Monster.Util",clone)},{"../namespace.js":26,"../types/global.js":28,"../types/is.js":30}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Comparator=void 0;var _base=require("../types/base.js");var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Comparator=function(_Base){_inherits(Comparator,_Base);var _super=_createSuper(Comparator);function Comparator(callback){var _this;_classCallCheck(this,Comparator);_this=_super.call(this);if((0,_is.isFunction)(callback)){_this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{_this.compare=function(a,b){if(_typeof(a)!==_typeof(b)){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}return _this}_createClass(Comparator,[{key:"reverse",value:function reverse(){var original=this.compare;this.compare=function(a,b){return original(b,a)};return this}},{key:"equal",value:function equal(a,b){return this.compare(a,b)===0}},{key:"greaterThan",value:function greaterThan(a,b){return this.compare(a,b)>0}},{key:"greaterThanOrEqual",value:function greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}},{key:"lessThanOrEqual",value:function lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}},{key:"lessThan",value:function lessThan(a,b){return this.compare(a,b)<0}}]);return Comparator}(_base.Base);exports.Comparator=Comparator;_base.Monster.assignToNamespace("Monster.Util",Comparator)},{"../types/base.js":27,"../types/is.js":30}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deepFreeze=deepFreeze;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function deepFreeze(object){(0,_validate.validateObject)(object);var propNames=Object.getOwnPropertyNames(object);var _iterator=_createForOfIteratorHelper(propNames),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var name=_step.value;var value=object[name];object[name]=value&&_typeof(value)==="object"?deepFreeze(value):value}}catch(err){_iterator.e(err)}finally{_iterator.f()}return Object.freeze(object)}_namespace.Monster.assignToNamespace("Monster.Util",deepFreeze)},{"../namespace.js":26,"../types/validate.js":39}]},{},[25]); +/** Monster 1.9.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.AbstractConstraint=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractConstraint=function(_Base){_inherits(AbstractConstraint,_Base);var _super=_createSuper(AbstractConstraint);function AbstractConstraint(){_classCallCheck(this,AbstractConstraint);return _super.call(this)}_createClass(AbstractConstraint,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return AbstractConstraint}(_base.Base);exports.AbstractConstraint=AbstractConstraint;_namespace.Monster.assignToNamespace("Monster.Constraints",AbstractConstraint)},{"../namespace.js":26,"../types/base.js":27}],2:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AbstractOperator=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractOperator=function(_AbstractConstraint){_inherits(AbstractOperator,_AbstractConstraint);var _super=_createSuper(AbstractOperator);function AbstractOperator(operantA,operantB){var _this;_classCallCheck(this,AbstractOperator);_this=_super.call(this);if(!(operantA instanceof _abstract.AbstractConstraint)||!(operantB instanceof _abstract.AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}_this.operantA=operantA;_this.operantB=operantB;return _this}return AbstractOperator}(_abstract.AbstractConstraint);exports.AbstractOperator=AbstractOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AbstractOperator)},{"./abstract.js":1}],3:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AndOperator=void 0;var _abstract=require("./abstract.js");var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AndOperator=function(_AbstractOperator){_inherits(AndOperator,_AbstractOperator);var _super=_createSuper(AndOperator);function AndOperator(){_classCallCheck(this,AndOperator);return _super.apply(this,arguments)}_createClass(AndOperator,[{key:"isValid",value:function isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}]);return AndOperator}(_abstractoperator.AbstractOperator);exports.AndOperator=AndOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AndOperator)},{"./abstract.js":1,"./abstractoperator.js":2}],4:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Invalid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Invalid=function(_AbstractConstraint){_inherits(Invalid,_AbstractConstraint);var _super=_createSuper(Invalid);function Invalid(){_classCallCheck(this,Invalid);return _super.apply(this,arguments)}_createClass(Invalid,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return Invalid}(_abstract.AbstractConstraint);exports.Invalid=Invalid;_abstract.Monster.assignToNamespace("Monster.Constraints",Invalid)},{"./abstract.js":1}],5:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsArray=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsArray=function(_AbstractConstraint){_inherits(IsArray,_AbstractConstraint);var _super=_createSuper(IsArray);function IsArray(){_classCallCheck(this,IsArray);return _super.apply(this,arguments)}_createClass(IsArray,[{key:"isValid",value:function isValid(value){if((0,_is.isArray)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsArray}(_abstract.AbstractConstraint);exports.IsArray=IsArray;_abstract.Monster.assignToNamespace("Monster.Constraints",IsArray)},{"../types/is.js":30,"./abstract.js":1}],6:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsObject=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsObject=function(_AbstractConstraint){_inherits(IsObject,_AbstractConstraint);var _super=_createSuper(IsObject);function IsObject(){_classCallCheck(this,IsObject);return _super.apply(this,arguments)}_createClass(IsObject,[{key:"isValid",value:function isValid(value){if((0,_is.isObject)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsObject}(_abstract.AbstractConstraint);exports.IsObject=IsObject;_abstract.Monster.assignToNamespace("Monster.Constraints",IsObject)},{"../types/is.js":30,"./abstract.js":1}],7:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstractoperator.Monster}});exports.OrOperator=void 0;var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var OrOperator=function(_AbstractOperator){_inherits(OrOperator,_AbstractOperator);var _super=_createSuper(OrOperator);function OrOperator(){_classCallCheck(this,OrOperator);return _super.apply(this,arguments)}_createClass(OrOperator,[{key:"isValid",value:function isValid(value){var self=this;return new Promise(function(resolve,reject){var a,b;self.operantA.isValid(value).then(function(){resolve()})["catch"](function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()})["catch"](function(){b=false;if(a===false){reject()}})})}}]);return OrOperator}(_abstractoperator.AbstractOperator);exports.OrOperator=OrOperator;_abstractoperator.Monster.assignToNamespace("Monster.Constraints",OrOperator)},{"./abstractoperator.js":2}],8:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Valid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Valid=function(_AbstractConstraint){_inherits(Valid,_AbstractConstraint);var _super=_createSuper(Valid);function Valid(){_classCallCheck(this,Valid);return _super.apply(this,arguments)}_createClass(Valid,[{key:"isValid",value:function isValid(value){return Promise.resolve(value)}}]);return Valid}(_abstract.AbstractConstraint);exports.Valid=Valid;_abstract.Monster.assignToNamespace("Monster.Constraints",Valid)},{"./abstract.js":1}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Diff=Diff;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _is.Monster}});var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if((0,_is.isArray)(type)){var keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map(function(_,i){return i}))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){var typeA=_typeof(a);var typeB=_typeof(b);var currPath=path||[];var currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(function(v){if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{var o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){var result={operator:operator,path:path};if(operator!=="add"){result.first={value:a,type:_typeof(a)};if((0,_is.isObject)(a)){var _Object$getPrototypeO,_Object$getPrototypeO2;var name=(_Object$getPrototypeO=Object.getPrototypeOf(a))===null||_Object$getPrototypeO===void 0?void 0:(_Object$getPrototypeO2=_Object$getPrototypeO.constructor)===null||_Object$getPrototypeO2===void 0?void 0:_Object$getPrototypeO2.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:_typeof(b)};if((0,_is.isObject)(b)){var _Object$getPrototypeO3,_Object$getPrototypeO4;var _name=(_Object$getPrototypeO3=Object.getPrototypeOf(b))===null||_Object$getPrototypeO3===void 0?void 0:(_Object$getPrototypeO4=_Object$getPrototypeO3.constructor)===null||_Object$getPrototypeO4===void 0?void 0:_Object$getPrototypeO4.name;if(_name!==undefined){result.second.instance=_name}}}return result}function isNotEqual(a,b){if(_typeof(a)!==_typeof(b)){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){var operator;var typeA=_typeof(a);var typeB=_typeof(b);if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}_is.Monster.assignToNamespace("Monster.Data",Diff)},{"../types/is.js":30}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pathfinder=void 0;var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");var _stack=require("../types/stack.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER=".";var WILDCARD="*";var Pathfinder=function(_Base){_inherits(Pathfinder,_Base);var _super=_createSuper(Pathfinder);function Pathfinder(object){var _this;_classCallCheck(this,Pathfinder);_this=_super.call(this);_this.object=object;_this.wildCard=WILDCARD;return _this}_createClass(Pathfinder,[{key:"setWildCard",value:function setWildCard(wildcard){(0,_validate.validateString)(wildcard);this.wildCard=wildcard;return this}},{key:"getVia",value:function getVia(path){(0,_validate.validateString)(path);return getValueViaPath.call(this,this.object,path)}},{key:"setVia",value:function setVia(path,value){(0,_validate.validateString)(path);setValueViaPath.call(this,this.object,path,value);return this}},{key:"deleteVia",value:function deleteVia(path){(0,_validate.validateString)(path);deleteValueViaPath.call(this,this.object,path);return this}},{key:"exists",value:function exists(path){(0,_validate.validateString)(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}]);return Pathfinder}(_base.Base);exports.Pathfinder=Pathfinder;_namespace.Monster.assignToNamespace("Monster.Data",Pathfinder);function iterate(subject,path,check){var result=new Map;if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){for(var _i=0,_Object$entries=Object.entries(subject);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],value=_Object$entries$_i[1];result.set(key,getValueViaPath.call(this,value,path,check))}}else{var _key=path.split(DELIMITER).shift();result.set(_key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}var parts=path.split(DELIMITER);var current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){var anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){var _ref;current=parseInt(current);(0,_validate.validateInteger)(current);anchor=(_ref=_toConsumableArray(subject))===null||_ref===void 0?void 0:_ref[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(subject)){current=parseInt(current);(0,_validate.validateInteger)(current);anchor=subject===null||subject===void 0?void 0:subject[current]}else{anchor=subject===null||subject===void 0?void 0:subject[current]}if((0,_is.isObject)(anchor)||(0,_is.isArray)(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+_typeof(subject))}function setValueViaPath(object,path,value){(0,_validate.validateString)(path);var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var stack=new _stack.Stack;var current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();var obj={};if(!stack.isEmpty()){var n=stack.peek().split(DELIMITER).pop();if((0,_is.isInteger)(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}var anchor=getValueViaPath.call(this,object,subpath);if(!(0,_is.isObject)(object)&&!(0,_is.isArray)(object)){throw TypeError("unsupported type: "+_typeof(object))}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor["delete"](last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);delete anchor[last]}else{delete anchor[last]}return}},{"../namespace.js":26,"../types/base.js":27,"../types/is.js":30,"../types/stack.js":36,"../types/validate.js":39}],11:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pipe=void 0;var _namespace=require("../namespace.js");var _transformer=require("./transformer.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER="|";var Pipe=function(_Base){_inherits(Pipe,_Base);var _super=_createSuper(Pipe);function Pipe(pipe){var _this;_classCallCheck(this,Pipe);_this=_super.call(this);(0,_validate.validateString)(pipe);_this.pipe=pipe.split(DELIMITER).map(function(v){return new _transformer.Transformer(v)});return _this}_createClass(Pipe,[{key:"setCallback",value:function setCallback(name,callback){for(var _i=0,_Object$entries=Object.entries(this.pipe);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),t=_Object$entries$_i[1];t.setCallback(name,callback)}return this}},{key:"run",value:function run(value){return this.pipe.reduce(function(accumulator,transformer,currentIndex,array){return transformer.run(accumulator)},value)}}]);return Pipe}(_base.Base);exports.Pipe=Pipe;_namespace.Monster.assignToNamespace("Monster.Data",Pipe)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./transformer.js":12}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Transformer=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _is=require("../types/is.js");var _id=require("../types/id.js");var _clone=require("../util/clone.js");var _pathfinder=require("./pathfinder.js");function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _wrapRegExp(){_wrapRegExp=function _wrapRegExp(re,groups){return new BabelRegExp(re,undefined,groups)};var _super=RegExp.prototype;var _groups=new WeakMap;function BabelRegExp(re,flags,groups){var _this=new RegExp(re,flags);_groups.set(_this,groups||_groups.get(re));return _setPrototypeOf(_this,BabelRegExp.prototype)}_inherits(BabelRegExp,RegExp);BabelRegExp.prototype.exec=function(str){var result=_super.exec.call(this,str);if(result)result.groups=buildGroups(result,this);return result};BabelRegExp.prototype[Symbol.replace]=function(str,substitution){if(typeof substitution==="string"){var groups=_groups.get(this);return _super[Symbol.replace].call(this,str,substitution.replace(/\$<([^>]+)>/g,function(_,name){return"$"+groups[name]}))}else if(typeof substitution==="function"){var _this=this;return _super[Symbol.replace].call(this,str,function(){var args=arguments;if(_typeof(args[args.length-1])!=="object"){args=[].slice.call(args);args.push(buildGroups(args,_this))}return substitution.apply(this,args)})}else{return _super[Symbol.replace].call(this,str,substitution)}};function buildGroups(result,re){var g=_groups.get(re);return Object.keys(g).reduce(function(groups,name){groups[name]=result[g[name]];return groups},Object.create(null))}return _wrapRegExp.apply(this,arguments)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Transformer=function(_Base){_inherits(Transformer,_Base);var _super=_createSuper(Transformer);function Transformer(definition){var _this;_classCallCheck(this,Transformer);_this=_super.call(this);(0,_validate.validateString)(definition);_this.args=disassemble(definition);_this.command=_this.args.shift();_this.callbacks=new Map;return _this}_createClass(Transformer,[{key:"setCallback",value:function setCallback(name,callback){(0,_validate.validateString)(name);(0,_validate.validateFunction)(callback);this.callbacks.set(name,callback);return this}},{key:"run",value:function run(value){return transform.apply(this,[value])}}]);return Transformer}(_base.Base);exports.Transformer=Transformer;_namespace.Monster.assignToNamespace("Monster.Data",Transformer);function disassemble(command){(0,_validate.validateString)(command);var placeholder=new Map;var regex=_wrapRegExp(/((\\(.)){1})/gim,{pattern:2,char:3});var result=command.matchAll(regex);var _iterator=_createForOfIteratorHelper(result),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var m=_step.value;var g=m===null||m===void 0?void 0:m["groups"];if(!(0,_is.isObject)(g)){continue}var p=g===null||g===void 0?void 0:g["pattern"];var c=g===null||g===void 0?void 0:g["char"];if(p&&c){var r="__"+(new _id.ID).toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}var parts=command.split(":");parts=parts.map(function(value){var v=value.trim();var _iterator2=_createForOfIteratorHelper(placeholder),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var k=_step2.value;v=v.replace(k[0],k[1])}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return v});return parts}function convertToString(value){if((0,_is.isObject)(value)&&value.hasOwnProperty("toString")){value=value.toString()}(0,_validate.validateString)(value);return value}function transform(value){var args=(0,_clone.clone)(this.args);var key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":(0,_validate.validateString)(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":(0,_validate.validateString)(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":var n=parseInt(value);(0,_validate.validateInteger)(n);return n;case"tojson":return JSON.stringify(value);case"trim":(0,_validate.validateString)(value);return value.trim();case"rawurlencode":(0,_validate.validateString)(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":var callback;var callbackName=args.shift();if((0,_is.isObject)(value)&&value.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if((typeof window==="undefined"?"undefined":_typeof(window))==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}(0,_validate.validateFunction)(callback);args.unshift(value);return callback.apply(void 0,_toConsumableArray(args));case"plain":case"plaintext":(0,_validate.validateString)(value);var doc=(new DOMParser).parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":(0,_validate.validatePrimitive)(value);var trueStatement=args.shift()||undefined;var falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}var condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":(0,_validate.validateString)(value);var firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":(0,_validate.validateString)(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if(((0,_is.isString)(value)||(0,_is.isObject)(value)||(0,_is.isArray)(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":(0,_validate.validateString)(value);var prefix=args===null||args===void 0?void 0:args[0];return prefix+value;case"suffix":(0,_validate.validateString)(value);var suffix=args===null||args===void 0?void 0:args[0];return value+suffix;case"uniqid":return(new _id.ID).toString();case"key":case"property":case"index":key=args.shift()||"undefined";var defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if((0,_is.isObject)(value)||(0,_is.isArray)(value)){if(value!==null&&value!==void 0&&value[key]){return value===null||value===void 0?void 0:value[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new _pathfinder.Pathfinder(value).getVia(key);case"substring":(0,_validate.validateString)(value);var start=parseInt(args[0])||0;var end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command)}return value}},{"../namespace.js":26,"../types/base.js":27,"../types/id.js":29,"../types/is.js":30,"../types/validate.js":39,"../util/clone.js":41,"./pathfinder.js":10}],13:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Assembler=exports.ATTRIBUTEPREFIX=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _proxyobserver=require("../types/proxyobserver.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ATTRIBUTEPREFIX="data-monster-";exports.ATTRIBUTEPREFIX=ATTRIBUTEPREFIX;var Assembler=function(_Base){_inherits(Assembler,_Base);var _super=_createSuper(Assembler);function Assembler(fragment){var _this;_classCallCheck(this,Assembler);_this=_super.call(this);_this.attributePrefix=ATTRIBUTEPREFIX;(0,_validate.validateInstance)(fragment,(0,_global.getGlobalFunction)("DocumentFragment"));_this.fragment=fragment;return _this}_createClass(Assembler,[{key:"setAttributePrefix",value:function setAttributePrefix(prefix){(0,_validate.validateString)(prefix);this.attributePrefix=prefix;return this}},{key:"getAttributePrefix",value:function getAttributePrefix(){return this.attributePrefix}},{key:"createDocumentFragment",value:function createDocumentFragment(data){if(data===undefined){data=new _proxyobserver.ProxyObserver({})}(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);var fragment=this.fragment.cloneNode(true);return fragment}}]);return Assembler}(_base.Base);exports.Assembler=Assembler;_base.Monster.assignToNamespace("Monster.DOM",Assembler)},{"../types/base.js":27,"../types/global.js":28,"../types/proxyobserver.js":33,"../types/validate.js":39}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ATTRIBUTE_UPDATER_REMOVE=exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=exports.ATTRIBUTE_UPDATER_INSERT=exports.ATTRIBUTE_UPDATER_REPLACE=exports.ATTRIBUTE_UPDATER_ATTRIBUTES=exports.ATTRIBUTE_THEME_NAME=exports.ATTRIBUTE_THEME_PREFIX=exports.DEFAULT_THEME=exports.ATTRIBUTE_OPTIONS=exports.ATTRIBUTE_PREFIX=void 0;var _namespace=require("../namespace.js");var ATTRIBUTE_PREFIX="data-monster-";exports.ATTRIBUTE_PREFIX=ATTRIBUTE_PREFIX;var ATTRIBUTE_OPTIONS=ATTRIBUTE_PREFIX+"options";exports.ATTRIBUTE_OPTIONS=ATTRIBUTE_OPTIONS;var DEFAULT_THEME="monster";exports.DEFAULT_THEME=DEFAULT_THEME;var ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_PREFIX+"theme-";exports.ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_THEME_PREFIX;var ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_PREFIX+"name";exports.ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_NAME;var ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_PREFIX+"attributes";exports.ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_UPDATER_ATTRIBUTES;var ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_PREFIX+"replace";exports.ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_UPDATER_REPLACE;var ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_PREFIX+"insert";exports.ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_UPDATER_INSERT;var ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_PREFIX+"insert-reference";exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_UPDATER_INSERT_REFERENCE;var ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_PREFIX+"remove";exports.ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_UPDATER_REMOVE},{"../namespace.js":26}],15:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.registerCustomElement=registerCustomElement;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _validate.Monster}});exports.CustomElement=void 0;var _constants=require("./constants.js");var _template=require("./template.js");var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var CustomElement=function(_HTMLElement){_inherits(CustomElement,_HTMLElement);var _super=_createSuper(CustomElement);function CustomElement(){var _this;_classCallCheck(this,CustomElement);_this=_super.call(this);_this._options=Object.assign({},_this.defaults,getOptionsFromAttributes.call(_assertThisInitialized(_this)));_this.init();return _this}_createClass(CustomElement,[{key:"defaults",get:function get(){return{shadowMode:"open",delegatesFocus:true}}},{key:"getOption",value:function getOption(key,defaultValue){var _this$_options;(0,_validate.validateString)(key);var v=(_this$_options=this._options)===null||_this$_options===void 0?void 0:_this$_options[key];if(v===undefined)return defaultValue;return v}},{key:"init",value:function init(){initShadowRoot.call(this);return this}},{key:"assemble",value:function assemble(){return this}},{key:"disassemble",value:function disassemble(){return this}},{key:"connectedCallback",value:function connectedCallback(){this.assemble()}},{key:"disconnectedCallback",value:function disconnectedCallback(){this.disassemble()}},{key:"adoptedCallback",value:function adoptedCallback(){}},{key:"attributeChangedCallback",value:function attributeChangedCallback(attrName,oldVal,newVal){this.assemble()}}],[{key:"getTemplate",value:function getTemplate(){throw new Error("the method getTemplate must be overwritten by the derived class.")}},{key:"getTag",value:function getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}},{key:"getCSSStyleSheet",value:function getCSSStyleSheet(){return new CSSStyleSheet}}]);return CustomElement}(_wrapNativeSuper(HTMLElement));exports.CustomElement=CustomElement;function getOptionsFromAttributes(){if(this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)){try{var obj=JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS));(0,_validate.validateObject)(obj);return obj}catch(e){throw new Error("the options attribute "+_constants.ATTRIBUTE_OPTIONS+" does not contain a valid json definition (actual: "+this.getAttribute(_constants.ATTRIBUTE_OPTIONS)+").")}}return{}}function initShadowRoot(){this.attachShadow({mode:this.getOption("shadowMode","open"),delegatesFocus:this.getOption("delegatesFocus",true)});var styleSheet=this.constructor.getCSSStyleSheet();if(styleSheet instanceof CSSStyleSheet){this.shadowRoot.adoptedStyleSheets=[styleSheet]}try{var template=(0,_template.findDocumentTemplate)(this.constructor.getTag());this.shadowRoot.appendChild(template.createDocumentFragment())}catch(e){this.shadowRoot.innerHTML=this.constructor.getTemplate()}return this}function registerCustomElement(element){(0,_validate.validateFunction)(element);var tag=element.getTag();(0,_global.getGlobalObject)("customElements").define(element.getTag(),element);return}_validate.Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement)},{"../types/global.js":28,"../types/validate.js":39,"./constants.js":14,"./template.js":17}],16:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getHandleFromNode=getHandleFromNode;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Handle=void 0;var _base=require("../types/base.js");var _stack=require("../types/stack.js");var _validate=require("../types/validate.js");var _proxyobserver=require("../types/proxyobserver.js");var _observer=require("../types/observer.js");var _global=require("../types/global.js");var _is=require("../types/is.js");var _assembler=require("./assembler.js");var _id=require("../types/id.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var MONSTERDOMHANDLE=Symbol("MonsterHandle");var Handle=function(_Base){_inherits(Handle,_Base);var _super=_createSuper(Handle);function Handle(data){var _this;_classCallCheck(this,Handle);_this=_super.call(this);var self=_assertThisInitialized(_this);self.id=new _id.ID;(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);_this.data=data;_this.mutationObserver=createMutationObserver.call(_assertThisInitialized(_this));_this.dataObserver=createDataObserver.call(_assertThisInitialized(_this));_this.data.attachObserver(_this.dataObserver);_this.nodes=new WeakSet;_this.updates=new _stack.Stack;return _this}_createClass(Handle,[{key:"update",value:function update(){return}},{key:"remove",value:function remove(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(_assembler.ATTRIBUTEPREFIX+"handler");return this}},{key:"append",value:function append(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(_assembler.ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}]);return Handle}(_base.Base);exports.Handle=Handle;function createDataObserver(){var self=this;return new _observer.Observer(function(){self.update()})}function createMutationObserver(){var self=this;var MutationObserver=(0,_global.getGlobalFunction)("MutationObserver");return new MutationObserver(function(mutationsList,observer){var _iterator=_createForOfIteratorHelper(mutationsList),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var mutation=_step.value;self.updates.push(mutation)}}catch(err){_iterator.e(err)}finally{_iterator.f()}self.update()})}function getHandleFromNode(node){var _node$dataset;(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("Node"));var handle=(_node$dataset=node.dataset)===null||_node$dataset===void 0?void 0:_node$dataset[MONSTERDOMHANDLE];if(handle===undefined){var parentNode=node===null||node===void 0?void 0:node["parentNode"];if((0,_is.isInstance)(parentNode,(0,_global.getGlobalFunction)("Node"))){return getHandleFromNode(parentNode)}}return handle}_base.Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle)},{"../types/base.js":27,"../types/global.js":28,"../types/id.js":29,"../types/is.js":30,"../types/observer.js":31,"../types/proxyobserver.js":33,"../types/stack.js":36,"../types/validate.js":39,"./assembler.js":13}],17:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.findDocumentTemplate=findDocumentTemplate;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Template=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _theme=require("./theme.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Template=function(_Base){_inherits(Template,_Base);var _super=_createSuper(Template);function Template(template){var _this;_classCallCheck(this,Template);_this=_super.call(this);var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");(0,_validate.validateInstance)(template,HTMLTemplateElement);_this.template=template;return _this}_createClass(Template,[{key:"getTemplateElement",value:function getTemplateElement(){return this.template}},{key:"createDocumentFragment",value:function createDocumentFragment(){return this.template.content.cloneNode(true)}}]);return Template}(_base.Base);exports.Template=Template;function findDocumentTemplate(id){(0,_validate.validateString)(id);var document=(0,_global.getGlobalObject)("document");var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");var theme=(0,_theme.getDocumentTheme)();var themedID=id+"-"+theme.getName();var template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}_base.Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./theme.js":18}],18:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getDocumentTheme=getDocumentTheme;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Theme=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _constants=require("./constants.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Theme=function(_Base){_inherits(Theme,_Base);var _super=_createSuper(Theme);function Theme(name){var _this;_classCallCheck(this,Theme);_this=_super.call(this);(0,_validate.validateString)(name);_this.name=name;return _this}_createClass(Theme,[{key:"getName",value:function getName(){return this.name}}]);return Theme}(_base.Base);exports.Theme=Theme;function getDocumentTheme(){var document=(0,_global.getGlobalObject)("document");var name=_constants.DEFAULT_THEME;var element=document.querySelector("html");if(element instanceof HTMLElement){var theme=element.getAttribute(_constants.ATTRIBUTE_THEME_NAME);if(theme){name=theme}}return new Theme(name)}_base.Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./constants.js":14}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getWindow=getWindow;exports.getDocument=getDocument;exports.getDocumentFragmentFromString=getDocumentFragmentFromString;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function getDocument(){var _getGlobal;var document=(_getGlobal=(0,_global.getGlobal)())===null||_getGlobal===void 0?void 0:_getGlobal["document"];if(_typeof(document)!=="object"){throw new Error("not supported environment")}return document}function getWindow(){var _getGlobal2;var window=(_getGlobal2=(0,_global.getGlobal)())===null||_getGlobal2===void 0?void 0:_getGlobal2["window"];if(_typeof(window)!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){(0,_validate.validateString)(html);var document=getDocument();var template=document.createElement("template");template.innerHTML=html;return template.content}_global.Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString)},{"../types/global.js":28,"../types/validate.js":39}],20:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Handler=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _logger=require("./logger.js");var _logentry=require("./logentry.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Handler=function(_Base){_inherits(Handler,_Base);var _super=_createSuper(Handler);function Handler(){var _this;_classCallCheck(this,Handler);_this=_super.call(this);_this.loglevel=_logger.OFF;return _this}_createClass(Handler,[{key:"log",value:function log(entry){(0,_validate.validateInstance)(entry,_logentry.LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}},{key:"setLogLevel",value:function setLogLevel(loglevel){(0,_validate.validateInteger)(loglevel);this.loglevel=loglevel;return this}},{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"setAll",value:function setAll(){this.setLogLevel(_logger.ALL);return this}},{key:"setTrace",value:function setTrace(){this.setLogLevel(_logger.TRACE);return this}},{key:"setDebug",value:function setDebug(){this.setLogLevel(_logger.DEBUG);return this}},{key:"setInfo",value:function setInfo(){this.setLogLevel(_logger.INFO);return this}},{key:"setWarn",value:function setWarn(){this.setLogLevel(_logger.WARN);return this}},{key:"setError",value:function setError(){this.setLogLevel(_logger.ERROR);return this}},{key:"setFatal",value:function setFatal(){this.setLogLevel(_logger.FATAL);return this}},{key:"setOff",value:function setOff(){this.setLogLevel(_logger.OFF);return this}}]);return Handler}(_base.Base);exports.Handler=Handler;_namespace.Monster.assignToNamespace("Monster.Logging",Handler)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./logentry.js":22,"./logger.js":23}],21:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});Object.defineProperty(exports,"Handler",{enumerable:true,get:function get(){return _handler.Handler}});var _namespace=require("../../namespace.js");var _base=require("../../types/base.js");var _handler=require("../../logging/handler.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ConsoleHandler=function(_Base){_inherits(ConsoleHandler,_Base);var _super=_createSuper(ConsoleHandler);function ConsoleHandler(){_classCallCheck(this,ConsoleHandler);return _super.call(this)}return ConsoleHandler}(_base.Base);_namespace.Monster.assignToNamespace("Monster.Logging",ConsoleHandler)},{"../../logging/handler.js":20,"../../namespace.js":26,"../../types/base.js":27}],22:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.LogEntry=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var LogEntry=function(_Base){_inherits(LogEntry,_Base);var _super=_createSuper(LogEntry);function LogEntry(loglevel){var _this;_classCallCheck(this,LogEntry);_this=_super.call(this);(0,_validate.validateInteger)(loglevel);_this.loglevel=loglevel;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;return _this}_createClass(LogEntry,[{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"getArguments",value:function getArguments(){return this.arguments}}]);return LogEntry}(_base.Base);exports.LogEntry=LogEntry;_namespace.Monster.assignToNamespace("Monster.Logging",LogEntry)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],23:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.OFF=exports.FATAL=exports.ERROR=exports.WARN=exports.INFO=exports.DEBUG=exports.TRACE=exports.ALL=exports.Logger=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _handler=require("../logging/handler.js");var _logentry=require("../logging/logentry.js");var _base=require("../types/base.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ALL=255;exports.ALL=ALL;var TRACE=64;exports.TRACE=TRACE;var DEBUG=32;exports.DEBUG=DEBUG;var INFO=16;exports.INFO=INFO;var WARN=8;exports.WARN=WARN;var ERROR=4;exports.ERROR=ERROR;var FATAL=2;exports.FATAL=FATAL;var OFF=0;exports.OFF=OFF;var Logger=function(_Base){_inherits(Logger,_Base);var _super=_createSuper(Logger);function Logger(){var _this;_classCallCheck(this,Logger);_this=_super.call(this);_this.handler=new Set;return _this}_createClass(Logger,[{key:"addHandler",value:function addHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}},{key:"removeHandler",value:function removeHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler["delete"](handler);return this}},{key:"logTrace",value:function logTrace(){triggerLog.apply(this,[TRACE].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logDebug",value:function logDebug(){triggerLog.apply(this,[DEBUG].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logInfo",value:function logInfo(){triggerLog.apply(this,[INFO].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logWarn",value:function logWarn(){triggerLog.apply(this,[WARN].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logError",value:function logError(){triggerLog.apply(this,[ERROR].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logFatal",value:function logFatal(){triggerLog.apply(this,[FATAL].concat(Array.prototype.slice.call(arguments)));return this}},{key:"getLabel",value:function getLabel(level){(0,_validate.validateInteger)(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}},{key:"getLevel",value:function getLevel(label){(0,_validate.validateString)(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}]);return Logger}(_base.Base);exports.Logger=Logger;_namespace.Monster.assignToNamespace("Monster.Logging",Logger);function triggerLog(loglevel){var logger=this;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var _iterator=_createForOfIteratorHelper(logger.handler),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var handler=_step.value;handler.log(new _logentry.LogEntry(loglevel,args))}}catch(err){_iterator.e(err)}finally{_iterator.f()}return logger}},{"../logging/handler.js":20,"../logging/logentry.js":22,"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.random=random;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1e9;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){var crypt;var globalReference=(0,_global.getGlobal)();crypt=(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["msCrypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}var rval=0;var range=max-min;if(range<2){return min}var bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}var bytesNeeded=Math.ceil(bitsNeeded/8);var mask=Math.pow(2,bitsNeeded)-1;var byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);var p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}_global.Monster.assignToNamespace("Monster.Math",random)},{"../types/global.js":28}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("./namespace.js");require("./types/base.js");require("./types/global.js");require("./types/id.js");require("./types/is.js");require("./types/observer.js");require("./types/observerlist.js");require("./types/proxyobserver.js");require("./types/queue.js");require("./types/randomid.js");require("./types/stack.js");require("./types/tokenlist.js");require("./types/uniquequeue.js");require("./types/validate.js");require("./types/version.js");require("./math/random.js");require("./data/diff.js");require("./data/pathfinder.js");require("./data/pipe.js");require("./data/transformer.js");require("./logging/handler.js");require("./logging/logentry.js");require("./logging/logger.js");require("./logging/handler/console.js");require("./util/clone.js");require("./util/comparator.js");require("./util/freeze.js");require("./constraints/abstract.js");require("./constraints/abstractoperator.js");require("./constraints/andoperator.js");require("./constraints/invalid.js");require("./constraints/isarray.js");require("./constraints/isobject.js");require("./constraints/oroperator.js");require("./constraints/valid.js");require("./dom/util.js");require("./dom/template.js");require("./dom/handle.js");require("./dom/assembler.js");require("./dom/customelement.js");_namespace.Monster.Util.deepFreeze(_namespace.Monster);var rootName;try{rootName=_namespace.Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";_namespace.Monster.Types.getGlobal()[rootName]=_namespace.Monster},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":15,"./dom/handle.js":16,"./dom/template.js":17,"./dom/util.js":19,"./logging/handler.js":20,"./logging/handler/console.js":21,"./logging/logentry.js":22,"./logging/logger.js":23,"./math/random.js":24,"./namespace.js":26,"./types/base.js":27,"./types/global.js":28,"./types/id.js":29,"./types/is.js":30,"./types/observer.js":31,"./types/observerlist.js":32,"./types/proxyobserver.js":33,"./types/queue.js":34,"./types/randomid.js":35,"./types/stack.js":36,"./types/tokenlist.js":37,"./types/uniquequeue.js":38,"./types/validate.js":39,"./types/version.js":40,"./util/clone.js":41,"./util/comparator.js":42,"./util/freeze.js":43}],26:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.assignToNamespace=assignToNamespace;exports.Monster=void 0;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var Namespace=function(){function Namespace(namespace){_classCallCheck(this,Namespace);if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}_createClass(Namespace,[{key:"getNamespace",value:function getNamespace(){return this.namespace}},{key:"toString",value:function toString(){return this.getNamespace()}}]);return Namespace}();var Monster=new Namespace("Monster");exports.Monster=Monster;assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns){var current=namespaceFor(ns.split("."));for(var i=0,l=arguments.length<=1?0:arguments.length-1;i<l;i++){current[objectName(i+1<1||arguments.length<=i+1?undefined:arguments[i+1])]=i+1<1||arguments.length<=i+1?undefined:arguments[i+1]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){var s=fn.toString();var f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}var c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(var i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}},{}],27:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Base=void 0;var _namespace=require("../namespace.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Base=function(_Object){_inherits(Base,_Object);var _super=_createSuper(Base);function Base(){_classCallCheck(this,Base);return _super.apply(this,arguments)}_createClass(Base,[{key:"toString",value:function toString(){return JSON.stringify(this)}}]);return Base}(_wrapNativeSuper(Object));exports.Base=Base;_namespace.Monster.assignToNamespace("Monster.Types",Base)},{"../namespace.js":26}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getGlobal=getGlobal;exports.getGlobalObject=getGlobalObject;exports.getGlobalFunction=getGlobalFunction;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("./validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}var globalReference;(function(){if((typeof globalThis==="undefined"?"undefined":_typeof(globalThis))==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function get(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){var _globalReference;(0,_validate.validateString)(name);var o=(_globalReference=globalReference)===null||_globalReference===void 0?void 0:_globalReference[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");(0,_validate.validateObject)(o);return o}function getGlobalFunction(name){var _globalReference2;(0,_validate.validateString)(name);var f=(_globalReference2=globalReference)===null||_globalReference2===void 0?void 0:_globalReference2[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");(0,_validate.validateFunction)(f);return f}_namespace.Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction)},{"../namespace.js":26,"./validate.js":39}],29:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.ID=void 0;var _base=require("./base.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=new Map;var ID=function(_Base){_inherits(ID,_Base);var _super=_createSuper(ID);function ID(prefix){var _this;_classCallCheck(this,ID);_this=_super.call(this);if(prefix===undefined){prefix="id"}(0,_validate.validateString)(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}var count=internalCounter.get(prefix);_this.id=prefix+count;internalCounter.set(prefix,++count);return _this}_createClass(ID,[{key:"toString",value:function toString(){return this.id}}]);return ID}(_base.Base);exports.ID=ID;_base.Monster.assignToNamespace("Monster.Types",ID)},{"./base.js":27,"./validate.js":39}],30:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isPrimitive=isPrimitive;exports.isBoolean=isBoolean;exports.isString=isString;exports.isObject=isObject;exports.isInstance=isInstance;exports.isArray=isArray;exports.isFunction=isFunction;exports.isIterable=isIterable;exports.isInteger=isInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof(value===null||value===void 0?void 0:value[Symbol.iterator])==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=_typeof(value);if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(_typeof(value)==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}_namespace.Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger)},{"../namespace.js":26}],31:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Observer=void 0;var _namespace=require("../namespace.js");var _tokenlist=require("./tokenlist.js");var _is=require("./is.js");var _base=require("./base.js");var _uniquequeue=require("./uniquequeue.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Observer=function(_Base){_inherits(Observer,_Base);var _super=_createSuper(Observer);function Observer(callback){var _this;_classCallCheck(this,Observer);_this=_super.call(this);if(typeof callback!=="function"){throw new Error("observer callback must be a function")}_this.callback=callback;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;_this.tags=new _tokenlist.TokenList;_this.queue=new _uniquequeue.UniqueQueue;return _this}_createClass(Observer,[{key:"addTag",value:function addTag(tag){this.tags.add(tag);return this}},{key:"removeTag",value:function removeTag(tag){this.tags.remove(tag);return this}},{key:"getTags",value:function getTags(){return this.tags.entries()}},{key:"hasTag",value:function hasTag(tag){return this.tags.contains(tag)}},{key:"update",value:function update(subject){var self=this;return new Promise(function(resolve,reject){if(!(0,_is.isObject)(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(function(){try{if(self.queue.isEmpty()){resolve();return}var s=self.queue.poll();var result=self.callback.apply(s,self.arguments);if((0,_is.isObject)(result)&&result instanceof Promise){result.then(resolve)["catch"](reject);return}resolve(result)}catch(e){reject(e)}},0)})}}]);return Observer}(_base.Base);exports.Observer=Observer;_namespace.Monster.assignToNamespace("Monster.Types",Observer)},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./tokenlist.js":37,"./uniquequeue.js":38}],32:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ObserverList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _observer=require("./observer.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ObserverList=function(_Base){_inherits(ObserverList,_Base);var _super=_createSuper(ObserverList);function ObserverList(){var _this;_classCallCheck(this,ObserverList);_this=_super.call(this);_this.observers=[];return _this}_createClass(ObserverList,[{key:"attach",value:function attach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);this.observers.push(observer);return this}},{key:"detach",value:function detach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}},{key:"contains",value:function contains(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}},{key:"notify",value:function notify(subject){var pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}]);return ObserverList}(_base.Base);exports.ObserverList=ObserverList;_namespace.Monster.assignToNamespace("Monster.Types",ObserverList)},{"../namespace.js":26,"./base.js":27,"./observer.js":31,"./validate.js":39}],33:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ProxyObserver=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _validate=require("./validate.js");var _observerlist=require("./observerlist.js");var _observer=require("./observer.js");var _is=require("./is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ProxyObserver=function(_Base){_inherits(ProxyObserver,_Base);var _super=_createSuper(ProxyObserver);function ProxyObserver(object){var _this;_classCallCheck(this,ProxyObserver);_this=_super.call(this);(0,_validate.validateObject)(object);_this.realSubject=object;_this.subject=new Proxy(object,getHandler.call(_assertThisInitialized(_this)));_this.objectMap=new WeakMap;_this.objectMap.set(_this.realSubject,_this.subject);_this.observers=new _observerlist.ObserverList;return _this}_createClass(ProxyObserver,[{key:"getSubject",value:function getSubject(){return this.subject}},{key:"getRealSubject",value:function getRealSubject(){return this.realSubject}},{key:"attachObserver",value:function attachObserver(observer){this.observers.attach(observer);return this}},{key:"detachObserver",value:function detachObserver(observer){this.observers.detach(observer);return this}},{key:"notifyObservers",value:function notifyObservers(){return this.observers.notify(this)}},{key:"containsObserver",value:function containsObserver(observer){return this.observers.contains(observer)}}]);return ProxyObserver}(_base.Base);exports.ProxyObserver=ProxyObserver;_namespace.Monster.assignToNamespace("Monster.Types",ProxyObserver);function getHandler(){var proxy=this;var handler={get:function get(target,key,receiver){var value=Reflect.get(target,key,receiver);if(_typeof(key)==="symbol"){return value}if((0,_is.isPrimitive)(value)){return value}if((0,_is.isArray)(value)||(0,_is.isObject)(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{var p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function set(target,key,value,receiver){var result=Reflect.set(target,key,value,receiver);if((typeof property==="undefined"?"undefined":_typeof(property))!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function deleteProperty(target,key){if(key in target){delete target[key];if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function defineProperty(target,key,descriptor){var result=Reflect.defineProperty(target,key,descriptor);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function setPrototypeOf(target,key){var result=Reflect.setPrototypeOf(object1,key);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./observer.js":31,"./observerlist.js":32,"./validate.js":39}],34:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Queue=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Queue=function(_Base){_inherits(Queue,_Base);var _super=_createSuper(Queue);function Queue(){var _this;_classCallCheck(this,Queue);_this=_super.call(this);_this.data=[];return _this}_createClass(Queue,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){if(this.isEmpty()){return undefined}return this.data[0]}},{key:"add",value:function add(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}]);return Queue}(_base.Base);exports.Queue=Queue;_base.Monster.assignToNamespace("Monster.Types",Queue)},{"./base.js":27}],35:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _id.Monster}});exports.RandomID=void 0;var _id=require("./id.js");var _global=require("./global.js");var _random=require("../math/random.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=0;var RandomID=function(_ID){_inherits(RandomID,_ID);var _super=_createSuper(RandomID);function RandomID(){var _this;_classCallCheck(this,RandomID);_this=_super.call(this);internalCounter+=1;_this.id=(0,_global.getGlobal)().btoa((0,_random.random)(1,1e4)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter;return _this}return RandomID}(_id.ID);exports.RandomID=RandomID;_id.Monster.assignToNamespace("Monster.Types",RandomID)},{"../math/random.js":24,"./global.js":28,"./id.js":29}],36:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Stack=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Stack=function(_Base){_inherits(Stack,_Base);var _super=_createSuper(Stack);function Stack(){var _this;_classCallCheck(this,Stack);_this=_super.call(this);_this.data=[];return _this}_createClass(Stack,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){var _this$data;if(this.isEmpty()){return undefined}return(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data[this.data.length-1]}},{key:"push",value:function push(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"pop",value:function pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}]);return Stack}(_base.Base);exports.Stack=Stack;_base.Monster.assignToNamespace("Monster.Types",Stack)},{"./base.js":27}],37:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.TokenList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var TokenList=function(_Base){_inherits(TokenList,_Base);var _super=_createSuper(TokenList);function TokenList(init){var _this;_classCallCheck(this,TokenList);_this=_super.call(this);_this.tokens=new Set;if(typeof init!=="undefined"){_this.add(init)}return _this}_createClass(TokenList,[{key:"getIterator",value:function getIterator(){return this[Symbol.iterator]()}},{key:Symbol.iterator,value:function value(){var index=0;var entries=this.entries();return{next:function next(){if(index<entries.length){return{value:entries===null||entries===void 0?void 0:entries[index++],done:false}}else{return{done:true}}}}}},{key:"contains",value:function contains(value){var _this2=this;if((0,_is.isString)(value)){value=value.trim();var counter=0;value.split(" ").forEach(function(token){if(_this2.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if((0,_is.isIterable)(value)){var _counter=0;var _iterator=_createForOfIteratorHelper(value),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var token=_step.value;(0,_validate.validateString)(token);if(this.tokens.has(token.trim())===false)return false;_counter++}}catch(err){_iterator.e(err)}finally{_iterator.f()}return _counter>0?true:false}return false}},{key:"add",value:function add(value){var _this3=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this3.tokens.add(token.trim())})}else if((0,_is.isIterable)(value)){var _iterator2=_createForOfIteratorHelper(value),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var token=_step2.value;(0,_validate.validateString)(token);this.tokens.add(token.trim())}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"clear",value:function clear(){this.tokens.clear();return this}},{key:"remove",value:function remove(value){var _this4=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this4.tokens["delete"](token.trim())})}else if((0,_is.isIterable)(value)){var _iterator3=_createForOfIteratorHelper(value),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var token=_step3.value;(0,_validate.validateString)(token);this.tokens["delete"](token.trim())}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"replace",value:function replace(token,newToken){(0,_validate.validateString)(token);(0,_validate.validateString)(newToken);if(!this.contains(token)){return this}var a=Array.from(this.tokens);var i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}},{key:"toggle",value:function toggle(value){var _this5=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){toggleValue.call(_this5,token)})}else if((0,_is.isIterable)(value)){var _iterator4=_createForOfIteratorHelper(value),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var token=_step4.value;toggleValue.call(this,token)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"entries",value:function entries(){return Array.from(this.tokens)}},{key:"forEach",value:function forEach(callback){(0,_validate.validateFunction)(callback);this.tokens.forEach(callback);return this}},{key:"toString",value:function toString(){return this.entries().join(" ")}}]);return TokenList}(_base.Base);exports.TokenList=TokenList;function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");(0,_validate.validateString)(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}_namespace.Monster.assignToNamespace("Monster.Types",TokenList)},{"../namespace.js":26,"../types/is.js":30,"../types/validate.js":39,"./base.js":27}],38:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _queue.Monster}});exports.UniqueQueue=void 0;var _queue=require("./queue.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _get(target,property,receiver){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver)}return desc.value}}return _get(target,property,receiver||target)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var UniqueQueue=function(_Queue){_inherits(UniqueQueue,_Queue);var _super=_createSuper(UniqueQueue);function UniqueQueue(){var _this;_classCallCheck(this,UniqueQueue);_this=_super.call(this);_this.unique=new WeakSet;return _this}_createClass(UniqueQueue,[{key:"add",value:function add(value){(0,_validate.validateObject)(value);if(!this.unique.has(value)){this.unique.add(value);_get(_getPrototypeOf(UniqueQueue.prototype),"add",this).call(this,value)}return this}},{key:"clear",value:function clear(){_get(_getPrototypeOf(UniqueQueue.prototype),"clear",this).call(this);this.unique=new WeakSet;return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}var value=this.data.shift();this.unique["delete"](value);return value}}]);return UniqueQueue}(_queue.Queue);exports.UniqueQueue=UniqueQueue;_queue.Monster.assignToNamespace("Monster.Types",UniqueQueue)},{"./queue.js":34,"./validate.js":39}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.validatePrimitive=validatePrimitive;exports.validateBoolean=validateBoolean;exports.validateString=validateString;exports.validateObject=validateObject;exports.validateInstance=validateInstance;exports.validateArray=validateArray;exports.validateFunction=validateFunction;exports.validateIterable=validateIterable;exports.validateInteger=validateInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("./is.js");function validateIterable(value){if(!(0,_is.isIterable)(value)){throw new TypeError("value is not iterable")}return value}function validatePrimitive(value){if(!(0,_is.isPrimitive)(value)){throw new TypeError("value is not a primitive")}return value}function validateBoolean(value){if(!(0,_is.isBoolean)(value)){throw new TypeError("value is not a boolean")}return value}function validateString(value){if(!(0,_is.isString)(value)){throw new TypeError("value is not a string")}return value}function validateObject(value){if(!(0,_is.isObject)(value)){throw new TypeError("value is not a object")}return value}function validateInstance(value,instance){if(!(0,_is.isInstance)(value,instance)){var n="";if((0,_is.isObject)(instance)||(0,_is.isFunction)(instance)){n=instance===null||instance===void 0?void 0:instance["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}return value}function validateArray(value){if(!(0,_is.isArray)(value)){throw new TypeError("value is not an array")}return value}function validateFunction(value){if(!(0,_is.isFunction)(value)){throw new TypeError("value is not a function")}return value}function validateInteger(value){if(!(0,_is.isInteger)(value)){throw new TypeError("value is not an integer")}return value}_namespace.Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger)},{"../namespace.js":26,"./is.js":30}],40:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getVersion=getVersion;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Version=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Version=function(_Base){_inherits(Version,_Base);var _super=_createSuper(Version);function Version(major,minor,patch){var _this;_classCallCheck(this,Version);_this=_super.call(this);if(typeof major==="string"&&minor===undefined&&patch===undefined){var parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}_this.major=parseInt(major);_this.minor=parseInt(minor);_this.patch=parseInt(patch);if(isNaN(_this.major)){throw new Error("major is not a number")}if(isNaN(_this.minor)){throw new Error("minor is not a number")}if(isNaN(_this.patch)){throw new Error("patch is not a number")}return _this}_createClass(Version,[{key:"toString",value:function toString(){return this.major+"."+this.minor+"."+this.patch}},{key:"compareTo",value:function compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}var a=[this.major,this.minor,this.patch];var b=version.split(".");var len=Math.max(a.length,b.length);for(var i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}]);return Version}(_base.Base);exports.Version=Version;_namespace.Monster.assignToNamespace("Monster.Types",Version);var monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.9.0");return monsterVersion}_namespace.Monster.assignToNamespace("Monster",getVersion)},{"../namespace.js":26,"./base.js":27}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clone=clone;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _global=require("../types/global.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function clone(obj){if(null===obj){return obj}if((0,_is.isPrimitive)(obj)){return obj}if((0,_is.isFunction)(obj)){return obj}if((0,_is.isArray)(obj)){var copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if((0,_is.isObject)(obj)){if(obj instanceof Date){var _copy=new Date;_copy.setTime(obj.getTime());return _copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===(0,_global.getGlobal)())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(_typeof(obj.hasOwnProperty("getClone"))&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(var key in obj){if(!obj.hasOwnProperty(key)){continue}if(_namespace.Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}_namespace.Monster.assignToNamespace("Monster.Util",clone)},{"../namespace.js":26,"../types/global.js":28,"../types/is.js":30}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Comparator=void 0;var _base=require("../types/base.js");var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Comparator=function(_Base){_inherits(Comparator,_Base);var _super=_createSuper(Comparator);function Comparator(callback){var _this;_classCallCheck(this,Comparator);_this=_super.call(this);if((0,_is.isFunction)(callback)){_this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{_this.compare=function(a,b){if(_typeof(a)!==_typeof(b)){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}return _this}_createClass(Comparator,[{key:"reverse",value:function reverse(){var original=this.compare;this.compare=function(a,b){return original(b,a)};return this}},{key:"equal",value:function equal(a,b){return this.compare(a,b)===0}},{key:"greaterThan",value:function greaterThan(a,b){return this.compare(a,b)>0}},{key:"greaterThanOrEqual",value:function greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}},{key:"lessThanOrEqual",value:function lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}},{key:"lessThan",value:function lessThan(a,b){return this.compare(a,b)<0}}]);return Comparator}(_base.Base);exports.Comparator=Comparator;_base.Monster.assignToNamespace("Monster.Util",Comparator)},{"../types/base.js":27,"../types/is.js":30}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deepFreeze=deepFreeze;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function deepFreeze(object){(0,_validate.validateObject)(object);var propNames=Object.getOwnPropertyNames(object);var _iterator=_createForOfIteratorHelper(propNames),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var name=_step.value;var value=object[name];object[name]=value&&_typeof(value)==="object"?deepFreeze(value):value}}catch(err){_iterator.e(err)}finally{_iterator.f()}return Object.freeze(object)}_namespace.Monster.assignToNamespace("Monster.Util",deepFreeze)},{"../namespace.js":26,"../types/validate.js":39}]},{},[25]); diff --git a/packages/monster/package.json b/packages/monster/package.json index 5946ee3d6a6c7ed1a71b5e4b0d5621949b9aac04..129dd3fa33d400ba2b985a5ad6f6b580248b00c1 100644 --- a/packages/monster/package.json +++ b/packages/monster/package.json @@ -1,6 +1,6 @@ { "name": "@schukai/monster", - "version": "1.8.0", + "version": "1.9.0", "description": "Monster is a simple library for creating fast, robust and lightweight websites.", "keywords": [ "framework", diff --git a/packages/monster/source/constraints/andoperator.js b/packages/monster/source/constraints/andoperator.js index f862ea1d079df5133890885f4b263aee790f322f..aa845218798f773e217ad4c1827ac0fd95cb3fbf 100644 --- a/packages/monster/source/constraints/andoperator.js +++ b/packages/monster/source/constraints/andoperator.js @@ -12,7 +12,7 @@ import {AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js'; * new Monster.Constraint.AndOperator(); * </script> * ``` @@ -21,16 +21,16 @@ import {AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js'; * new AndOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/andoperator.js'; * * new AndOperator( * new Valid(), new Valid()).isValid() diff --git a/packages/monster/source/constraints/invalid.js b/packages/monster/source/constraints/invalid.js index 53eaf9ce4d769bd0a64b63a1b70d7d5fff8c650d..4d1430a446cb78f04681d570af6ceb7703d83406 100644 --- a/packages/monster/source/constraints/invalid.js +++ b/packages/monster/source/constraints/invalid.js @@ -13,7 +13,7 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; * new Monster.Constraint.Invalid(); * </script> * ``` @@ -22,14 +22,14 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; * new Invalid(); * </script> * ``` * * @example * - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; * * new Invalid().isValid() * .then(()=>console.log(true)) diff --git a/packages/monster/source/constraints/isarray.js b/packages/monster/source/constraints/isarray.js index 3591bf22b8e677fbcc796816b620d209f8c0db24..fd8cfc27320754938bfcea6b3f4e1b8875921b35 100644 --- a/packages/monster/source/constraints/isarray.js +++ b/packages/monster/source/constraints/isarray.js @@ -12,7 +12,7 @@ import {isArray} from "../types/is.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js'; * console.log(new Monster.Constraint.IsArray()) * </script> * ``` @@ -21,14 +21,14 @@ import {isArray} from "../types/is.js"; * * ``` * <script type="module"> - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js'; * console.log(new IsArray()) * </script> * ``` * * @example * - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isarray.js'; * * new IsArray() * .isValid([]) diff --git a/packages/monster/source/constraints/isobject.js b/packages/monster/source/constraints/isobject.js index e68358b1fee73c4318f4884c3890508874c92b74..9007347f37e3dff77cd97ccd4c2eab47bec35f83 100644 --- a/packages/monster/source/constraints/isobject.js +++ b/packages/monster/source/constraints/isobject.js @@ -12,7 +12,7 @@ import {isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js'; * console.log(new Monster.Constraint.IsObject()) * </script> * ``` @@ -21,14 +21,14 @@ import {isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js'; * console.log(new IsObject()) * </script> * ``` * * @example * - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/isobject.js'; * * new IsObject() * .isValid({}) diff --git a/packages/monster/source/constraints/oroperator.js b/packages/monster/source/constraints/oroperator.js index d29740acab1bca614d9ce3832bb6d7d8738be834..ec3ffb4696cc0bcf17b3874aca1fcced7bed8a34 100644 --- a/packages/monster/source/constraints/oroperator.js +++ b/packages/monster/source/constraints/oroperator.js @@ -11,7 +11,7 @@ import {Monster, AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraint/oroperator.js'; * new Monster.Constraint.OrOperator(); * </script> * ``` @@ -20,16 +20,16 @@ import {Monster, AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraint/oroperator.js'; * new OrOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/invalid.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/oroperator.js'; * * new OrOperator( * new Valid(), new Invalid()).isValid() diff --git a/packages/monster/source/constraints/valid.js b/packages/monster/source/constraints/valid.js index 872508d916e221ecc4abe6478025ce75fe8f9060..3b694e690bff27be5845eddf101047448a5af97d 100644 --- a/packages/monster/source/constraints/valid.js +++ b/packages/monster/source/constraints/valid.js @@ -13,7 +13,7 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; * new Monster.Constraint.Valid(); * </script> * ``` @@ -22,14 +22,14 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; * new Valid(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/constraints/valid.js'; * * new Valid().isValid() * .then(()=>console.log(true)) diff --git a/packages/monster/source/data/buildmap.js b/packages/monster/source/data/buildmap.js index 2276de2498f7b3c650c0d63e1c83744d782110d4..99ee474fb14a7ad1a1c600817754dd18fafb5987 100644 --- a/packages/monster/source/data/buildmap.js +++ b/packages/monster/source/data/buildmap.js @@ -19,7 +19,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/buildmap.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/buildmap.js'; * console.log(Monster.Data.buildMap()) * </script> * ``` @@ -28,7 +28,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/buildmap.js'; + * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/buildmap.js'; * console.log(buildMap()) * </script> * ``` diff --git a/packages/monster/source/data/diff.js b/packages/monster/source/data/diff.js index bb8274857b65ff05fd5ec831a7a28c2ae54d1e0c..c4f94f7603d1a0a121383d83afb26362f8afe25c 100644 --- a/packages/monster/source/data/diff.js +++ b/packages/monster/source/data/diff.js @@ -16,7 +16,7 @@ import {Monster, isArray, isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js'; * console.log(Monster.Data.Diff(a, b)) * </script> * ``` @@ -25,14 +25,14 @@ import {Monster, isArray, isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js'; * console.log(Diff(a, b)) * </script> * ``` * * @example * - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/diff.js'; * * // given are two objects x and y. * diff --git a/packages/monster/source/data/pathfinder.js b/packages/monster/source/data/pathfinder.js index fd1ee3a2885d88cfe6ce67d5660dc4ec68704ad0..1fee09349eb8360dc4027e359863dcea8deac7f5 100644 --- a/packages/monster/source/data/pathfinder.js +++ b/packages/monster/source/data/pathfinder.js @@ -28,7 +28,7 @@ const WILDCARD = '*'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * console.log(new Monster.Data.Pathfinder()) * </script> * ``` @@ -37,7 +37,7 @@ const WILDCARD = '*'; * * ``` * <script type="module"> - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * console.log(new Pathfinder()) * </script> * ``` @@ -79,7 +79,7 @@ const WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * * let value = new Pathfinder({ * a: { @@ -105,7 +105,7 @@ const WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pathfinder.js'; * * let p = new Pathfinder({ * a: { diff --git a/packages/monster/source/data/pipe.js b/packages/monster/source/data/pipe.js index 903e6c638231e35fff146f8948892c027cd677c2..84d1f0f8292ca08375f661de38e813ffd2be6e72 100644 --- a/packages/monster/source/data/pipe.js +++ b/packages/monster/source/data/pipe.js @@ -19,7 +19,7 @@ const DELIMITER = '|'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js'; * console.log(new Monster.Data.Pipe()) * </script> * ``` @@ -28,7 +28,7 @@ const DELIMITER = '|'; * * ``` * <script type="module"> - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js'; * console.log(new Pipe()) * </script> * ``` @@ -39,7 +39,7 @@ const DELIMITER = '|'; * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char. * * @example - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/pipe.js'; * * let obj = { * a: { diff --git a/packages/monster/source/data/transformer.js b/packages/monster/source/data/transformer.js index bce06193582736e6fbede1dadd6b9ccf7d61c84a..50ad518f350743edc90b22a2e23502c6c4a617b4 100644 --- a/packages/monster/source/data/transformer.js +++ b/packages/monster/source/data/transformer.js @@ -19,7 +19,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js'; * console.log(new Monster.Data.Transformer()) * </script> * ``` @@ -28,7 +28,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js'; * console.log(new Transformer()) * </script> * ``` @@ -105,7 +105,7 @@ import {Pathfinder} from "./pathfinder.js"; * * @example * - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/data/transformer.js'; * * const transformer = new Transformer("tolower") * diff --git a/packages/monster/source/dom/assembler.js b/packages/monster/source/dom/assembler.js index 98ebddedf5870d63379c14399cf3dfecef9a6658..a392e5cdd89f0b79110a9848c5e71a308740a807 100644 --- a/packages/monster/source/dom/assembler.js +++ b/packages/monster/source/dom/assembler.js @@ -23,7 +23,7 @@ const ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/assembler.js'; * console.log(new Monster.DOM.Assembler()) * </script> * ``` @@ -32,7 +32,7 @@ const ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; + * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/assembler.js'; * console.log(new Assembler()) * </script> * ``` diff --git a/packages/monster/source/dom/customelement.js b/packages/monster/source/dom/customelement.js index da1f27416ad466f5a4dc5783956bb2dc7e03d24e..e8eefd031374b26abdb8dd5558796addc31cca29 100644 --- a/packages/monster/source/dom/customelement.js +++ b/packages/monster/source/dom/customelement.js @@ -20,7 +20,7 @@ import {Monster, validateFunction, validateObject, validateString} from "../type * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/customelement.js'; * console.log(new Monster.DOM.CustomElement()) * </script> * ``` @@ -29,7 +29,7 @@ import {Monster, validateFunction, validateObject, validateString} from "../type * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/customelement.js'; * console.log(new CustomElement()) * </script> * ``` diff --git a/packages/monster/source/dom/handle.js b/packages/monster/source/dom/handle.js index 9e107918781bdac8897e43a499a5635b983110aa..528b708ab3f2946b9ec112bccddac50607012b3f 100644 --- a/packages/monster/source/dom/handle.js +++ b/packages/monster/source/dom/handle.js @@ -25,7 +25,7 @@ const MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(new Monster.DOM.Handle()) * </script> * ``` @@ -34,7 +34,7 @@ const MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(new Handle()) * </script> * ``` @@ -188,7 +188,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(Monster.DOM.getHandleFromNode()) * </script> * ``` @@ -197,7 +197,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; + * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/handle.js'; * console.log(getHandleFromNode()) * </script> * ``` diff --git a/packages/monster/source/dom/template.js b/packages/monster/source/dom/template.js index 5b429b7392ba5f220fe10afb4b4cfb63eb690784..c755f45cfa271c1abc6a67eb72e0d99798f3a87e 100644 --- a/packages/monster/source/dom/template.js +++ b/packages/monster/source/dom/template.js @@ -15,7 +15,7 @@ import {getDocumentTheme} from "./theme.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(new Monster.DOM.Template()) * </script> * ``` @@ -24,7 +24,7 @@ import {getDocumentTheme} from "./theme.js"; * * ``` * <script type="module"> - * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(new Template()) * </script> * ``` @@ -74,7 +74,7 @@ class Template extends Base { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(Monster.DOM.findDocumentTemplate()) * </script> * ``` @@ -83,7 +83,7 @@ class Template extends Base { * * ``` * <script type="module"> - * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/template.js'; * console.log(findDocumentTemplate()) * </script> * ``` diff --git a/packages/monster/source/dom/theme.js b/packages/monster/source/dom/theme.js index 482b74dab61209876d3f757ec45f8ca8cf610c83..fcb955f94703ce6fc17242d94f231a9b64f42db4 100644 --- a/packages/monster/source/dom/theme.js +++ b/packages/monster/source/dom/theme.js @@ -16,7 +16,7 @@ import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js'; * console.log(new Monster.DOM.Theme()) * </script> * ``` @@ -25,14 +25,14 @@ import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js"; * * ``` * <script type="module"> - * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js'; * console.log(new Theme()) * </script> * ``` * * @example * - * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/theme.js'; * * const theme = getDocumentTheme(); * console.log(theme.getName()); diff --git a/packages/monster/source/dom/updater.js b/packages/monster/source/dom/updater.js index 9f534b18b91dffb474da8ccebf9880d81defe5a5..b97d7ca5078533b6e23b2c1a12ca65a76ff901ce 100644 --- a/packages/monster/source/dom/updater.js +++ b/packages/monster/source/dom/updater.js @@ -31,7 +31,7 @@ import {getDocument} from "./util.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/updater.js'; * console.log(new Monster.DOM.Updater()) * </script> * ``` @@ -40,14 +40,14 @@ import {getDocument} from "./util.js"; * * ``` * <script type="module"> - * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/updater.js'; * console.log(new Updater()) * </script> * ``` * * @example * - * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/updater.js'; * * // First we prepare the html document. * // This is done here via script, but can also be inserted into the document as pure html. @@ -427,4 +427,4 @@ function runUpdateAttributes(container, parts, subject) { } Monster.assignToNamespace('Monster.DOM', Updater); -export {Monster, Updater} \ No newline at end of file +export {Monster, Updater} diff --git a/packages/monster/source/dom/util.js b/packages/monster/source/dom/util.js index 06dede3a895aabefa8e236e1ed8617a68a0394b8..f92edb36272e499083e7f519165dc4148780c849 100644 --- a/packages/monster/source/dom/util.js +++ b/packages/monster/source/dom/util.js @@ -13,7 +13,7 @@ import {validateString} from "../types/validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocument()) * </script> * ``` @@ -22,7 +22,7 @@ import {validateString} from "../types/validate.js"; * * ``` * <script type="module"> - * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(getDocument()) * </script> * ``` @@ -74,7 +74,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getWindow()) * </script> * ``` @@ -83,7 +83,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(getWindow(null)) * </script> * ``` @@ -140,7 +140,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocumentFragmentFromString()) * </script> * ``` @@ -149,7 +149,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; + * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/dom/util.js'; * console.log(getDocumentFragmentFromString('<div></div>')) * </script> * ``` diff --git a/packages/monster/source/logging/handler.js b/packages/monster/source/logging/handler.js index fbda2b01f9cc7470c91c4630f4242d2db9268759..7af668389ec3cccf068fa1a9540d361857fef851 100644 --- a/packages/monster/source/logging/handler.js +++ b/packages/monster/source/logging/handler.js @@ -15,7 +15,7 @@ import {validateInstance, validateInteger} from "../types/validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler.js'; * console.log(new Monster.Logging.Handler()) * </script> * ``` @@ -24,7 +24,7 @@ import {validateInstance, validateInteger} from "../types/validate.js"; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler.js'; * console.log(new Handler()) * </script> * ``` diff --git a/packages/monster/source/logging/handler/console.js b/packages/monster/source/logging/handler/console.js index 17f6d2bb80707b67f949230faf6bd4363fd88129..79cecb3ac9bd55d7453022da53162d0b83004034 100644 --- a/packages/monster/source/logging/handler/console.js +++ b/packages/monster/source/logging/handler/console.js @@ -13,7 +13,7 @@ import {Handler} from '../../logging/handler.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler/console.js'; * console.log(new Monster.Logging.Handler.ConsoleHandler()) * </script> * ``` @@ -22,7 +22,7 @@ import {Handler} from '../../logging/handler.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/handler/console.js'; * console.log(new ConsoleHandler()) * </script> * ``` diff --git a/packages/monster/source/logging/logentry.js b/packages/monster/source/logging/logentry.js index f764f5d040aa434ca79f6de3a358efa81c33b1bc..e1c0b9c82f9d51b3014684e2e9d8b1065b7cdc3c 100644 --- a/packages/monster/source/logging/logentry.js +++ b/packages/monster/source/logging/logentry.js @@ -14,7 +14,7 @@ import {Base} from '../types/base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logentry.js'; * console.log(new Monster.Logging.LogEntry()) * </script> * ``` @@ -23,7 +23,7 @@ import {Base} from '../types/base.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logentry.js'; * console.log(new LogEntry()) * </script> * ``` diff --git a/packages/monster/source/logging/logger.js b/packages/monster/source/logging/logger.js index c66c8d52808d57b7ba79adbb13d58a71f0c0e5a0..752ee8c27dde3ac651743a3705226d4c51cb44da 100644 --- a/packages/monster/source/logging/logger.js +++ b/packages/monster/source/logging/logger.js @@ -65,7 +65,7 @@ const OFF = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logger.js'; * console.log(new Monster.Logging.Logger()) * </script> * ``` @@ -74,7 +74,7 @@ const OFF = 0; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/logging/logger.js'; * console.log(new Logger()) * </script> * ``` diff --git a/packages/monster/source/math/random.js b/packages/monster/source/math/random.js index 4d40cf914f0ceab5b75196882f75ed7626a15493..07e632848294caf41d05b6f214cf4db19a1ae0d3 100644 --- a/packages/monster/source/math/random.js +++ b/packages/monster/source/math/random.js @@ -15,7 +15,7 @@ import {Monster, getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/math/random.js'; * console.log(Monster.Math.random(1,10)) // ↦ 5 * </script> * ``` @@ -24,7 +24,7 @@ import {Monster, getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; + * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/math/random.js'; * console.log(random(1,10)) // ↦ 5 * </script> * ``` diff --git a/packages/monster/source/namespace.js b/packages/monster/source/namespace.js index e65d6f718a60104c08979bfde21fecebe5f55636..203271dc1a0ca3b51667b038a9924f7f65d6ecb7 100644 --- a/packages/monster/source/namespace.js +++ b/packages/monster/source/namespace.js @@ -69,7 +69,7 @@ assignToNamespace('Monster', assignToNamespace); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/namespace.js'; * function hello() { * console.log('Hello World!'); * } diff --git a/packages/monster/source/types/base.js b/packages/monster/source/types/base.js index 967d790555855f9289a6077aef8b09ee7337b1f8..36bcddd9d30b8786aaf6ba73a4f57fbb3513af0a 100644 --- a/packages/monster/source/types/base.js +++ b/packages/monster/source/types/base.js @@ -14,7 +14,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/base.js'; * console.log(new Monster.Types.Base()) * console.log(new Monster.Types.Base()) * </script> @@ -24,7 +24,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; + * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/base.js'; * console.log(new Base()) * console.log(new Base()) * </script> diff --git a/packages/monster/source/types/global.js b/packages/monster/source/types/global.js index 0dc726dce8873f38149da46ba8f55493028b4e83..cdfae59e18f9d74c31c227ee8414a29bc8fcfd8d 100644 --- a/packages/monster/source/types/global.js +++ b/packages/monster/source/types/global.js @@ -56,7 +56,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -65,7 +65,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -93,7 +93,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -102,7 +102,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; + * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/global.js'; * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` diff --git a/packages/monster/source/types/id.js b/packages/monster/source/types/id.js index 053a38b27c2becb1abdb4ac4c88ff8ea9c33db09..c8752debc14a0dd5bfbf8ad74becbf40a1ad3aa6 100644 --- a/packages/monster/source/types/id.js +++ b/packages/monster/source/types/id.js @@ -24,7 +24,7 @@ let internalCounter = new Map; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/id.js'; * console.log(new Monster.Types.ID()) * </script> * ``` @@ -33,7 +33,7 @@ let internalCounter = new Map; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/id.js'; * console.log(new ID()) * </script> * ``` diff --git a/packages/monster/source/types/is.js b/packages/monster/source/types/is.js index 065cc2453b53fa73e7df21ae5f8f950a488f574b..a1c2fb954210269b6f3986ce2239dc2f63442e8f 100644 --- a/packages/monster/source/types/is.js +++ b/packages/monster/source/types/is.js @@ -13,7 +13,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isIterable(null)) // ↦ false * console.log(Monster.Types.isIterable('hello')) // ↦ true * console.log(Monster.Types.isIterable([])) // ↦ true @@ -24,7 +24,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isIterable(null)) // ↦ false * console.log(isIterable('hello')) // ↦ true * console.log(isIterable([])) // ↦ true @@ -51,7 +51,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isPrimitive('2')) // ↦ false * console.log(Monster.Types.isPrimitive([])) // ↦ true * </script> @@ -61,7 +61,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isPrimitive('2')) // ↦ true * console.log(isPrimitive([])) // ↦ false * </script> @@ -96,7 +96,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isBoolean('2')) // ↦ false * console.log(Monster.Types.isBoolean([])) // ↦ false * console.log(Monster.Types.isBoolean(true)) // ↦ true @@ -107,7 +107,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isBoolean('2')) // ↦ false * console.log(isBoolean([])) // ↦ false * console.log(isBoolean(2>4)) // ↦ true @@ -136,7 +136,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isString('2')) // ↦ true * console.log(Monster.Types.isString([])) // ↦ false * </script> @@ -146,7 +146,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isString('2')) // ↦ true * console.log(isString([])) // ↦ false * </script> @@ -172,7 +172,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isObject('2')) // ↦ false * console.log(Monster.Types.isObject([])) // ↦ false * console.log(Monster.Types.isObject({})) // ↦ true @@ -183,7 +183,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isObject('2')) // ↦ false * console.log(isObject([])) // ↦ false * </script> @@ -214,7 +214,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInstance('2')) // ↦ false * console.log(Monster.Types.isInstance([])) // ↦ false * console.log(Monster.Types.isInstance({})) // ↦ true @@ -225,7 +225,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isInstance('2')) // ↦ false * console.log(isInstance([])) // ↦ false * </script> @@ -254,7 +254,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isArray('2')) // ↦ false * console.log(Monster.Types.isArray([])) // ↦ true * </script> @@ -264,7 +264,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isArray('2')) // ↦ false * console.log(isArray([])) // ↦ true * </script> @@ -290,7 +290,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isFunction(()=>{})) // ↦ true * console.log(Monster.Types.isFunction('2')) // ↦ false * console.log(Monster.Types.isFunction([])) // ↦ false @@ -301,7 +301,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isFunction(()=>{})) // ↦ true * console.log(isFunction('2')) // ↦ false * console.log(isFunction([])) // ↦ false @@ -333,7 +333,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInteger(()=>{})) // ↦ true * console.log(Monster.Types.isInteger('2')) // ↦ false * console.log(Monster.Types.isInteger(2)) // ↦ true @@ -344,7 +344,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * console.log(isInteger(()=>{})) // ↦ true * console.log(isInteger('2')) // ↦ false * console.log(isInteger(2)) // ↦ true diff --git a/packages/monster/source/types/observer.js b/packages/monster/source/types/observer.js index dce4452b9dc2794b92a64ed4625b07e8202f4bb3..71c7b2fcf35f1393d43071bac92dea8b803c53d4 100644 --- a/packages/monster/source/types/observer.js +++ b/packages/monster/source/types/observer.js @@ -17,7 +17,7 @@ import {UniqueQueue} from './uniquequeue.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; * console.log(new Monster.Types.Observer()) * </script> * ``` @@ -26,7 +26,7 @@ import {UniqueQueue} from './uniquequeue.js'; * * ``` * <script type="module"> - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; * console.log(new Observer()) * </script> * ``` @@ -60,7 +60,7 @@ import {UniqueQueue} from './uniquequeue.js'; * * @example * - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; * * const observer = new Observer(function(a, b, c) { * console.log(this, a, b, c); // ↦ "a", 2, true diff --git a/packages/monster/source/types/observerlist.js b/packages/monster/source/types/observerlist.js index 70a2aff65faf57ba4e7ee0d811305169d6401125..641746456000f0b4b637847ec179229e191b9298 100644 --- a/packages/monster/source/types/observerlist.js +++ b/packages/monster/source/types/observerlist.js @@ -16,7 +16,7 @@ import {validateInstance} from "./validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observerlist.js'; * console.log(new Monster.Types.ObserverList()) * console.log(new Monster.Types.ObserverList()) * </script> @@ -26,7 +26,7 @@ import {validateInstance} from "./validate.js"; * * ``` * <script type="module"> - * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; + * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observerlist.js'; * console.log(ObserverList()) * console.log(ObserverList()) * </script> diff --git a/packages/monster/source/types/proxyobserver.js b/packages/monster/source/types/proxyobserver.js index cf941363ecee2dd37e5b9b95ec9267e0e389b277..2dba1bf3bfd9b39d1c05dc6221ae9437c8b50065 100644 --- a/packages/monster/source/types/proxyobserver.js +++ b/packages/monster/source/types/proxyobserver.js @@ -18,7 +18,7 @@ import {isObject, isArray, isPrimitive} from "./is.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js'; * console.log(new Monster.Types.ProxyObserver()) * </script> * ``` @@ -27,7 +27,7 @@ import {isObject, isArray, isPrimitive} from "./is.js"; * * ``` * <script type="module"> - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js'; * console.log(new ProxyObserver()) * </script> * ``` @@ -38,9 +38,9 @@ import {isObject, isArray, isPrimitive} from "./is.js"; * * @example * - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/proxyobserver.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/observer.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/is.js'; * * const o = new Observer(function () { * if (isObject(this) && this instanceof ProxyObserver) { diff --git a/packages/monster/source/types/queue.js b/packages/monster/source/types/queue.js index d1b10ec23dd3888af23a2539f41abe3d23091b57..df3b6e42c17fda2f2a0c15fdce9f65afda0b75a2 100644 --- a/packages/monster/source/types/queue.js +++ b/packages/monster/source/types/queue.js @@ -5,7 +5,7 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js'; * console.log(new Monster.Types.Queue()) * </script> * ``` @@ -14,14 +14,14 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js'; * console.log(new Queue()) * </script> * ``` * * @example * - * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; + * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/queue.js'; * * const queue = new Queue; * diff --git a/packages/monster/source/types/randomid.js b/packages/monster/source/types/randomid.js index be3da50a365c9adee5c8bdcff6117e8c59861e6b..e6a32820555c3ef679f20cc2a13d48fd0abd3c1b 100644 --- a/packages/monster/source/types/randomid.js +++ b/packages/monster/source/types/randomid.js @@ -19,7 +19,7 @@ let internalCounter = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/randomid.js'; * console.log(new Monster.Types.RandomID()) * </script> * ``` @@ -28,7 +28,7 @@ let internalCounter = 0; * * ``` * <script type="module"> - * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; + * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/randomid.js'; * console.log(new RandomID()) * </script> * ``` diff --git a/packages/monster/source/types/stack.js b/packages/monster/source/types/stack.js index 03c32edea3dc5be4f3c93fb7c5f7935e7a14ce80..758e76211b3c083b37f2cf4ccc2aeb1d9e4dcb41 100644 --- a/packages/monster/source/types/stack.js +++ b/packages/monster/source/types/stack.js @@ -5,7 +5,7 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/stack.js'; * console.log(new Monster.Types.Stack()) * </script> * ``` @@ -14,7 +14,7 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/stack.js'; * console.log(new Stack()) * </script> * ``` diff --git a/packages/monster/source/types/tokenlist.js b/packages/monster/source/types/tokenlist.js index 6d028407ca57e30805c0cac6424d7dba921fd361..3dc92122881d11a37e22b173976fd2f0ae1fa3cd 100644 --- a/packages/monster/source/types/tokenlist.js +++ b/packages/monster/source/types/tokenlist.js @@ -18,7 +18,7 @@ import {validateString, validateFunction} from '../types/validate.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/tokenlist.js'; * console.log(new Monster.Types.TokenList("myclass row")) * console.log(new Monster.Types.TokenList("myclass row")) * </script> @@ -28,7 +28,7 @@ import {validateString, validateFunction} from '../types/validate.js'; * * ``` * <script type="module"> - * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; + * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/tokenlist.js'; * console.log(new TokenList("myclass row")) * console.log(new TokenList("myclass row")) * </script> diff --git a/packages/monster/source/types/typeof.js b/packages/monster/source/types/typeof.js index b218d80f446b15304aa831d5349a317aed5bc3bc..ddd2e1e12f75beb11100ef20a28ef47be9b4e3e3 100644 --- a/packages/monster/source/types/typeof.js +++ b/packages/monster/source/types/typeof.js @@ -14,7 +14,7 @@ import {Monster} from "../namespace.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/typeof.js'; * console.log(Monster.Types.typeOf()) * </script> * ``` @@ -23,14 +23,14 @@ import {Monster} from "../namespace.js"; * * ``` * <script type="module"> - * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; + * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/typeof.js'; * console.log(typeOf()) * </script> * ``` * * @example * - * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; + * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/typeof.js'; * * console.log(typeOf(undefined)); // ↦ undefined * console.log(typeOf("")); // ↦ string diff --git a/packages/monster/source/types/uniquequeue.js b/packages/monster/source/types/uniquequeue.js index 8b7a42661acaceb3b8c410cadd78063e566cddbf..631cc1a08a73254d0db09e0f491d27690b5c877e 100644 --- a/packages/monster/source/types/uniquequeue.js +++ b/packages/monster/source/types/uniquequeue.js @@ -6,7 +6,7 @@ import {validateObject} from "./validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/uniquequeue.js'; * console.log(new Monster.Types.UniqueQueue()) * </script> * ``` @@ -15,7 +15,7 @@ import {validateObject} from "./validate.js"; * * ``` * <script type="module"> - * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; + * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/uniquequeue.js'; * console.log(new UniqueQueue()) * </script> * ``` diff --git a/packages/monster/source/types/validate.js b/packages/monster/source/types/validate.js index a99fc9b068552981612dcca1f719bc216a3ac90d..28efae13a761f25fd287ad7c2ba5485b1791ec33 100644 --- a/packages/monster/source/types/validate.js +++ b/packages/monster/source/types/validate.js @@ -24,7 +24,7 @@ import { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError * console.log(Monster.Types.validateIterable([])) // ↦ undefined * </script> @@ -34,7 +34,7 @@ import { * * ``` * <script type="module"> - * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateIterable('2')) // ↦ TypeError * console.log(validateIterable([])) // ↦ undefined * </script> @@ -64,7 +64,7 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError * </script> @@ -74,7 +74,7 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validatePrimitive('2')) // ↦ undefined * console.log(validatePrimitive([])) // ↦ TypeError * </script> @@ -104,7 +104,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError @@ -115,7 +115,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateBoolean(false)) // ↦ undefined * console.log(validateBoolean('2')) // ↦ TypeError * console.log(validateBoolean([])) // ↦ TypeError @@ -144,7 +144,7 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateString('2')) // ↦ undefined * console.log(Monster.Types.validateString([])) // ↦ TypeError * </script> @@ -154,7 +154,7 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateString('2')) // ↦ undefined * console.log(validateString([])) // ↦ TypeError * </script> @@ -182,7 +182,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateObject({})) // ↦ undefined * console.log(Monster.Types.validateObject('2')) // ↦ TypeError * console.log(Monster.Types.validateObject([])) // ↦ TypeError @@ -193,7 +193,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateObject({})) // ↦ undefined * console.log(validateObject('2')) // ↦ TypeError * console.log(validateObject([])) // ↦ TypeError @@ -221,7 +221,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError @@ -232,7 +232,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateInstance({}, Object)) // ↦ undefined * console.log(validateInstance('2', Object)) // ↦ TypeError * console.log(validateInstance([], Object)) // ↦ TypeError @@ -269,7 +269,7 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateArray('2')) // ↦ TypeError * console.log(Monster.Types.validateArray([])) // ↦ undefined * </script> @@ -279,7 +279,7 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateArray('2')) // ↦ TypeError * console.log(validateArray([])) // ↦ undefined * </script> @@ -306,7 +306,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError * console.log(Monster.Types.validateFunction([])) // ↦ TypeError @@ -317,7 +317,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateFunction(()=>{})) // ↦ undefined * console.log(validateFunction('2')) // ↦ TypeError * console.log(validateFunction([])) // ↦ TypeError @@ -345,7 +345,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError * console.log(Monster.Types.validateInteger(2)) // ↦ undefined @@ -356,7 +356,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/validate.js'; * console.log(validateInteger(true)) // ↦ TypeError * console.log(validateInteger('2')) // ↦ TypeError * console.log(validateInteger(2)) // ↦ undefined diff --git a/packages/monster/source/types/version.js b/packages/monster/source/types/version.js index 1ca484c53b5f3c4645d56dc8bb28419c97935a63..d4260319bea8255caea34d03b9c0063a58542722 100644 --- a/packages/monster/source/types/version.js +++ b/packages/monster/source/types/version.js @@ -10,7 +10,7 @@ import {Base} from './base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 * </script> @@ -20,7 +20,7 @@ import {Base} from './base.js'; * * ``` * <script type="module"> - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(new Version('1.2.3')) // ↦ 1.2.3 * console.log(new Version('1')) // ↦ 1.0.0 * </script> @@ -28,7 +28,7 @@ import {Base} from './base.js'; * * @example * - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * * new Version('1.0.0') // ↦ 1.0.0 * new Version(1) // ↦ 1.0.0 @@ -150,7 +150,7 @@ let monsterVersion; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(Monster.getVersion()) * console.log(Monster.getVersion()) * </script> @@ -160,7 +160,7 @@ let monsterVersion; * * ``` * <script type="module"> - * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; * console.log(getVersion()) * console.log(getVersion()) * </script> @@ -177,7 +177,7 @@ function getVersion() { return monsterVersion; } /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.8.0') + monsterVersion = new Version('1.9.0') /**#@-*/ return monsterVersion; diff --git a/packages/monster/source/util/clone.js b/packages/monster/source/util/clone.js index d96b490575e7e0c7c9018f0546b3e05ecdf9ef2d..d741e98379248c1ab61bb3a346c7b147f8d978ef 100644 --- a/packages/monster/source/util/clone.js +++ b/packages/monster/source/util/clone.js @@ -22,7 +22,7 @@ import {getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/clone.js'; * console.log(Monster.Util.clone({})) * </script> * ``` @@ -31,7 +31,7 @@ import {getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; + * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/clone.js'; * console.log(clone({})) * </script> * ``` diff --git a/packages/monster/source/util/comparator.js b/packages/monster/source/util/comparator.js index c557187b222ead0a5c6200733e98ca52d5cd0c8c..c2b18822af0cc8872dc9018a9808eb4012904027 100644 --- a/packages/monster/source/util/comparator.js +++ b/packages/monster/source/util/comparator.js @@ -12,7 +12,7 @@ import {isFunction} from '../types/is.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js'; * console.log(new Monster.Util.Comparator()) * </script> * ``` @@ -21,7 +21,7 @@ import {isFunction} from '../types/is.js'; * * ``` * <script type="module"> - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js'; * console.log(new Comparator()) * </script> * ``` @@ -46,7 +46,7 @@ import {isFunction} from '../types/is.js'; * * @example * - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/comparator.js'; * * console.log(new Comparator().lessThanOrEqual(2, 5)) * // ↦ true diff --git a/packages/monster/source/util/freeze.js b/packages/monster/source/util/freeze.js index ef9a2980caee3a469ea13453c55fc613d2603167..950c4b71078f7cf84c410a39ccf391022e0c69d7 100644 --- a/packages/monster/source/util/freeze.js +++ b/packages/monster/source/util/freeze.js @@ -14,7 +14,7 @@ import {validateObject} from '../types/validate.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/freeze.js'; * console.log(Monster.Util.deepFreeze({})) * </script> * ``` @@ -23,7 +23,7 @@ import {validateObject} from '../types/validate.js'; * * ``` * <script type="module"> - * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; + * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/util/freeze.js'; * console.log(deepFreeze({})) * </script> * ``` diff --git a/packages/monster/test/cases/monster.js b/packages/monster/test/cases/monster.js index baf9f4f5dcc120357fbed81a538bee314b4e99f8..2c772e2ff5faa2d40611fff6502c9dadf22d4269 100644 --- a/packages/monster/test/cases/monster.js +++ b/packages/monster/test/cases/monster.js @@ -7,7 +7,7 @@ describe('Monster', function () { let monsterVersion /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.8.0') + monsterVersion = new Version('1.9.0') /**#@-*/ let m = Monster.getVersion(); diff --git a/tutorials/getting-started.md b/tutorials/getting-started.md index 71e310b4115a7ee92126abda5d51f455e4e86f4f..044f8c3cae6190ddbe189f02dfcf515227ae4546 100644 --- a/tutorials/getting-started.md +++ b/tutorials/getting-started.md @@ -22,7 +22,7 @@ index.html. </div> <script type="module"> - import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/modules/types/version.js'; document.getElementById('version').innerText = new Version('1.0.0').toString(); </script> @@ -47,7 +47,7 @@ the `Monster` namespace as a single javascript file. <head> <meta charset="utf-8"> <title>awaken the monster in you!</title> - <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/monster.js"></script> + <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.9.0/dist/monster.js"></script> </head> <body>