diff --git a/package-lock.json b/package-lock.json index 1a37740f..b50f0b95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "augment-vir", - "version": "21.5.1", + "version": "21.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "augment-vir", - "version": "21.5.1", + "version": "21.6.0", "license": "(MIT or CC0 1.0)", "workspaces": [ "./packages/*" @@ -603,16 +603,16 @@ } }, "node_modules/@cspell/cspell-bundled-dicts": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-7.3.8.tgz", - "integrity": "sha512-Dj8iSGQyfgIsCjmXk9D/SjV7EpbpQSogeaGcBM66H33pd0GyGmLhn3biRN+vqi/vqWmsp75rT3kd5MKa8X5W9Q==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-7.3.9.tgz", + "integrity": "sha512-ebfrf5Zaw33bcqT80Qrkv7IGT7GI/CDp15bSk2EUmdORzk1SCKZl6L4vUo3NLMmxVwYioS+OQmsW8E88sJNyGg==", "dev": true, "dependencies": { "@cspell/dict-ada": "^4.0.2", "@cspell/dict-aws": "^4.0.0", "@cspell/dict-bash": "^4.1.2", - "@cspell/dict-companies": "^3.0.26", - "@cspell/dict-cpp": "^5.0.8", + "@cspell/dict-companies": "^3.0.27", + "@cspell/dict-cpp": "^5.0.9", "@cspell/dict-cryptocurrencies": "^4.0.0", "@cspell/dict-csharp": "^4.0.2", "@cspell/dict-css": "^4.0.12", @@ -621,35 +621,36 @@ "@cspell/dict-docker": "^1.1.7", "@cspell/dict-dotnet": "^5.0.0", "@cspell/dict-elixir": "^4.0.3", - "@cspell/dict-en_us": "^4.3.9", + "@cspell/dict-en_us": "^4.3.11", "@cspell/dict-en-common-misspellings": "^1.0.2", "@cspell/dict-en-gb": "1.1.33", - "@cspell/dict-filetypes": "^3.0.1", + "@cspell/dict-filetypes": "^3.0.2", "@cspell/dict-fonts": "^4.0.0", - "@cspell/dict-fsharp": "^1.0.0", + "@cspell/dict-fsharp": "^1.0.1", "@cspell/dict-fullstack": "^3.1.5", "@cspell/dict-gaming-terms": "^1.0.4", "@cspell/dict-git": "^2.0.0", - "@cspell/dict-golang": "^6.0.3", + "@cspell/dict-golang": "^6.0.4", "@cspell/dict-haskell": "^4.0.1", "@cspell/dict-html": "^4.0.5", "@cspell/dict-html-symbol-entities": "^4.0.0", "@cspell/dict-java": "^5.0.6", - "@cspell/dict-k8s": "^1.0.1", + "@cspell/dict-k8s": "^1.0.2", "@cspell/dict-latex": "^4.0.0", "@cspell/dict-lorem-ipsum": "^4.0.0", "@cspell/dict-lua": "^4.0.2", + "@cspell/dict-makefile": "^1.0.0", "@cspell/dict-node": "^4.0.3", "@cspell/dict-npm": "^5.0.12", - "@cspell/dict-php": "^4.0.3", + "@cspell/dict-php": "^4.0.4", "@cspell/dict-powershell": "^5.0.2", "@cspell/dict-public-licenses": "^2.0.5", - "@cspell/dict-python": "^4.1.9", + "@cspell/dict-python": "^4.1.10", "@cspell/dict-r": "^2.0.1", "@cspell/dict-ruby": "^5.0.1", "@cspell/dict-rust": "^4.0.1", "@cspell/dict-scala": "^5.0.0", - "@cspell/dict-software-terms": "^3.3.6", + "@cspell/dict-software-terms": "^3.3.9", "@cspell/dict-sql": "^2.1.2", "@cspell/dict-svelte": "^1.0.2", "@cspell/dict-swift": "^2.0.1", @@ -661,30 +662,30 @@ } }, "node_modules/@cspell/cspell-json-reporter": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-7.3.8.tgz", - "integrity": "sha512-FxYJWtDgxIQYxdP0RWwRV8nzLfxVx8D8D5L2sbbP/0NFczDbq/zWYep4nSAHJT10aUJrogsVUYwNwdkr562wKA==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-7.3.9.tgz", + "integrity": "sha512-QHsem5OZXshFX+Wdlx3VpdPi9WS7KgoBMGGJ4zQZ3lp81Rb1tRj0Ij/98whq882QOmAVQfr+uOHANHLnyPr0LQ==", "dev": true, "dependencies": { - "@cspell/cspell-types": "7.3.8" + "@cspell/cspell-types": "7.3.9" }, "engines": { "node": ">=16" } }, "node_modules/@cspell/cspell-pipe": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-7.3.8.tgz", - "integrity": "sha512-/vKPfiHM5bJUkNX12w9j533Lm2JvvSMKUCChM2AxYjy6vL8prc/7ei++4g2xAWwRxLZPg2OfpDJS5EirZNBJdA==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-7.3.9.tgz", + "integrity": "sha512-gKYTHcryKOaTmr6t+M5h1sZnQ42eHeumBJejovphipXfdivedUnuYyQrrQGFAlUKzfEOWcOPME1nm17xsaX5Ww==", "dev": true, "engines": { "node": ">=16" } }, "node_modules/@cspell/cspell-resolver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-7.3.8.tgz", - "integrity": "sha512-CeyQmhqZI5a+T7a6oiVN90TFlzU3qVVYqCaZ9grFrVOsmzY9ipH5gmqfgMavaBOqb0di/+VZS8d02suMOXcKLQ==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-7.3.9.tgz", + "integrity": "sha512-2slYAGvi7EFLKyJ5hrYBNaFT2iyOEQM1pEIzm+PDuhNJE/9wuBY5pBVqIgFSPz53vsQvW9GJThNY8h1/2EH3ZA==", "dev": true, "dependencies": { "global-dirs": "^3.0.1" @@ -694,18 +695,18 @@ } }, "node_modules/@cspell/cspell-service-bus": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-7.3.8.tgz", - "integrity": "sha512-3E7gwY6QILrZH83p69i9CERbRBEqeBiKCIKnAd7U2PbxfFqG/P47fqpnarzSWFwFpU92oyGsYry+wC8TEGISRQ==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-7.3.9.tgz", + "integrity": "sha512-VyfK3qWtJZag4Fe/x1Oh/tqCNVGKGlQ2ArX1fVdmTVGQtZcbXuMKdZI80t4b8SGtzGINHufAdakpu3xucX/FrQ==", "dev": true, "engines": { "node": ">=16" } }, "node_modules/@cspell/cspell-types": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-7.3.8.tgz", - "integrity": "sha512-hsOtaULDnawEL4pU0fga941GhvE8mbTbywrJBx+eGX3fnJsaUr8XQzCtnLsW2ko7WCLWFItNEhSSTPQHBFRLsw==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-7.3.9.tgz", + "integrity": "sha512-p7s8yEV6ASz0HjiArH11yjNj3vXzK2Ep94GrpdtYJxSxFC2w1mXAVUaJB/5+jC4+1YeYsmcBFTXmZ1rGMyTv3g==", "dev": true, "engines": { "node": ">=16" @@ -903,6 +904,12 @@ "integrity": "sha512-eeC20Q+UnHcTVBK6pgwhSjGIVugO2XqU7hv4ZfXp2F9DxGx1RME0+1sKX4qAGhdFGwOBsEzb2fwUsAEP6Mibpg==", "dev": true }, + "node_modules/@cspell/dict-makefile": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-makefile/-/dict-makefile-1.0.0.tgz", + "integrity": "sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==", + "dev": true + }, "node_modules/@cspell/dict-node": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.3.tgz", @@ -1003,21 +1010,21 @@ "dev": true }, "node_modules/@cspell/dynamic-import": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-7.3.8.tgz", - "integrity": "sha512-s8x7dH/ScfW0pFEIvNFo4JOR7YmvM2wZSHOykmWTJCQ8k2EQ/+uECPp6ZxkoJoukTz8sj+3KzF0fRl5mKxPd6g==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-7.3.9.tgz", + "integrity": "sha512-P6tAmDVhrW03hmhetxhBKlNTYwL2lk8ZehYQwSpXaLnaFrS3xrQvfUaJ3Mj9W2CIMzSYXlLmPO2FLRhXK2dnEw==", "dev": true, "dependencies": { - "import-meta-resolve": "^3.0.0" + "import-meta-resolve": "^3.1.1" }, "engines": { "node": ">=16" } }, "node_modules/@cspell/strong-weak-map": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-7.3.8.tgz", - "integrity": "sha512-qNnt2wG45wb8JP54mENarnQgxfSYKPp3zlYID/2przbMNmVJRqUlcIBOdLI6plCgGeNkzJTl3T9T1ATbnN+LLw==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-7.3.9.tgz", + "integrity": "sha512-XKpw/p3+EN+PWiFAWc45RJPI9zQRkPSVdUFeZb0YLseWF/CkogScgIe4CLfMLITiVbP0X/FKk90+aTPfAU38kg==", "dev": true, "engines": { "node": ">=16" @@ -2056,185 +2063,12 @@ } }, "node_modules/@open-wc/semantic-dom-diff": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@open-wc/semantic-dom-diff/-/semantic-dom-diff-0.20.0.tgz", - "integrity": "sha512-qGHl3nkXluXsjpLY9bSZka/cnlrybPtJMs6RjmV/OP4ID7Gcz1uNWQks05pAhptDB1R47G6PQjdwxG8dXl1zGA==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@open-wc/semantic-dom-diff/-/semantic-dom-diff-0.20.1.tgz", + "integrity": "sha512-mPF/RPT2TU7Dw41LEDdaeP6eyTOWBD4z0+AHP4/d0SbgcfJZVRymlIB6DQmtz0fd2CImIS9kszaMmwMt92HBPA==", "dependencies": { "@types/chai": "^4.3.1", - "@web/test-runner-commands": "^0.7.0" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/@web/browser-logs": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.3.4.tgz", - "integrity": "sha512-0UkoUj1DdQjxaVBArHZRAGoiE5584/dSQ0V3hYWRqVDxaE3CwkfQ7kwb6i3Z1xJ8HZ9nuLMNycu3vLQwfhDnpg==", - "dependencies": { - "errorstacks": "^2.2.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/@web/dev-server-core": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.6.3.tgz", - "integrity": "sha512-BWlgxIXQbg3RqUdz9Cfeh3XqFv0KcjQi4DLaZy9s63IlXgNZTzesTfDzliP/mIdWd5r8KZYh/P3n6LMi7CLPjQ==", - "dependencies": { - "@types/koa": "^2.11.6", - "@types/ws": "^7.4.0", - "@web/parse5-utils": "^2.0.2", - "chokidar": "^3.4.3", - "clone": "^2.1.2", - "es-module-lexer": "^1.0.0", - "get-stream": "^6.0.0", - "is-stream": "^2.0.0", - "isbinaryfile": "^5.0.0", - "koa": "^2.13.0", - "koa-etag": "^4.0.0", - "koa-send": "^5.0.1", - "koa-static": "^5.0.0", - "lru-cache": "^8.0.4", - "mime-types": "^2.1.27", - "parse5": "^6.0.1", - "picomatch": "^2.2.2", - "ws": "^7.4.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/@web/test-runner-commands": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.7.0.tgz", - "integrity": "sha512-3aXeGrkynOdJ5jgZu5ZslcWmWuPVY9/HNdWDUqPyNePG08PKmLV9Ij342ODDL6OVsxF5dvYn1312PhDqu5AQNw==", - "dependencies": { - "@web/test-runner-core": "^0.11.0", - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/@web/test-runner-core": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.11.6.tgz", - "integrity": "sha512-hbLg15seMnpDD32NmEzy/T18EKiH4tnuqaspqq7dEKY9svvVhPiFj/Q0JN79SvE6oE4M0vAxzCTRlBl4/huiTw==", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@types/babel__code-frame": "^7.0.2", - "@types/co-body": "^6.1.0", - "@types/convert-source-map": "^2.0.0", - "@types/debounce": "^1.2.0", - "@types/istanbul-lib-coverage": "^2.0.3", - "@types/istanbul-reports": "^3.0.0", - "@web/browser-logs": "^0.3.4", - "@web/dev-server-core": "^0.6.2", - "chokidar": "^3.4.3", - "cli-cursor": "^3.1.0", - "co-body": "^6.1.0", - "convert-source-map": "^2.0.0", - "debounce": "^1.2.0", - "dependency-graph": "^0.11.0", - "globby": "^11.0.1", - "ip": "^1.1.5", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.1", - "istanbul-reports": "^3.0.2", - "log-update": "^4.0.0", - "nanocolors": "^0.2.1", - "nanoid": "^3.1.25", - "open": "^8.0.2", - "picomatch": "^2.2.2", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/lru-cache": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", - "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@open-wc/semantic-dom-diff/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" + "@web/test-runner-commands": "^0.9.0" } }, "node_modules/@open-wc/testing": { @@ -2614,77 +2448,77 @@ } }, "node_modules/@types/accepts": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.6.tgz", - "integrity": "sha512-6+qlUg57yfE9OO63wnsJXLeq9cG3gSHBBIxNMOjNrbDRlDnm/NaR7RctfYcVCPq+j7d+MwOxqVEludH5+FKrlg==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/babel__code-frame": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.5.tgz", - "integrity": "sha512-tE88HnYMl5iJAB1V9nJCrE1udmwGCoNvx2ayTa8nwkE3UMMRRljANO+sX8D321hIrqf1DlvhAPAo5G6DWaMQNg==" + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.6.tgz", + "integrity": "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==" }, "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/chai": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.9.tgz", - "integrity": "sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==" + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-of+ICnbqjmFCiixUnqRulbylyXQrPqIGf/B3Jax1wIF3DvSheysQxAWvqHhZiW3IQrycvokcLcFQlveGp+vyNg==" }, "node_modules/@types/chai-dom": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@types/chai-dom/-/chai-dom-1.11.2.tgz", - "integrity": "sha512-6ltNv5QOV7pdW5JEkhT+GMMfvziRC90Rn6zwadC8PFf6tWbXBQRRCV/uXp7nVPdiTKHbqbPTX1jDDhKbu5MW2Q==", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@types/chai-dom/-/chai-dom-1.11.3.tgz", + "integrity": "sha512-EUEZI7uID4ewzxnU7DJXtyvykhQuwe+etJ1wwOiJyQRTH/ifMWKX+ghiXkxCUvNJ6IQDodf0JXhuP6zZcy2qXQ==", "dependencies": { "@types/chai": "*" } }, "node_modules/@types/co-body": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@types/co-body/-/co-body-6.1.2.tgz", - "integrity": "sha512-eUqBFu8mNW56oZAP0aEmGm+4qFeYjkxVThQ1F/8jFOBiSNM+gib3pYFzjnQsQRUZ501Eg8qOc7Nn76GcZo6Uvg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@types/co-body/-/co-body-6.1.3.tgz", + "integrity": "sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==", "dependencies": { "@types/node": "*", "@types/qs": "*" } }, "node_modules/@types/command-line-args": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.2.tgz", - "integrity": "sha512-9aZ7KzLDOBYyqH5J2bvB9edvsMXusX+H/aS8idAJOpWNmscZG5RqO1CVJPFa4Q0/1xKgvxcweXunFVx2l/dYFA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz", + "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==", "dev": true }, "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/content-disposition": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.7.tgz", - "integrity": "sha512-V9/5u21RHFR1zfdm3rQ6pJUKV+zSSVQt+yq16i1YhdivVzWgPEoKedc3GdT8aFjsqQbakdxuy3FnEdePUQOamQ==" + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz", + "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==" }, "node_modules/@types/convert-source-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-2.0.2.tgz", - "integrity": "sha512-M8jHZquUkvyaHtNVCKNoCqGmbbNFgRJ2JL607SPmcNUWqhU1spBaEJD7qlW3kMiQjKPlyyT4ZUbPG6vO4SYLBg==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-2.0.3.tgz", + "integrity": "sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==" }, "node_modules/@types/cookies": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.9.tgz", - "integrity": "sha512-SrGYvhKohd/WSOII0WpflC73RgdJhQoqpwq9q+n/qugNGiDSGYXfHy3QvB4+X+J/gYe27j2fSRnK4B+1A3nvsw==", + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.10.tgz", + "integrity": "sha512-hmUCjAk2fwZVPPkkPBcI7jGLIR5mg4OVoNMBwU6aVsMm/iNPY7z9/R+x2fSwLt/ZXoGua6C5Zy2k5xOo9jUyhQ==", "dependencies": { "@types/connect": "*", "@types/express": "*", @@ -2693,29 +2527,29 @@ } }, "node_modules/@types/debounce": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.3.tgz", - "integrity": "sha512-97mx7gWt4e+kd0wPa1pNEvE4tYGhgBVa4ExWOLcfFohAjF9wERfJ+3qrn7I1e76oHupOvRs4UyYe9xzy0i4TUw==" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz", + "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==" }, "node_modules/@types/debug": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", - "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.11.tgz", + "integrity": "sha512-R2qflTjHDs4CL6D/6TkqBeIHr54WzZfIxN729xvCNlYIVp2LknlnCro5Yo3frNaX2E5gO9pZ3/QAPVdGmu+q9w==", "dev": true, "dependencies": { "@types/ms": "*" } }, "node_modules/@types/estree": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", - "integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -2724,9 +2558,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -2735,9 +2569,9 @@ } }, "node_modules/@types/fs-extra": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.3.tgz", - "integrity": "sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", + "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", "dev": true, "dependencies": { "@types/jsonfile": "*", @@ -2755,75 +2589,75 @@ } }, "node_modules/@types/hast": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz", - "integrity": "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.8.tgz", + "integrity": "sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==", "dev": true, "dependencies": { "@types/unist": "^2" } }, "node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "node_modules/@types/http-assert": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.4.tgz", - "integrity": "sha512-/6M9aaVk+avzCsrv1lt39AlFw4faCNI6aGll91Rxj38ZE5JI8AxApyQIRy+i1McjiJiuQ0sfuoMLxqq374ZIbA==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz", + "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==" }, "node_modules/@types/http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", "dev": true }, "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", - "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", - "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jsonfile": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.3.tgz", - "integrity": "sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz", + "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/keygrip": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.4.tgz", - "integrity": "sha512-/tjWYD8StMrINelsrHNmpXceo9s3/Y22AzePH1qCvXIgmz/aQp2YFFr6HqhNQVIOdcvaVyp5GS+yjHGuF7Rwsg==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.5.tgz", + "integrity": "sha512-M+BUYYOXgiYoab5L98VpOY1PzmDwWcTkqqu4mdluez5qOTDV0MVPChxhRIPeIFxQgSi3+6qjg1PnGFaGlW373g==" }, "node_modules/@types/koa": { - "version": "2.13.10", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.10.tgz", - "integrity": "sha512-weKc5IBeORLDGwD1FMgPjaZIg0/mtP7KxXAXEzPRCN78k274D9U2acmccDNPL1MwyV40Jj+hQQ5N2eaV6O0z8g==", + "version": "2.13.11", + "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.11.tgz", + "integrity": "sha512-0HZSGNdmLlLRvSxv0ngLSp09Hw98c+2XL3ZRYmkE6y8grqTweKEyyaj7LgxkyPUv0gQ5pNS/a7kHXo2Iwha1rA==", "dependencies": { "@types/accepts": "*", "@types/content-disposition": "*", @@ -2836,26 +2670,26 @@ } }, "node_modules/@types/koa-compose": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.7.tgz", - "integrity": "sha512-smtvSL/oLICPuenxy73OmxKGh42VVfn2o2eutReH1yjij0LmxADBpGcAJbp4N+yJjPapPN7jAX9p7Ue0JMQ/Ag==", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz", + "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==", "dependencies": { "@types/koa": "*" } }, "node_modules/@types/mdast": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", - "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", "dev": true, "dependencies": { "@types/unist": "*" } }, "node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/minimatch": { "version": "5.1.2", @@ -2873,20 +2707,20 @@ } }, "node_modules/@types/mocha": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.3.tgz", - "integrity": "sha512-RsOPImTriV/OE4A9qKjMtk2MnXiuLLbcO3nCXK+kvq4nr0iMfFgpjaX3MPLb6f7+EL1FGSelYvuJMV6REH+ZPQ==" + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.4.tgz", + "integrity": "sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==" }, "node_modules/@types/ms": { - "version": "0.7.33", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", - "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==", + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", "dev": true }, "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "version": "20.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", + "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", "dependencies": { "undici-types": "~5.26.4" } @@ -2898,32 +2732,32 @@ "dev": true }, "node_modules/@types/pixelmatch": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/@types/pixelmatch/-/pixelmatch-5.2.5.tgz", - "integrity": "sha512-di/HknmWA+KNjlLczJiLft9g1mHJZl5qGAXtDct8KsJg8KPrXKJa8Avumj53fgdJOBbfHABYhp3EjyitmKPdBg==", + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@types/pixelmatch/-/pixelmatch-5.2.6.tgz", + "integrity": "sha512-wC83uexE5KGuUODn6zkm9gMzTwdY5L0chiK+VrKcDfEjzxh1uadlWTvOmAbCpnM9zx/Ww3f8uKlYQVnO/TrqVg==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/pngjs": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/pngjs/-/pngjs-6.0.3.tgz", - "integrity": "sha512-F/WaGVKEZ1XYFlEtsWtqWm92vRfQdOqSSTBPj07BRDKnDtRhCw50DpwEQtrrDwEZUoAZAzv2FaalZiNV/54BoQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/pngjs/-/pngjs-6.0.4.tgz", + "integrity": "sha512-atAK9xLKOnxiuArxcHovmnOUUGBZOQ3f0vCf43FnoKs6XnqiambT1kkJWmdo71IR+BoXSh+CueeFR0GfH3dTlQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==" }, "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/resolve": { "version": "1.20.2", @@ -2932,18 +2766,18 @@ "dev": true }, "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", @@ -2951,36 +2785,36 @@ } }, "node_modules/@types/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-oN4AeDMFCeNZrAffCjhLcwwVymRZL2c9mljUmhPnd0eiM06d4ELDg0Q0TSvnZXrCIFlSA859qIdcfu1HapswPQ==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-Q2Go6TJetYn5Za1+RJA1Aik61Oa2FS8SuJ0juIqUuJ5dZR4wvhKfmSdIqWtQ3P6gljKWjW0/R7FZkA4oXVL6OA==", "dependencies": { "@types/sinonjs__fake-timers": "*" } }, "node_modules/@types/sinon-chai": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.11.tgz", - "integrity": "sha512-1C5SBFzwn9hjiMr1xfqbULcSI9qXVpkGZT/LYbbd3jWiTo2MSvA+iFfwODlSoAXGeCgBw6S509dxy8zSIacr3Q==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", "dependencies": { "@types/chai": "*", "@types/sinon": "*" } }, "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.4", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.4.tgz", - "integrity": "sha512-GDV68H0mBSN449sa5HEj51E0wfpVQb8xNSMzxf/PrypMFcLTMwJMOM/cgXiv71Mq5drkOQmUGvL1okOZcu6RrQ==" + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==" }, "node_modules/@types/trusted-types": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.5.tgz", - "integrity": "sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.6.tgz", + "integrity": "sha512-HYtNooPvUY9WAVRBr4u+4Qa9fYD1ze2IUlAD3HoA6oehn1taGwBx3Oa52U4mTslTS+GAExKpaFu39Y5xUEwfjg==" }, "node_modules/@types/unist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", - "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", "dev": true }, "node_modules/@types/ws": { @@ -2992,9 +2826,9 @@ } }, "node_modules/@types/yauzl": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.2.tgz", - "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, "optional": true, "dependencies": { @@ -4623,18 +4457,6 @@ "node": ">=12.13.0" } }, - "node_modules/chrome-launcher/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/chromium-bidi": { "version": "0.4.16", "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz", @@ -5146,23 +4968,23 @@ } }, "node_modules/cspell": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell/-/cspell-7.3.8.tgz", - "integrity": "sha512-8AkqsBQAMsKYV5XyJLB6rBs5hgspL4+MPOg6mBKG2j5EvQgRVc6dIfAPWDNLpIeW2a3+7K5BIWqKHapKPeiknQ==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-7.3.9.tgz", + "integrity": "sha512-QzunjO9CmV5+98UfG4ONhvPtrcAC6Y2pEKeOrp5oPeyAI7HwgxmfsR3ybHRlMPAGcwKtDOurBKxM7jqXNwkzmA==", "dev": true, "dependencies": { - "@cspell/cspell-json-reporter": "7.3.8", - "@cspell/cspell-pipe": "7.3.8", - "@cspell/cspell-types": "7.3.8", - "@cspell/dynamic-import": "7.3.8", + "@cspell/cspell-json-reporter": "7.3.9", + "@cspell/cspell-pipe": "7.3.9", + "@cspell/cspell-types": "7.3.9", + "@cspell/dynamic-import": "7.3.9", "chalk": "^5.3.0", "chalk-template": "^1.1.0", "commander": "^11.1.0", - "cspell-gitignore": "7.3.8", - "cspell-glob": "7.3.8", - "cspell-io": "7.3.8", - "cspell-lib": "7.3.8", - "fast-glob": "^3.3.1", + "cspell-gitignore": "7.3.9", + "cspell-glob": "7.3.9", + "cspell-io": "7.3.9", + "cspell-lib": "7.3.9", + "fast-glob": "^3.3.2", "fast-json-stable-stringify": "^2.1.0", "file-entry-cache": "^7.0.1", "get-stdin": "^9.0.0", @@ -5182,14 +5004,14 @@ } }, "node_modules/cspell-dictionary": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-7.3.8.tgz", - "integrity": "sha512-gkq4t78eLR0xC3P0vDDHPeNY4iZRd5YE6Z8uDJ7RM4UaX/TSdVUN9KNFr34RnJ119NYVHujpL9+uW7wPSAe8Eg==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-7.3.9.tgz", + "integrity": "sha512-lkWfX5QNbs4yKqD9wa+G+NHRWmLgFdyposgJOyd/ojDbx99CDPMhMhg9pyMKdYl6Yt8kjMow58/i12EYvD8wnA==", "dev": true, "dependencies": { - "@cspell/cspell-pipe": "7.3.8", - "@cspell/cspell-types": "7.3.8", - "cspell-trie-lib": "7.3.8", + "@cspell/cspell-pipe": "7.3.9", + "@cspell/cspell-types": "7.3.9", + "cspell-trie-lib": "7.3.9", "fast-equals": "^4.0.3", "gensequence": "^6.0.0" }, @@ -5204,12 +5026,12 @@ "dev": true }, "node_modules/cspell-gitignore": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-7.3.8.tgz", - "integrity": "sha512-vJzCOUEiw6/MwV/U4Ux3bgSdj9mXB+X5eHL+qzVoyFI7ArlvrkuGTL+iFJThQcS8McM3SGqtvaBNCiKBmAeCkA==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-7.3.9.tgz", + "integrity": "sha512-DLuu+K2q4xYNL4DpLyysUeiGU/NYYoObzfOYiISzOKYpi3aFLiUaiyfF6xWGsahmlijif+8bwSsIMmcvGa5dgA==", "dev": true, "dependencies": { - "cspell-glob": "7.3.8", + "cspell-glob": "7.3.9", "find-up": "^5.0.0" }, "bin": { @@ -5220,9 +5042,9 @@ } }, "node_modules/cspell-glob": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-7.3.8.tgz", - "integrity": "sha512-wUZC6znyxEs0wlhzGfZ4XHkATPJyazJIFi/VvAdj+KHe7U8SoSgitJVDQqdgectI2y3MxR7lQdVLX9dONFh+7A==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-7.3.9.tgz", + "integrity": "sha512-7PaTkCzJWjQex3men857v3ExF7Q10jbQkfD+wdln2te9iNFd+HEkstA173vb828D9yeib1q1of8oONr2SeGycg==", "dev": true, "dependencies": { "micromatch": "^4.0.5" @@ -5232,13 +5054,13 @@ } }, "node_modules/cspell-grammar": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-7.3.8.tgz", - "integrity": "sha512-nTjAlMAZAVSFhBd9U3MB9l5FfC5JCCr9DTOA2wWxusVOm+36MbSEH90ucLPkhPa9/+0HtbpDhqVMwXCZllRpsg==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-7.3.9.tgz", + "integrity": "sha512-s1QOPg4AxWE8XBewDQLe14j0uDyWGjREfm4dZFTrslAZUrQ8/df5s152M5LtgOEza33FrkKKE2axbGvgS9O7sQ==", "dev": true, "dependencies": { - "@cspell/cspell-pipe": "7.3.8", - "@cspell/cspell-types": "7.3.8" + "@cspell/cspell-pipe": "7.3.9", + "@cspell/cspell-types": "7.3.9" }, "bin": { "cspell-grammar": "bin.mjs" @@ -5248,12 +5070,12 @@ } }, "node_modules/cspell-io": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-7.3.8.tgz", - "integrity": "sha512-XrxPbaiek7EZh+26k9RYVz2wKclaMqM6mXBiu/kpFAHRHHfz91ado6xWvyxZ7UAxQ8ixEwZ+oz9TU+k21gHzyw==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-7.3.9.tgz", + "integrity": "sha512-IbXOYaDxLg94uijv13kqb+6PQjEwGboQYtABuZs2+HuUVW89K2tE+fQcEhkAsrZ11sDj5lUqgEQj9omvknZSuA==", "dev": true, "dependencies": { - "@cspell/cspell-service-bus": "7.3.8", + "@cspell/cspell-service-bus": "7.3.9", "node-fetch": "^2.7.0" }, "engines": { @@ -5261,26 +5083,26 @@ } }, "node_modules/cspell-lib": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-7.3.8.tgz", - "integrity": "sha512-2L770sI5DdsAKVzO3jxmfP2fz4LryW6dzL93BpN7WU+ebFC6rg4ioa5liOJV4WoDo2fNQMSeqfW4Aawu9zWR7A==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-7.3.9.tgz", + "integrity": "sha512-eFYYs8XoYmdu78UxrPisD+hAoXOLaLzcevKf9+oDPDgJmHpkGoFgbIBnHMRIsAM1e+QDS6OlWG/rybhZTqanCQ==", "dev": true, "dependencies": { - "@cspell/cspell-bundled-dicts": "7.3.8", - "@cspell/cspell-pipe": "7.3.8", - "@cspell/cspell-resolver": "7.3.8", - "@cspell/cspell-types": "7.3.8", - "@cspell/dynamic-import": "7.3.8", - "@cspell/strong-weak-map": "7.3.8", + "@cspell/cspell-bundled-dicts": "7.3.9", + "@cspell/cspell-pipe": "7.3.9", + "@cspell/cspell-resolver": "7.3.9", + "@cspell/cspell-types": "7.3.9", + "@cspell/dynamic-import": "7.3.9", + "@cspell/strong-weak-map": "7.3.9", "clear-module": "^4.1.2", "comment-json": "^4.2.3", "configstore": "^6.0.0", "cosmiconfig": "8.0.0", - "cspell-dictionary": "7.3.8", - "cspell-glob": "7.3.8", - "cspell-grammar": "7.3.8", - "cspell-io": "7.3.8", - "cspell-trie-lib": "7.3.8", + "cspell-dictionary": "7.3.9", + "cspell-glob": "7.3.9", + "cspell-grammar": "7.3.9", + "cspell-io": "7.3.9", + "cspell-trie-lib": "7.3.9", "fast-equals": "^5.0.1", "find-up": "^6.3.0", "gensequence": "^6.0.0", @@ -5376,13 +5198,13 @@ } }, "node_modules/cspell-trie-lib": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-7.3.8.tgz", - "integrity": "sha512-UQx1Bazbyz2eQJ/EnMohINnUdZvAQL+OcQU3EPPbNWM1DWF4bJGgmFXKNCRYfJk6wtOZVXG5g5AZXx9KnHeN9A==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-7.3.9.tgz", + "integrity": "sha512-aTWm2KYXjQ+MlM6kB37wmTV9RU8+fgZYkiFfMc48M0MhBc6XkHUibMGrFAS29gp+B70kWPxe+VHLmFIk9pRPyg==", "dev": true, "dependencies": { - "@cspell/cspell-pipe": "7.3.8", - "@cspell/cspell-types": "7.3.8", + "@cspell/cspell-pipe": "7.3.9", + "@cspell/cspell-types": "7.3.9", "gensequence": "^6.0.0" }, "engines": { @@ -5658,9 +5480,9 @@ } }, "node_modules/dependency-cruiser": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-15.1.1.tgz", - "integrity": "sha512-/rgkKZo3msLE5nW0u1kfWmFFxeDBmiaPPuAvXWWc32IALsanIzgNI2qU2zUF/ItjM+SGPcpQp40FYie/PgxquQ==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-15.2.0.tgz", + "integrity": "sha512-hALu4M4eqRd3hrtIQKAb6vX8DQtJ75CzMJace3v/Q37oDeCtqfwsu8lZ81TFG63yIZRYVUaU6mF/ujWXT9U8zg==", "dev": true, "dependencies": { "acorn": "8.11.2", @@ -5672,7 +5494,7 @@ "chalk": "5.3.0", "commander": "11.1.0", "enhanced-resolve": "5.15.0", - "figures": "5.0.0", + "figures": "6.0.1", "ignore": "5.2.4", "indent-string": "5.0.0", "interpret": "^3.1.1", @@ -5827,9 +5649,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.576", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.576.tgz", - "integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==", + "version": "1.4.578", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.578.tgz", + "integrity": "sha512-V0ZhSu1BQZKfG0yNEL6Dadzik8E1vAzfpVOapdSiT9F6yapEJ3Bk+4tZ4SMPdWiUchCgnM/ByYtBzp5ntzDMIA==", "dev": true }, "node_modules/element-vir": { @@ -5993,12 +5815,12 @@ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6167,9 +5989,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6211,16 +6033,15 @@ } }, "node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.0.1.tgz", + "integrity": "sha512-0oY/olScYD4IhQ8u//gCPA4F3mlTn2dacYmiDm/mbDQvpmLjV4uH+zhsQ5IyXRyvqkvtUkXkNdGvg5OFJTCsuQ==", "dev": true, "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" + "is-unicode-supported": "^2.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7616,12 +7437,12 @@ "dev": true }, "node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", + "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7688,9 +7509,9 @@ "dev": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "engines": { "node": ">=8" } @@ -8554,18 +8375,18 @@ } }, "node_modules/mdast-util-to-hast/node_modules/@types/mdast": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz", - "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "dev": true, "dependencies": { "@types/unist": "^2" } }, "node_modules/mdast-util-to-hast/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "node_modules/mdast-util-to-string": { @@ -9435,18 +9256,6 @@ "node": ">=0.3.1" } }, - "node_modules/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/mocha/node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -9638,9 +9447,9 @@ "integrity": "sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA==" }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -12070,18 +11879,18 @@ } }, "node_modules/remark-parse/node_modules/@types/mdast": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz", - "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "dev": true, "dependencies": { "@types/unist": "^2" } }, "node_modules/remark-parse/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "node_modules/remark-parse/node_modules/mdast-util-from-markdown": { @@ -13906,15 +13715,15 @@ } }, "node_modules/unist-util-visit-parents/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "node_modules/unist-util-visit/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "node_modules/universalify": { @@ -14133,9 +13942,9 @@ } }, "node_modules/vfile-message/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "node_modules/vfile-message/node_modules/unist-util-stringify-position": { @@ -14152,9 +13961,9 @@ } }, "node_modules/vfile/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, "node_modules/vfile/node_modules/unist-util-stringify-position": { @@ -14641,15 +14450,15 @@ }, "packages/browser": { "name": "@augment-vir/browser", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", + "@augment-vir/common": "^21.5.1", "element-vir": "^16.5.2", "html-spec-tags": "^1.0.0" }, "devDependencies": { - "@augment-vir/browser-testing": "^21.5.0", + "@augment-vir/browser-testing": "^21.5.1", "@open-wc/testing": "^3.2.2", "@types/chai": "^4.3.9", "@types/mocha": "^10.0.3", @@ -14666,11 +14475,11 @@ }, "packages/browser-testing": { "name": "@augment-vir/browser-testing", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", - "@augment-vir/testing": "^21.5.0", + "@augment-vir/common": "^21.5.1", + "@augment-vir/testing": "^21.5.1", "@open-wc/testing": "^3.2.2", "@types/mocha": "^10.0.3", "@web/test-runner-commands": "^0.9.0", @@ -14710,11 +14519,11 @@ }, "packages/chai": { "name": "@augment-vir/chai", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", - "@augment-vir/testing": "^21.5.0", + "@augment-vir/common": "^21.5.1", + "@augment-vir/testing": "^21.5.1", "type-fest": "^4.6.0" }, "devDependencies": { @@ -14737,7 +14546,7 @@ }, "packages/common": { "name": "@augment-vir/common", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { "browser-or-node": "^2.1.1", @@ -14749,12 +14558,12 @@ }, "packages/common-tests": { "name": "@augment-vir/common-tests", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "devDependencies": { - "@augment-vir/chai": "^21.5.0", - "@augment-vir/common": "^21.5.0", - "@augment-vir/node-js": "^21.5.0", + "@augment-vir/chai": "^21.5.1", + "@augment-vir/common": "^21.5.1", + "@augment-vir/node-js": "^21.5.1", "@electrovir/nyc": "^15.1.0-fix0", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@types/chai": "^4.3.9", @@ -14794,11 +14603,11 @@ }, "packages/docker": { "name": "@augment-vir/docker", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", - "@augment-vir/node-js": "^21.5.0" + "@augment-vir/common": "^21.5.1", + "@augment-vir/node-js": "^21.5.1" }, "devDependencies": { "typescript": "^5.2.2" @@ -14806,10 +14615,10 @@ }, "packages/node-js": { "name": "@augment-vir/node-js", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", + "@augment-vir/common": "^21.5.1", "ansi-colors": "^4.1.3", "axios": "^1.6.0", "fs-extra": "^11.1.1", @@ -14817,7 +14626,7 @@ "type-fest": "^4.6.0" }, "devDependencies": { - "@augment-vir/chai": "^21.5.0", + "@augment-vir/chai": "^21.5.1", "@electrovir/nyc": "^15.1.0-fix0", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@types/chai": "^4.3.9", @@ -14846,11 +14655,11 @@ }, "packages/prisma-node-js": { "name": "@augment-vir/prisma-node-js", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", - "@augment-vir/node-js": "^21.5.0" + "@augment-vir/common": "^21.5.1", + "@augment-vir/node-js": "^21.5.1" }, "devDependencies": { "istanbul-smart-text-reporter": "^1.1.2", @@ -14859,11 +14668,11 @@ }, "packages/scripts": { "name": "@augment-vir/scripts", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", - "@augment-vir/node-js": "^21.5.0" + "@augment-vir/common": "^21.5.1", + "@augment-vir/node-js": "^21.5.1" }, "devDependencies": { "@electrovir/nyc": "^15.1.0-fix0", @@ -14894,10 +14703,10 @@ }, "packages/testing": { "name": "@augment-vir/testing", - "version": "21.5.1", + "version": "21.6.0", "license": "MIT", "dependencies": { - "@augment-vir/common": "^21.5.0", + "@augment-vir/common": "^21.5.1", "expect-type": "^0.15.0", "type-fest": "^4.6.0" }, diff --git a/package.json b/package.json index b97502ab..7f83e5c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "augment-vir", - "version": "21.5.1", + "version": "21.6.0", "private": true, "homepage": "https://github.com/electrovir/augment-vir", "bugs": { diff --git a/packages/browser-testing/package.json b/packages/browser-testing/package.json index 08e0757e..5481b926 100644 --- a/packages/browser-testing/package.json +++ b/packages/browser-testing/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/browser-testing", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/common", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" @@ -23,8 +23,8 @@ "test:coverage": "npm test" }, "dependencies": { - "@augment-vir/common": "^21.5.1", - "@augment-vir/testing": "^21.5.1", + "@augment-vir/common": "^21.6.0", + "@augment-vir/testing": "^21.6.0", "@open-wc/testing": "^3.2.2", "@types/mocha": "^10.0.3", "@web/test-runner-commands": "^0.9.0", diff --git a/packages/browser/package.json b/packages/browser/package.json index e7412747..10b6279c 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/browser", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/browser", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" @@ -24,12 +24,12 @@ "test:watch": "web-test-runner --color --config configs/web-test-runner.config.mjs --watch" }, "dependencies": { - "@augment-vir/common": "^21.5.1", + "@augment-vir/common": "^21.6.0", "element-vir": "^16.5.2", "html-spec-tags": "^1.0.0" }, "devDependencies": { - "@augment-vir/browser-testing": "^21.5.1", + "@augment-vir/browser-testing": "^21.6.0", "@open-wc/testing": "^3.2.2", "@types/chai": "^4.3.9", "@types/mocha": "^10.0.3", diff --git a/packages/chai/package.json b/packages/chai/package.json index c7320047..a719d80c 100644 --- a/packages/chai/package.json +++ b/packages/chai/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/chai", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/common", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" @@ -23,8 +23,8 @@ "test:coverage": "npm test" }, "dependencies": { - "@augment-vir/common": "^21.5.1", - "@augment-vir/testing": "^21.5.1", + "@augment-vir/common": "^21.6.0", + "@augment-vir/testing": "^21.6.0", "type-fest": "^4.6.0" }, "devDependencies": { diff --git a/packages/common-tests/package.json b/packages/common-tests/package.json index fffa0f6c..893d2ebc 100644 --- a/packages/common-tests/package.json +++ b/packages/common-tests/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/common-tests", - "version": "21.5.1", + "version": "21.6.0", "private": true, "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/common-tests", "bugs": { @@ -22,9 +22,9 @@ "test:types": "tsc --noEmit" }, "devDependencies": { - "@augment-vir/chai": "^21.5.1", - "@augment-vir/common": "^21.5.1", - "@augment-vir/node-js": "^21.5.1", + "@augment-vir/chai": "^21.6.0", + "@augment-vir/common": "^21.6.0", + "@augment-vir/node-js": "^21.6.0", "@electrovir/nyc": "^15.1.0-fix0", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@types/chai": "^4.3.9", diff --git a/packages/common-tests/src/tests/common-number.test.ts b/packages/common-tests/src/tests/common-number.test.ts index 23a96e65..eedc2966 100644 --- a/packages/common-tests/src/tests/common-number.test.ts +++ b/packages/common-tests/src/tests/common-number.test.ts @@ -1,38 +1,45 @@ import {itCases} from '@augment-vir/chai'; -import {addCommasToNumber, clamp, convertIntoNumber, ensureMinAndMax} from '@augment-vir/common'; -import {expect} from 'chai'; +import { + Dimensions, + addCommasToNumber, + clamp, + convertIntoNumber, + ensureMinAndMax, + round, + toEnsuredNumber, +} from '@augment-vir/common'; import {describe, it} from 'mocha'; describe(clamp.name, () => { - it('should successfully clamp downwards', () => { - expect( - clamp({ - max: 45, - min: 31, - value: 150, - }), - ).to.equal(45); - }); - - it('should successfully clamp upwards', () => { - expect( - clamp({ - max: 45, - min: 31, - value: 13, - }), - ).to.equal(31); - }); - - it("shouldn't change values in the middle", () => { - expect( - clamp({ - max: 45, - min: 31, + itCases(clamp, [ + { + it: 'does not alter a within-range value', + input: { + max: 50, + min: 40, value: 42, - }), - ).to.equal(42); - }); + }, + expect: 42, + }, + { + it: 'clamps a too high number', + input: { + max: 50, + min: 40, + value: 1_000, + }, + expect: 50, + }, + { + it: 'clamps a too low number', + input: { + max: 50, + min: 40, + value: 20, + }, + expect: 40, + }, + ]); }); describe(convertIntoNumber.name, () => { @@ -183,3 +190,69 @@ describe(ensureMinAndMax.name, () => { }, ]); }); + +describe(toEnsuredNumber.name, () => { + itCases(toEnsuredNumber, [ + { + it: 'converts a string to a number', + input: '5', + expect: 5, + }, + { + it: 'errors on invalid number string', + input: '5-3', + throws: Error, + }, + { + it: 'errors on object input', + input: {}, + throws: Error, + }, + ]); +}); + +describe(round.name, () => { + itCases(round, [ + { + it: 'rounds down with 2 decimals', + input: { + digits: 2, + number: 1.123456, + }, + expect: 1.12, + }, + { + it: 'rounds up with 2 decimals', + input: { + digits: 2, + number: 1.125456, + }, + expect: 1.13, + }, + { + it: 'rounds up with 3 decimals and a carry', + input: { + digits: 3, + number: 1.129556, + }, + expect: 1.13, + }, + { + it: 'rounds up with 0 decimals', + input: { + digits: 0, + number: 1.564123, + }, + expect: 2, + }, + ]); +}); + +describe('Dimensions', () => { + it('is assignable to from expected object shape', () => { + const testDimensions: Dimensions = { + width: 0, + height: Infinity, + }; + }); +}); diff --git a/packages/common-tests/src/tests/number.test.ts b/packages/common-tests/src/tests/number.test.ts deleted file mode 100644 index b3a09483..00000000 --- a/packages/common-tests/src/tests/number.test.ts +++ /dev/null @@ -1,59 +0,0 @@ -import {itCases} from '@augment-vir/chai'; -import {round, toEnsuredNumber} from '@augment-vir/common'; - -describe(toEnsuredNumber.name, () => { - itCases(toEnsuredNumber, [ - { - it: 'converts a string to a number', - input: '5', - expect: 5, - }, - { - it: 'errors on invalid number string', - input: '5-3', - throws: Error, - }, - { - it: 'errors on object input', - input: {}, - throws: Error, - }, - ]); -}); - -describe(round.name, () => { - itCases(round, [ - { - it: 'rounds down with 2 decimals', - input: { - digits: 2, - number: 1.123456, - }, - expect: 1.12, - }, - { - it: 'rounds up with 2 decimals', - input: { - digits: 2, - number: 1.125456, - }, - expect: 1.13, - }, - { - it: 'rounds up with 3 decimals and a carry', - input: { - digits: 3, - number: 1.129556, - }, - expect: 1.13, - }, - { - it: 'rounds up with 0 decimals', - input: { - digits: 0, - number: 1.564123, - }, - expect: 2, - }, - ]); -}); diff --git a/packages/common/package.json b/packages/common/package.json index f9d3f461..78424e71 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/common", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/common", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" diff --git a/packages/common/src/augments/common-number.ts b/packages/common/src/augments/common-number.ts index 3dd0d178..0b858c4e 100644 --- a/packages/common/src/augments/common-number.ts +++ b/packages/common/src/augments/common-number.ts @@ -32,24 +32,6 @@ export function addCommasToNumber(input: number | string): string { ].join(''); } -export function clamp( - /** - * This uses a destructured object so that consumers cannot get confused as to which input is - * which (which would be easy to do since they're all of the same type). - */ - { - value, - min, - max, - }: { - value: number; - min: number; - max: number; - }, -): number { - return Math.max(Math.min(value, max), min); -} - export function convertIntoNumber(input: unknown): number { if (typeof input === 'number') { return input; @@ -78,3 +60,44 @@ export function ensureMinAndMax({min, max}: {min: number; max: number}): { return {min, max}; } } + +export function toEnsuredNumber(input: any): number { + const numeric = Number(input); + + if (isNaN(numeric)) { + throw new Error(`Cannot convert given input to a number: ${input}`); + } else { + return numeric; + } +} +/** + * If the given value is outside the given min/max bounds, instead of clamping the number (as the + * `clamp` function does), this function wraps the value around to the next bound. + * + * @example + * wrapNumber({min: 0, max: 100, value: 101}) == 0; + */ +export function wrapNumber({max, min, value}: {value: number; max: number; min: number}): number { + if (value > max) { + return min; + } else if (value < min) { + return max; + } + + return value; +} + +export function round(inputs: {number: number; digits: number}): number { + const digitFactor = Math.pow(10, inputs.digits); + const multiplied = inputs.number * digitFactor; + + return Number((Math.round(multiplied) / digitFactor).toFixed(inputs.digits)); +} + +/** Clamp's the given value to within the min and max bounds, inclusive. */ +export function clamp({value, min, max}: {value: number; min: number; max: number}) { + return Math.min(Math.max(value, min), max); +} + +/** Standard box dimensions. */ +export type Dimensions = {width: number; height: number}; diff --git a/packages/common/src/augments/number.ts b/packages/common/src/augments/number.ts deleted file mode 100644 index f8725054..00000000 --- a/packages/common/src/augments/number.ts +++ /dev/null @@ -1,26 +0,0 @@ -export function toEnsuredNumber(input: any): number { - const numeric = Number(input); - - if (isNaN(numeric)) { - throw new Error(`Cannot convert given input to a number: ${input}`); - } else { - return numeric; - } -} - -export function wrapNumber({max, min, value}: {value: number; max: number; min: number}): number { - if (value > max) { - return min; - } else if (value < min) { - return max; - } - - return value; -} - -export function round(inputs: {number: number; digits: number}): number { - const digitFactor = Math.pow(10, inputs.digits); - const multiplied = inputs.number * digitFactor; - - return Number((Math.round(multiplied) / digitFactor).toFixed(inputs.digits)); -} diff --git a/packages/common/src/augments/string/suffixes.ts b/packages/common/src/augments/string/suffixes.ts index 0790fb98..87fe0d45 100644 --- a/packages/common/src/augments/string/suffixes.ts +++ b/packages/common/src/augments/string/suffixes.ts @@ -1,4 +1,4 @@ -import {toEnsuredNumber} from '../number'; +import {toEnsuredNumber} from '../common-number'; export type WithSuffix = `${string}${Suffix}`; diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts index bb8602d4..69285ab9 100644 --- a/packages/common/src/index.ts +++ b/packages/common/src/index.ts @@ -10,7 +10,6 @@ export * from './augments/function'; export * from './augments/json'; export * from './augments/json-compatible'; export * from './augments/map'; -export * from './augments/number'; export * from './augments/object/enum'; export * from './augments/object/filter-object'; export * from './augments/object/has-key'; diff --git a/packages/docker/package.json b/packages/docker/package.json index a317d519..6c0d20fc 100644 --- a/packages/docker/package.json +++ b/packages/docker/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/docker", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/docker", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" @@ -22,8 +22,8 @@ "test:coverage": "npm test" }, "dependencies": { - "@augment-vir/common": "^21.5.1", - "@augment-vir/node-js": "^21.5.1" + "@augment-vir/common": "^21.6.0", + "@augment-vir/node-js": "^21.6.0" }, "devDependencies": { "typescript": "^5.2.2" diff --git a/packages/node-js/package.json b/packages/node-js/package.json index 51483f82..69ecf065 100644 --- a/packages/node-js/package.json +++ b/packages/node-js/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/node-js", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/node-js", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" @@ -22,7 +22,7 @@ "test:coverage": "npm test coverage" }, "dependencies": { - "@augment-vir/common": "^21.5.1", + "@augment-vir/common": "^21.6.0", "ansi-colors": "^4.1.3", "axios": "^1.6.0", "fs-extra": "^11.1.1", @@ -30,7 +30,7 @@ "type-fest": "^4.6.0" }, "devDependencies": { - "@augment-vir/chai": "^21.5.1", + "@augment-vir/chai": "^21.6.0", "@electrovir/nyc": "^15.1.0-fix0", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@types/chai": "^4.3.9", diff --git a/packages/prisma-node-js/package.json b/packages/prisma-node-js/package.json index 9da6496e..13084302 100644 --- a/packages/prisma-node-js/package.json +++ b/packages/prisma-node-js/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/prisma-node-js", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/prisma-node-js", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" @@ -22,8 +22,8 @@ "test:coverage": "npm test" }, "dependencies": { - "@augment-vir/common": "^21.5.1", - "@augment-vir/node-js": "^21.5.1" + "@augment-vir/common": "^21.6.0", + "@augment-vir/node-js": "^21.6.0" }, "devDependencies": { "istanbul-smart-text-reporter": "^1.1.2", diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 58b34909..6231df2e 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/scripts", - "version": "21.5.1", + "version": "21.6.0", "private": true, "license": "MIT", "author": { @@ -14,8 +14,8 @@ "verify": "ts-node src/index.ts" }, "dependencies": { - "@augment-vir/common": "^21.5.1", - "@augment-vir/node-js": "^21.5.1" + "@augment-vir/common": "^21.6.0", + "@augment-vir/node-js": "^21.6.0" }, "devDependencies": { "@electrovir/nyc": "^15.1.0-fix0", diff --git a/packages/testing/package.json b/packages/testing/package.json index 32da94a9..ff3a9855 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@augment-vir/testing", - "version": "21.5.1", + "version": "21.6.0", "homepage": "https://github.com/electrovir/augment-vir/tree/main/packages/testing", "bugs": { "url": "https://github.com/electrovir/augment-vir/issues" @@ -23,7 +23,7 @@ "test:coverage": "npm test coverage" }, "dependencies": { - "@augment-vir/common": "^21.5.1", + "@augment-vir/common": "^21.6.0", "expect-type": "^0.15.0", "type-fest": "^4.6.0" },