diff --git a/.github/workflows/test-and-release.yml b/.github/workflows/test-and-release.yml index 6c0876b..4682ac8 100644 --- a/.github/workflows/test-and-release.yml +++ b/.github/workflows/test-and-release.yml @@ -25,7 +25,7 @@ jobs: strategy: matrix: - node-version: [12.x] + node-version: [16.x] steps: - uses: actions/checkout@v2 @@ -49,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [14.x, 16.x, 18.x] os: [ubuntu-latest, windows-latest, macos-latest] steps: diff --git a/build/main.js b/build/main.js index 010444f..cfad9f4 100644 --- a/build/main.js +++ b/build/main.js @@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -const adapter_core_1 = __importDefault(require("@iobroker/adapter-core")); +const utils = __importStar(require("@iobroker/adapter-core")); const net_1 = __importDefault(require("net")); const helper = __importStar(require("./lib/utils")); const states = __importStar(require("./lib/states")); @@ -52,7 +52,7 @@ let pollTimer = null; let connectTimer = null; let receiverType; function startAdapter(options = {}) { - adapter = new adapter_core_1.default.Adapter({ ...options, name: 'denon' }); + adapter = new utils.Adapter({ ...options, name: 'denon' }); adapter.on('unload', callback => { try { if (connectTimer) { @@ -61,11 +61,6 @@ function startAdapter(options = {}) { if (pollTimer) { clearTimeout(pollTimer); } - /* - if (intervalPollVar) { - clearInterval(intervalPollVar); - } - */ adapter.log.info('[END] Stopping Denon AVR adapter...'); adapter.setState('info.connection', false, true); client.destroy(); // kill connection diff --git a/build/main.js.map b/build/main.js.map index 2efbb24..75ddffe 100644 --- a/build/main.js.map +++ b/build/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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W;IACX,WAAW;IACX,WAAW;IACX,eAAe;IACf,QAAQ;IACR,SAAS;IACT,SAAS;IACT,KAAK;IACL,KAAK;IACL,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,KAAK;IACL,OAAO;IACP,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,OAAO;IACP,WAAW;IACX,QAAQ;CACX,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,YAAY;IACvB,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,YAAY,GAAG;IACjB,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,WAAW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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5fae73d..ecabdc8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,13 @@ "version": "1.13.4", "license": "MIT", "dependencies": { - "@iobroker/adapter-core": "^2.6.0" + "@iobroker/adapter-core": "^2.6.7", + "@types/mocha": "^10.0.1" }, "devDependencies": { "@alcalzone/release-script": "^3.5.6", "@alcalzone/release-script-plugin-iobroker": "^3.5.7", - "@iobroker/testing": "^2.5.6", + "@iobroker/testing": "^4.1.0", "@typescript-eslint/eslint-plugin": "^5.48.0", "@typescript-eslint/parser": "^5.48.0", "axios": "^0.26.1", @@ -25,10 +26,11 @@ "gulp": "^4.0.2", "mocha": "^9.2.2", "prettier": "^2.6.2", + "ts-node": "^10.9.1", "typescript": "^4.9.4" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" } }, "node_modules/@alcalzone/pak": { @@ -214,6 +216,18 @@ "node": ">=10" } }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", @@ -255,29 +269,307 @@ "dev": true }, "node_modules/@iobroker/adapter-core": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@iobroker/adapter-core/-/adapter-core-2.6.0.tgz", - "integrity": "sha512-J5Cgy0NK8GWjN1th3yvWCG3tnK8iJJcPaHIoVR8PfpEsz4hffuVGi660vNXqXdiqR5Br09XSJ5h1Pn9af0/taw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/@iobroker/adapter-core/-/adapter-core-2.6.7.tgz", + "integrity": "sha512-yDTmWjnsQ+DXRQVnQK97CXXMMs01H3Pl82DSqfx7dYj7RKoUenD75a0xY4QQdHZXG9SIhjNttXVEln0lWvOamA==", "dependencies": { - "@types/iobroker": "^4.0.1" + "@types/iobroker": "^4.0.5" } }, "node_modules/@iobroker/testing": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@iobroker/testing/-/testing-2.5.6.tgz", - "integrity": "sha512-oK9dj3f/j6M3fsrdmwY2k4TP3+h68rA3EfMSvnwV5Yc2+vR+xyBmOnoUcL0KLA2AIv++CBcfbE//9lcvANg7NA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@iobroker/testing/-/testing-4.1.0.tgz", + "integrity": "sha512-fzCfR5xF9VToixMqSZQKjNZiGvwDCZ5cUX+bfdll7ZyVhPXcMt6LB5UXkAYLF4QN/wA0TYa9o71iElKOQp4b4A==", "dev": true, "dependencies": { - "alcalzone-shared": "~4.0.1", + "alcalzone-shared": "~4.0.3", "chai": "^4.3.6", "chai-as-promised": "^7.1.1", - "debug": "^4.3.3", - "fs-extra": "^10.0.1", - "mocha": "^9.2.1", - "sinon": "^13.0.1", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "mocha": "^10.0.0", + "sinon": "^14.0.0", "sinon-chai": "^3.7.0" } }, + "node_modules/@iobroker/testing/node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@iobroker/testing/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@iobroker/testing/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@iobroker/testing/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@iobroker/testing/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@iobroker/testing/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@iobroker/testing/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@iobroker/testing/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@iobroker/testing/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@iobroker/testing/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@iobroker/testing/node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dev": true, + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/@iobroker/testing/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/@iobroker/testing/node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/@iobroker/testing/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@iobroker/testing/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/@iobroker/testing/node_modules/to-regex-range": { + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@iobroker/testing/node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true + }, + "node_modules/@iobroker/testing/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@iobroker/testing/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -314,44 +606,77 @@ } }, "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.1.tgz", - "integrity": "sha512-Wp5vwlZ0lOqpSYGKqr53INws9HLkt6JDc/pDZcPf7bchQnrXJMXPns8CXx0hFikMSGSWfvtvvpb2gtMVfkWagA==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, "node_modules/@sinonjs/samsam": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz", - "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", + "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.6.0", + "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", "type-detect": "^4.0.8" } }, "node_modules/@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "dev": true + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, "node_modules/@types/iobroker": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/iobroker/-/iobroker-4.0.1.tgz", - "integrity": "sha512-+lKr/gXxfYyXQXhL6FoNifaJGiylc+EFwtLqaFxORCkQlz35+0yBuZF5H728GgJWsbBidxe3q3zM2hazUAEz1g==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/iobroker/-/iobroker-4.0.5.tgz", + "integrity": "sha512-D1tJwuDQEQQQ/cZVFjFjFUhUuMxJbfrz5U2UooiZwhgs69D/t8IowMvBI6Lk4ZR8HnCSxYwWHVRKyQnEMNgJPA==", "dependencies": { "@types/node": "*" } @@ -362,10 +687,15 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, + "node_modules/@types/mocha": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", + "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==" + }, "node_modules/@types/node": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz", - "integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==" + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" }, "node_modules/@types/semver": { "version": "7.3.13", @@ -654,6 +984,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -671,12 +1010,12 @@ } }, "node_modules/alcalzone-shared": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/alcalzone-shared/-/alcalzone-shared-4.0.1.tgz", - "integrity": "sha512-6t0LFCIGvBG24grbV93Y1+MJjoyqgUpPOp/PkOcal1ZXXUUMEaZKPu6NfN6e3x5k2P2mnNaY2eXn/VmpWDLzYA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/alcalzone-shared/-/alcalzone-shared-4.0.8.tgz", + "integrity": "sha512-Rr0efCjNL9lw7miDvU8exL87Y42ehsLU2jUGNQUphhnlvxnTMrHeApWgoOSGZvsE2PhxC3KO7Z+VpQ/IbuV3aA==", "dev": true, "dependencies": { - "debug": "^4.3.2" + "debug": "^4.3.4" }, "engines": { "node": ">=12" @@ -764,6 +1103,12 @@ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1527,6 +1872,12 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2616,9 +2967,9 @@ } }, "node_modules/fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -4250,7 +4601,7 @@ "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true }, "node_modules/isexe": { @@ -4440,7 +4791,7 @@ "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, "node_modules/lodash.merge": { @@ -4486,6 +4837,12 @@ "node": ">=10" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -4988,18 +5345,27 @@ "dev": true }, "node_modules/nise": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz", - "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", + "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": ">=5", + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^10.0.2", "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", "path-to-regexp": "^1.7.0" } }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", + "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^2.0.0" + } + }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -6038,16 +6404,16 @@ "dev": true }, "node_modules/sinon": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.1.tgz", - "integrity": "sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", + "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^9.0.0", - "@sinonjs/samsam": "^6.1.1", + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^9.1.2", + "@sinonjs/samsam": "^7.0.1", "diff": "^5.0.0", - "nise": "^5.1.1", + "nise": "^5.1.2", "supports-color": "^7.2.0" }, "funding": { @@ -6607,6 +6973,58 @@ "node": ">= 0.10" } }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -6859,6 +7277,12 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "node_modules/v8flags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", @@ -7099,6 +7523,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -7257,6 +7690,15 @@ } } }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + } + }, "@eslint/eslintrc": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", @@ -7292,27 +7734,233 @@ "dev": true }, "@iobroker/adapter-core": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@iobroker/adapter-core/-/adapter-core-2.6.0.tgz", - "integrity": "sha512-J5Cgy0NK8GWjN1th3yvWCG3tnK8iJJcPaHIoVR8PfpEsz4hffuVGi660vNXqXdiqR5Br09XSJ5h1Pn9af0/taw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/@iobroker/adapter-core/-/adapter-core-2.6.7.tgz", + "integrity": "sha512-yDTmWjnsQ+DXRQVnQK97CXXMMs01H3Pl82DSqfx7dYj7RKoUenD75a0xY4QQdHZXG9SIhjNttXVEln0lWvOamA==", "requires": { - "@types/iobroker": "^4.0.1" + "@types/iobroker": "^4.0.5" } }, "@iobroker/testing": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@iobroker/testing/-/testing-2.5.6.tgz", - "integrity": "sha512-oK9dj3f/j6M3fsrdmwY2k4TP3+h68rA3EfMSvnwV5Yc2+vR+xyBmOnoUcL0KLA2AIv++CBcfbE//9lcvANg7NA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@iobroker/testing/-/testing-4.1.0.tgz", + "integrity": "sha512-fzCfR5xF9VToixMqSZQKjNZiGvwDCZ5cUX+bfdll7ZyVhPXcMt6LB5UXkAYLF4QN/wA0TYa9o71iElKOQp4b4A==", "dev": true, "requires": { - "alcalzone-shared": "~4.0.1", + "alcalzone-shared": "~4.0.3", "chai": "^4.3.6", "chai-as-promised": "^7.1.1", - "debug": "^4.3.3", - "fs-extra": "^10.0.1", - "mocha": "^9.2.1", - "sinon": "^13.0.1", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "mocha": "^10.0.0", + "sinon": "^14.0.0", "sinon-chai": "^3.7.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dev": true, + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "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==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@nodelib/fs.scandir": { @@ -7342,44 +7990,79 @@ } }, "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "requires": { "type-detect": "4.0.8" } }, "@sinonjs/fake-timers": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.1.tgz", - "integrity": "sha512-Wp5vwlZ0lOqpSYGKqr53INws9HLkt6JDc/pDZcPf7bchQnrXJMXPns8CXx0hFikMSGSWfvtvvpb2gtMVfkWagA==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + } } }, "@sinonjs/samsam": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz", - "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", + "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", "dev": true, "requires": { - "@sinonjs/commons": "^1.6.0", + "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", "type-detect": "^4.0.8" } }, "@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "dev": true + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, "@types/iobroker": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/iobroker/-/iobroker-4.0.1.tgz", - "integrity": "sha512-+lKr/gXxfYyXQXhL6FoNifaJGiylc+EFwtLqaFxORCkQlz35+0yBuZF5H728GgJWsbBidxe3q3zM2hazUAEz1g==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/iobroker/-/iobroker-4.0.5.tgz", + "integrity": "sha512-D1tJwuDQEQQQ/cZVFjFjFUhUuMxJbfrz5U2UooiZwhgs69D/t8IowMvBI6Lk4ZR8HnCSxYwWHVRKyQnEMNgJPA==", "requires": { "@types/node": "*" } @@ -7390,10 +8073,15 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, + "@types/mocha": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", + "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==" + }, "@types/node": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz", - "integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==" + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" }, "@types/semver": { "version": "7.3.13", @@ -7567,6 +8255,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -7580,12 +8274,12 @@ } }, "alcalzone-shared": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/alcalzone-shared/-/alcalzone-shared-4.0.1.tgz", - "integrity": "sha512-6t0LFCIGvBG24grbV93Y1+MJjoyqgUpPOp/PkOcal1ZXXUUMEaZKPu6NfN6e3x5k2P2mnNaY2eXn/VmpWDLzYA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/alcalzone-shared/-/alcalzone-shared-4.0.8.tgz", + "integrity": "sha512-Rr0efCjNL9lw7miDvU8exL87Y42ehsLU2jUGNQUphhnlvxnTMrHeApWgoOSGZvsE2PhxC3KO7Z+VpQ/IbuV3aA==", "dev": true, "requires": { - "debug": "^4.3.2" + "debug": "^4.3.4" } }, "ansi-colors": { @@ -7649,6 +8343,12 @@ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -8267,6 +8967,12 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -9125,9 +9831,9 @@ } }, "fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -10468,7 +11174,7 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true }, "isexe": { @@ -10620,7 +11326,7 @@ "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, "lodash.merge": { @@ -10657,6 +11363,12 @@ "yallist": "^4.0.0" } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -11040,16 +11752,27 @@ "dev": true }, "nise": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz", - "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", + "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", "dev": true, "requires": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": ">=5", + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^10.0.2", "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", "path-to-regexp": "^1.7.0" + }, + "dependencies": { + "@sinonjs/fake-timers": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", + "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^2.0.0" + } + } } }, "normalize-package-data": { @@ -11839,16 +12562,16 @@ "dev": true }, "sinon": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.1.tgz", - "integrity": "sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", + "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", "dev": true, "requires": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^9.0.0", - "@sinonjs/samsam": "^6.1.1", + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^9.1.2", + "@sinonjs/samsam": "^7.0.1", "diff": "^5.0.0", - "nise": "^5.1.1", + "nise": "^5.1.2", "supports-color": "^7.2.0" }, "dependencies": { @@ -12311,6 +13034,35 @@ "through2": "^2.0.3" } }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "dependencies": { + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + } + } + }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -12507,6 +13259,12 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "v8flags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", @@ -12695,6 +13453,12 @@ } } }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index f722f7e..421ec4c 100644 --- a/package.json +++ b/package.json @@ -30,12 +30,13 @@ "url": "https://github.com/foxriver76/ioBroker.denon" }, "dependencies": { - "@iobroker/adapter-core": "^2.6.0" + "@iobroker/adapter-core": "^2.6.7", + "@types/mocha": "^10.0.1" }, "devDependencies": { "@alcalzone/release-script": "^3.5.6", "@alcalzone/release-script-plugin-iobroker": "^3.5.7", - "@iobroker/testing": "^2.5.6", + "@iobroker/testing": "^4.1.0", "@typescript-eslint/eslint-plugin": "^5.48.0", "@typescript-eslint/parser": "^5.48.0", "axios": "^0.26.1", @@ -46,6 +47,7 @@ "gulp": "^4.0.2", "mocha": "^9.2.2", "prettier": "^2.6.2", + "ts-node": "^10.9.1", "typescript": "^4.9.4" }, "main": "build/main.js", @@ -53,9 +55,9 @@ "prebuild": "rimraf ./build", "build:ts": "tsc -p tsconfig.build.json", "build": "npm run build:ts", - "test:package": "mocha test/packageFiles --exit", - "test:integration": "mocha test/integrationAdapter --exit", - "test": "mocha --exit", + "test:package": "mocha -r ts-node/register test/packageFiles.ts --exit", + "test:integration": "mocha -r ts-node/register test/integrationAdapter.ts --exit", + "test": "mocha -r ts-node/register test/*.ts --exit", "release": "release-script -p iobroker" }, "bugs": { diff --git a/src/main.ts b/src/main.ts index 3397652..0c4b0e6 100755 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import utils from '@iobroker/adapter-core'; +import * as utils from '@iobroker/adapter-core'; import net from 'net'; import * as helper from './lib/utils'; import * as states from './lib/states'; @@ -42,12 +42,6 @@ function startAdapter(options: Partial = {}): utils.Adapte clearTimeout(pollTimer); } - /* - if (intervalPollVar) { - clearInterval(intervalPollVar); - } - */ - adapter.log.info('[END] Stopping Denon AVR adapter...'); adapter.setState('info.connection', false, true); client.destroy(); // kill connection diff --git a/test/integrationAdapter.js b/test/integrationAdapter.ts similarity index 66% rename from test/integrationAdapter.js rename to test/integrationAdapter.ts index 34f585f..1d76172 100644 --- a/test/integrationAdapter.js +++ b/test/integrationAdapter.ts @@ -1,14 +1,12 @@ -'use strict'; - -const path = require('path'); -const { tests } = require('@iobroker/testing'); +import path from 'path'; +import { tests } from '@iobroker/testing'; // Run tests tests.integration(path.join(__dirname, '..'), { - defineAdditionalTests(getHarness) { - describe('Test sendTo()', () => { - it('Should work', () => { - return new Promise(resolve => { + defineAdditionalTests: ({ suite }) => { + suite('Test sendTo()', getHarness => { + it('Should answer to browse', () => { + return new Promise(resolve => { // Create a fresh harness instance each test! const harness = getHarness(); // Start the adapter and wait until it has started @@ -19,7 +17,7 @@ tests.integration(path.join(__dirname, '..'), { }); }); }); - }).timeout(6000); + }).timeout(6_000); }); } }); diff --git a/test/packageFiles.js b/test/packageFiles.js deleted file mode 100644 index 6523fc0..0000000 --- a/test/packageFiles.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -const path = require('path'); -const { tests } = require('@iobroker/testing'); - -// Run tests -tests.packageFiles(path.join(__dirname, '..')); diff --git a/test/packageFiles.ts b/test/packageFiles.ts new file mode 100644 index 0000000..8ad5e05 --- /dev/null +++ b/test/packageFiles.ts @@ -0,0 +1,5 @@ +import path from 'path'; +import { tests } from '@iobroker/testing'; + +// Run tests +tests.packageFiles(path.join(__dirname, '..')); diff --git a/test/unitAdapter.js b/test/unitAdapter.js deleted file mode 100644 index 04e0efb..0000000 --- a/test/unitAdapter.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -const path = require('path'); -const { tests } = require('@iobroker/testing'); - -// Run tests -tests.unit(path.join(__dirname, '..')); diff --git a/tsconfig.json b/tsconfig.json index 78dc725..1666919 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -42,7 +42,8 @@ "include": [ "src/**/*.ts", "admin/**/*.ts", - "admin/**/*.tsx" + "admin/**/*.tsx", + "test/**/*.ts" ], "exclude": [ "build/**",