diff --git a/.eslintrc b/.eslintrc index c98babd..ebd4f65 100644 --- a/.eslintrc +++ b/.eslintrc @@ -24,6 +24,7 @@ "import/no-cycle": "off", "no-underscore-dangle": "off", "lines-between-class-members": "off", + "linebreak-style": ["error", "unix"], "padding-line-between-statements": [ "error", { diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..1a6b79c --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "plugins": [ + "prettier-plugin-jsdoc" + ] +} diff --git a/package-lock.json b/package-lock.json index 187c3f6..b67cf67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,6580 @@ { "name": "trello.js", - "version": "1.1.0", - "lockfileVersion": 1, + "version": "1.2.0", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "trello.js", + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "axios": "^0.24.0", + "tslib": "^2.3.1" + }, + "devDependencies": { + "@types/dotenv": "^8.2.0", + "@types/jest": "^27.4.0", + "@typescript-eslint/eslint-plugin": "^5.9.1", + "@typescript-eslint/parser": "^5.9.1", + "dotenv": "^12.0.4", + "eslint": "^8.7.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^16.1.0", + "eslint-import-resolver-typescript": "^2.5.0", + "eslint-plugin-import": "^2.25.4", + "jest": "^27.4.7", + "prettier": "^2.5.1", + "prettier-plugin-jsdoc": "^0.3.30", + "ts-jest": "^27.1.3", + "typedoc": "^0.22.10", + "typedoc-plugin-extras": "^2.2.3", + "typescript": "^4.5.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", + "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helpers": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", + "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", + "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", + "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", + "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", + "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", + "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", + "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", + "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz", + "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.3", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", + "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "dev": true, + "peer": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.7.tgz", + "integrity": "sha512-MiYR1yk8+TW/CpOD0CyX7ve9ffWTKqLk/L6pk8TPl0R8pNi+1pFY8fH9yET55KlvukQ4PAWfXsGr2YHVjcI4Pw==", + "dev": true, + "peer": true, + "dependencies": { + "core-js-pure": "^3.19.0", + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz", + "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.3", + "@babel/types": "^7.16.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@eslint/eslintrc": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", + "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.2.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", + "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz", + "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.4.6", + "jest-util": "^27.4.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz", + "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==", + "dev": true, + "dependencies": { + "@jest/console": "^27.4.6", + "@jest/reporters": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.4.2", + "jest-config": "^27.4.7", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-resolve-dependencies": "^27.4.6", + "jest-runner": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "jest-watcher": "^27.4.6", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz", + "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz", + "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz", + "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/types": "^27.4.2", + "expect": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz", + "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.4.6", + "jest-resolve": "^27.4.6", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/source-map": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz", + "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz", + "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz", + "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.4.6", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-runtime": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz", + "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.4.2", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-util": "^27.4.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", + "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.17", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.17.tgz", + "integrity": "sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw==", + "deprecated": "This is a stub types definition. dotenv provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "dotenv": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz", + "integrity": "sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==", + "dev": true, + "dependencies": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "16.11.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz", + "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz", + "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.1.tgz", + "integrity": "sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "5.9.1", + "@typescript-eslint/scope-manager": "5.9.1", + "@typescript-eslint/type-utils": "5.9.1", + "debug": "^4.3.2", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.1.tgz", + "integrity": "sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.9.1", + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/typescript-estree": "5.9.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.9.1.tgz", + "integrity": "sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.9.1", + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/typescript-estree": "5.9.1", + "debug": "^4.3.2" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz", + "integrity": "sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/visitor-keys": "5.9.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.9.1.tgz", + "integrity": "sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "5.9.1", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.9.1.tgz", + "integrity": "sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz", + "integrity": "sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/visitor-keys": "5.9.1", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz", + "integrity": "sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.9.1", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/array-includes": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true, + "peer": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/axe-core": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", + "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "dependencies": { + "follow-redirects": "^1.14.4" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true, + "peer": true + }, + "node_modules/babel-jest": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz", + "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==", + "dev": true, + "dependencies": { + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.4.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz", + "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz", + "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.4.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/binary-search-bounds": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz", + "integrity": "sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", + "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001280", + "electron-to-chromium": "^1.3.896", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001286", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz", + "integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comment-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz", + "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/core-js-pure": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.2.tgz", + "integrity": "sha512-CmWHvSKn2vNL6p6StNp1EmMIfVY/pqn3JLAjfZQ8WZGPOlGoO92EkX9/Mk81i6GxvoPXjUqEQnpM3rJ5QxxIOg==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "peer": true + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", + "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-12.0.4.tgz", + "integrity": "sha512-oWdqbSywffzH1l4WXKPHWA0TWYpqp7IyLfqjipT4upoIFS0HPMqtNotykQpD4iIg0BqtNmdgPCh2WMvMt7yTiw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.15.tgz", + "integrity": "sha512-WDw2IUL3k4QpbzInV3JZK+Zd1NjWJPDZ28oUSchWb/kf6AVj7/niaAlgcJlvojFa1d7pJSyQ/KSZsEtq5W7aGQ==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "peer": true + }, + "node_modules/es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz", + "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.0.5", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.2.0", + "espree": "^9.3.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-airbnb": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + }, + "engines": { + "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0" + } + }, + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-airbnb-base/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-config-airbnb-typescript": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-16.1.0.tgz", + "integrity": "sha512-W5Cq20KpEx5ZLC54bnVrC37zq2+WD956Kp/Ma3nYFRjT1v9KM63v+DPkrrmmrVqrlDKaD0ivm/qeYmyHV6qKlw==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz", + "integrity": "sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.1", + "glob": "^7.1.7", + "is-glob": "^4.0.1", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", + "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.25.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", + "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.2", + "has": "^1.0.3", + "is-core-module": "^2.8.0", + "is-glob": "^4.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.5", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.12.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.16.3", + "aria-query": "^4.2.2", + "array-includes": "^3.1.4", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.3.5", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", + "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flatmap": "^1.2.5", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.0", + "object.values": "^1.1.5", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", + "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "peer": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", + "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", + "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/espree": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", + "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", + "dev": true, + "dependencies": { + "acorn": "^8.7.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.1.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz", + "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "jest-get-type": "^27.4.0", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "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/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", + "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", + "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", + "dev": true, + "dependencies": { + "@jest/core": "^27.4.7", + "import-local": "^3.0.2", + "jest-cli": "^27.4.7" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz", + "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz", + "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.4.6", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz", + "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==", + "dev": true, + "dependencies": { + "@jest/core": "^27.4.7", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.4.7", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz", + "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.4.6", + "@jest/types": "^27.4.2", + "babel-jest": "^27.4.6", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-circus": "^27.4.6", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", + "jest-get-type": "^27.4.0", + "jest-jasmine2": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-runner": "^27.4.6", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "micromatch": "^4.0.4", + "pretty-format": "^27.4.6", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz", + "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.4.0", + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz", + "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz", + "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "jest-get-type": "^27.4.0", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz", + "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz", + "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz", + "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz", + "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.4.0", + "jest-serializer": "^27.4.0", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz", + "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/source-map": "^27.4.0", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.4.6", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz", + "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==", + "dev": true, + "dependencies": { + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz", + "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.4.6", + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz", + "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.4.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.4.6", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz", + "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz", + "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz", + "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz", + "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "jest-regex-util": "^27.4.0", + "jest-snapshot": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz", + "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==", + "dev": true, + "dependencies": { + "@jest/console": "^27.4.6", + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.4.0", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", + "jest-haste-map": "^27.4.6", + "jest-leak-detector": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-resolve": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz", + "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/globals": "^27.4.6", + "@jest/source-map": "^27.4.0", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz", + "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz", + "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.4.6", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.4.6", + "jest-get-type": "^27.4.0", + "jest-haste-map": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-util": "^27.4.2", + "natural-compare": "^1.4.0", + "pretty-format": "^27.4.6", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", + "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.4", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz", + "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.4.0", + "leven": "^3.1.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz", + "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.4.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", + "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/jsx-ast-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", + "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.3", + "object.assign": "^4.1.2" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true, + "peer": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "peer": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/linguist-languages": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/linguist-languages/-/linguist-languages-7.15.0.tgz", + "integrity": "sha512-qkSSNDjDDycZ2Wcw+GziNBB3nNo3ddYUInM/PL8Amgwbd9RQ/BKGj2/1d6mdxKgBFnUqZuaDbkIwkE4KUwwmtQ==", + "dev": true + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/marked": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz", + "integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true + }, + "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/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz", + "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "peer": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", + "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-plugin-jsdoc": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/prettier-plugin-jsdoc/-/prettier-plugin-jsdoc-0.3.30.tgz", + "integrity": "sha512-BTBojOMmrUA1qsWLpJN5whUfU/E72WBUQAB5AvrDkha+O8TxmqaAivnuW+87ItYGRPBFWWzj2r5iWELhBml1Ag==", + "dev": true, + "dependencies": { + "binary-search-bounds": "^2.0.5", + "comment-parser": "^1.1.4", + "linguist-languages": "^7.13.0", + "mdast-util-from-markdown": "^0.8.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "prettier": ">=2.1.2" + } + }, + "node_modules/pretty-format": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", + "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true, + "peer": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.15.tgz", + "integrity": "sha512-/Y0z9IzhJ8nD9nbceORCqu6NgT9X6I8Fk8c3SICHI5NbZRLdZYFaB233gwct9sU0vvSypyaL/qaKvzyQGJBZSw==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-oniguruma": "^1.6.1", + "vscode-textmate": "5.2.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.3.1", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-jest": { + "version": "27.1.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.3.tgz", + "integrity": "sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@types/jest": "^27.0.0", + "babel-jest": ">=27.0.0 <28", + "esbuild": "~0.14.0", + "jest": "^27.0.0", + "typescript": ">=3.8 <5.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typedoc": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz", + "integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==", + "dev": true, + "dependencies": { + "glob": "^7.2.0", + "lunr": "^2.3.9", + "marked": "^3.0.8", + "minimatch": "^3.0.4", + "shiki": "^0.9.12" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 12.10.0" + }, + "peerDependencies": { + "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x" + } + }, + "node_modules/typedoc-plugin-extras": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/typedoc-plugin-extras/-/typedoc-plugin-extras-2.2.3.tgz", + "integrity": "sha512-G4sLPKHO/Q2AB3arxy8Co0jdvO6glGCHtGOUxiiR/Kx1fz+C+/ZbN6Jxu3qi7nyVVW5sX39bW26w+7EjpxicqQ==", + "dev": true, + "peerDependencies": { + "typedoc": "0.22.x" + } + }, + "node_modules/typescript": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/vscode-oniguruma": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz", + "integrity": "sha512-vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", + "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", + "dev": true + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", + "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "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/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.16.0", @@ -177,9 +6749,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, "@babel/helper-replace-supers": { @@ -419,12 +6991,33 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz", - "integrity": "sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "dev": true, + "peer": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.7.tgz", + "integrity": "sha512-MiYR1yk8+TW/CpOD0CyX7ve9ffWTKqLk/L6pk8TPl0R8pNi+1pFY8fH9yET55KlvukQ4PAWfXsGr2YHVjcI4Pw==", + "dev": true, + "peer": true, + "requires": { + "core-js-pure": "^3.19.0", + "regenerator-runtime": "^0.13.4" } }, "@babel/template": { @@ -496,15 +7089,6 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -626,29 +7210,29 @@ "dev": true }, "@jest/console": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.2.tgz", - "integrity": "sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz", + "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==", "dev": true, "requires": { "@jest/types": "^27.4.2", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.4.2", + "jest-message-util": "^27.4.6", "jest-util": "^27.4.2", "slash": "^3.0.0" } }, "@jest/core": { - "version": "27.4.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.3.tgz", - "integrity": "sha512-V9ms3zSxUHxh1E/ZLAiXF7SLejsdFnjWTFizWotMOWvjho0lW5kSjZymhQSodNW0T0ZMQRiha7f8+NcFVm3hJQ==", + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz", + "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==", "dev": true, "requires": { - "@jest/console": "^27.4.2", - "@jest/reporters": "^27.4.2", - "@jest/test-result": "^27.4.2", - "@jest/transform": "^27.4.2", + "@jest/console": "^27.4.6", + "@jest/reporters": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", "ansi-escapes": "^4.2.1", @@ -657,18 +7241,18 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.4", "jest-changed-files": "^27.4.2", - "jest-config": "^27.4.3", - "jest-haste-map": "^27.4.2", - "jest-message-util": "^27.4.2", + "jest-config": "^27.4.7", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.2", - "jest-resolve-dependencies": "^27.4.2", - "jest-runner": "^27.4.3", - "jest-runtime": "^27.4.2", - "jest-snapshot": "^27.4.2", + "jest-resolve": "^27.4.6", + "jest-resolve-dependencies": "^27.4.6", + "jest-runner": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", "jest-util": "^27.4.2", - "jest-validate": "^27.4.2", - "jest-watcher": "^27.4.2", + "jest-validate": "^27.4.6", + "jest-watcher": "^27.4.6", "micromatch": "^4.0.4", "rimraf": "^3.0.0", "slash": "^3.0.0", @@ -676,52 +7260,52 @@ } }, "@jest/environment": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.2.tgz", - "integrity": "sha512-uSljKxh/rGlHlmhyeG4ZoVK9hOec+EPBkwTHkHKQ2EqDu5K+MaG9uJZ8o1CbRsSdZqSuhXvJCYhBWsORPPg6qw==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz", + "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==", "dev": true, "requires": { - "@jest/fake-timers": "^27.4.2", + "@jest/fake-timers": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", - "jest-mock": "^27.4.2" + "jest-mock": "^27.4.6" } }, "@jest/fake-timers": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.2.tgz", - "integrity": "sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz", + "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==", "dev": true, "requires": { "@jest/types": "^27.4.2", "@sinonjs/fake-timers": "^8.0.1", "@types/node": "*", - "jest-message-util": "^27.4.2", - "jest-mock": "^27.4.2", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", "jest-util": "^27.4.2" } }, "@jest/globals": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.2.tgz", - "integrity": "sha512-KkfaHEttlGpXYAQTZHgrESiEPx2q/DKAFLGLFda1uGVrqc17snd3YVPhOxlXOHIzVPs+lQ/SDB2EIvxyGzb3Ew==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz", + "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==", "dev": true, "requires": { - "@jest/environment": "^27.4.2", + "@jest/environment": "^27.4.6", "@jest/types": "^27.4.2", - "expect": "^27.4.2" + "expect": "^27.4.6" } }, "@jest/reporters": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.2.tgz", - "integrity": "sha512-sp4aqmdBJtjKetEakzDPcZggPcVIF6w9QLkYBbaWDV6e/SIsHnF1S4KtIH91eEc2fp7ep6V/e1xvdfEoho1d2w==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz", + "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.4.2", - "@jest/test-result": "^27.4.2", - "@jest/transform": "^27.4.2", + "@jest/console": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", "chalk": "^4.0.0", @@ -730,14 +7314,14 @@ "glob": "^7.1.2", "graceful-fs": "^4.2.4", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-instrument": "^5.1.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^27.4.2", - "jest-resolve": "^27.4.2", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.4.6", + "jest-resolve": "^27.4.6", "jest-util": "^27.4.2", - "jest-worker": "^27.4.2", + "jest-worker": "^27.4.6", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", @@ -757,47 +7341,47 @@ } }, "@jest/test-result": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.2.tgz", - "integrity": "sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz", + "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==", "dev": true, "requires": { - "@jest/console": "^27.4.2", + "@jest/console": "^27.4.6", "@jest/types": "^27.4.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.2.tgz", - "integrity": "sha512-HmHp5mlh9f9GyNej5yCS1JZIFfUGnP9+jEOH5zoq5EmsuZeYD+dGULqyvGDPtuzzbyAFJ6R4+z4SS0VvnFwwGQ==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz", + "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==", "dev": true, "requires": { - "@jest/test-result": "^27.4.2", + "@jest/test-result": "^27.4.6", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.2", - "jest-runtime": "^27.4.2" + "jest-haste-map": "^27.4.6", + "jest-runtime": "^27.4.6" } }, "@jest/transform": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.2.tgz", - "integrity": "sha512-RTKcPZllfcmLfnlxBya7aypofhdz05+E6QITe55Ex0rxyerkgjmmpMlvVn11V0cP719Ps6WcDYCnDzxnnJUwKg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz", + "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==", "dev": true, "requires": { "@babel/core": "^7.1.0", "@jest/types": "^27.4.2", - "babel-plugin-istanbul": "^6.0.0", + "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.2", + "jest-haste-map": "^27.4.6", "jest-regex-util": "^27.4.0", "jest-util": "^27.4.2", "micromatch": "^4.0.4", - "pirates": "^4.0.1", + "pirates": "^4.0.4", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" @@ -950,9 +7534,9 @@ } }, "@types/jest": { - "version": "27.0.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.3.tgz", - "integrity": "sha512-cmmwv9t7gBYt7hNKH5Spu7Kuu/DotGa+Ff+JGRKZ4db5eh8PnKS4LuebJ3YLUoyOyIHraTGyULn23YtEAm0VSg==", + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz", + "integrity": "sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==", "dev": true, "requires": { "jest-diff": "^27.0.0", @@ -971,6 +7555,15 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, "@types/node": { "version": "16.11.12", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz", @@ -989,6 +7582,12 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", + "dev": true + }, "@types/yargs": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", @@ -1005,127 +7604,97 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz", - "integrity": "sha512-MIbeMy5qfLqtgs1hWd088k1hOuRsN9JrHUPwVVKCD99EOUqScd7SrwoZl4Gso05EAP9w1kvLWUVGJOVpRPkDPA==", + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.1.tgz", + "integrity": "sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "5.6.0", - "@typescript-eslint/scope-manager": "5.6.0", + "@typescript-eslint/experimental-utils": "5.9.1", + "@typescript-eslint/scope-manager": "5.9.1", + "@typescript-eslint/type-utils": "5.9.1", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } } }, "@typescript-eslint/experimental-utils": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.6.0.tgz", - "integrity": "sha512-VDoRf3Qj7+W3sS/ZBXZh3LBzp0snDLEgvp6qj0vOAIiAPM07bd5ojQ3CTzF/QFl5AKh7Bh1ycgj6lFBJHUt/DA==", + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.1.tgz", + "integrity": "sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.6.0", - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/typescript-estree": "5.6.0", + "@typescript-eslint/scope-manager": "5.9.1", + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/typescript-estree": "5.9.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz", - "integrity": "sha512-YVK49NgdUPQ8SpCZaOpiq1kLkYRPMv9U5gcMrywzI8brtwZjr/tG3sZpuHyODt76W/A0SufNjYt9ZOgrC4tLIQ==", + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.9.1.tgz", + "integrity": "sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.6.0", - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/typescript-estree": "5.6.0", + "@typescript-eslint/scope-manager": "5.9.1", + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/typescript-estree": "5.9.1", "debug": "^4.3.2" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } } }, "@typescript-eslint/scope-manager": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.6.0.tgz", - "integrity": "sha512-1U1G77Hw2jsGWVsO2w6eVCbOg0HZ5WxL/cozVSTfqnL/eB9muhb8THsP0G3w+BB5xAHv9KptwdfYFAUfzcIh4A==", + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz", + "integrity": "sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/visitor-keys": "5.9.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.9.1.tgz", + "integrity": "sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/visitor-keys": "5.6.0" + "@typescript-eslint/experimental-utils": "5.9.1", + "debug": "^4.3.2", + "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.6.0.tgz", - "integrity": "sha512-OIZffked7mXv4mXzWU5MgAEbCf9ecNJBKi+Si6/I9PpTaj+cf2x58h2oHW5/P/yTnPkKaayfjhLvx+crnl5ubA==", + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.9.1.tgz", + "integrity": "sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.6.0.tgz", - "integrity": "sha512-92vK5tQaE81rK7fOmuWMrSQtK1IMonESR+RJR2Tlc7w4o0MeEdjgidY/uO2Gobh7z4Q1hhS94Cr7r021fMVEeA==", + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz", + "integrity": "sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A==", "dev": true, "requires": { - "@typescript-eslint/types": "5.6.0", - "@typescript-eslint/visitor-keys": "5.6.0", + "@typescript-eslint/types": "5.9.1", + "@typescript-eslint/visitor-keys": "5.9.1", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", "semver": "^7.3.5", "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } } }, "@typescript-eslint/visitor-keys": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.6.0.tgz", - "integrity": "sha512-1p7hDp5cpRFUyE3+lvA74egs+RWSgumrBpzBCDzfTFv0aQ7lIeay80yU0hIxgAhwQ6PcasW35kaOCyDOv6O/Ng==", + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz", + "integrity": "sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.6.0", + "@typescript-eslint/types": "5.9.1", "eslint-visitor-keys": "^3.0.0" } }, @@ -1136,9 +7705,9 @@ "dev": true }, "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true }, "acorn-globals": { @@ -1163,7 +7732,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "7.2.0", @@ -1192,12 +7762,6 @@ "uri-js": "^4.2.2" } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -1246,6 +7810,17 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "peer": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, "array-includes": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", @@ -1276,12 +7851,38 @@ "es-abstract": "^1.19.0" } }, + "array.prototype.flatmap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + } + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true, + "peer": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "axe-core": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", + "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", + "dev": true, + "peer": true + }, "axios": { "version": "0.24.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", @@ -1290,16 +7891,23 @@ "follow-redirects": "^1.14.4" } }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true, + "peer": true + }, "babel-jest": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.2.tgz", - "integrity": "sha512-MADrjb3KBO2eyZCAc6QaJg6RT5u+6oEdDyHO5HEalnpwQ6LrhTsQF2Kj1Wnz2t6UPXIXPk18dSXXOT0wF5yTxA==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz", + "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==", "dev": true, "requires": { - "@jest/transform": "^27.4.2", + "@jest/transform": "^27.4.6", "@jest/types": "^27.4.2", "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.0.0", + "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^27.4.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", @@ -1317,27 +7925,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "babel-plugin-jest-hoist": { @@ -1388,6 +7975,12 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "binary-search-bounds": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz", + "integrity": "sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1494,6 +8087,24 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true + }, "ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", @@ -1553,6 +8164,12 @@ "delayed-stream": "~1.0.0" } }, + "comment-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz", + "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1574,6 +8191,13 @@ "safe-buffer": "~5.1.1" } }, + "core-js-pure": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.2.tgz", + "integrity": "sha512-CmWHvSKn2vNL6p6StNp1EmMIfVY/pqn3JLAjfZQ8WZGPOlGoO92EkX9/Mk81i6GxvoPXjUqEQnpM3rJ5QxxIOg==", + "dev": true, + "peer": true + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1608,6 +8232,13 @@ } } }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "peer": true + }, "data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -1620,9 +8251,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { "ms": "2.1.2" @@ -1715,9 +8346,9 @@ } }, "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-12.0.4.tgz", + "integrity": "sha512-oWdqbSywffzH1l4WXKPHWA0TWYpqp7IyLfqjipT4upoIFS0HPMqtNotykQpD4iIg0BqtNmdgPCh2WMvMt7yTiw==", "dev": true }, "electron-to-chromium": { @@ -1733,19 +8364,11 @@ "dev": true }, "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } + "peer": true }, "es-abstract": { "version": "1.19.1", @@ -1811,12 +8434,6 @@ "source-map": "~0.6.1" }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -1859,9 +8476,9 @@ } }, "eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz", + "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==", "dev": true, "requires": { "@eslint/eslintrc": "^1.0.5", @@ -1871,12 +8488,11 @@ "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.1.0", "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.2.0", + "eslint-visitor-keys": "^3.2.0", + "espree": "^9.3.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -1884,7 +8500,7 @@ "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.6.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", @@ -1895,24 +8511,13 @@ "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", "regexpp": "^3.2.0", - "semver": "^7.2.1", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "eslint-scope": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", @@ -1923,12 +8528,6 @@ "estraverse": "^5.2.0" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -1936,31 +8535,14 @@ "dev": true, "requires": { "is-glob": "^4.0.3" - }, - "dependencies": { - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true } } }, "eslint-config-airbnb": { - "version": "19.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.2.tgz", - "integrity": "sha512-4v5DEMVSl043LaCT+gsxPcoiIk0iYG5zxJKKjIy80H/D//2E0vtuOBWkb0CBDxjF+y26yQzspIXYuY6wMmt9Cw==", + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", "dev": true, "requires": { "eslint-config-airbnb-base": "^15.0.0", @@ -2029,43 +8611,16 @@ "is-glob": "^4.0.1", "resolve": "^1.20.0", "tsconfig-paths": "^3.9.0" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - } } }, "eslint-module-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz", - "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", + "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", "dev": true, "requires": { "debug": "^3.2.7", - "find-up": "^2.1.0", - "pkg-dir": "^2.0.0" + "find-up": "^2.1.0" }, "dependencies": { "debug": { @@ -2080,9 +8635,9 @@ } }, "eslint-plugin-import": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz", - "integrity": "sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==", + "version": "2.25.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", + "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", "dev": true, "requires": { "array-includes": "^3.1.4", @@ -2090,14 +8645,14 @@ "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.1", + "eslint-module-utils": "^2.7.2", "has": "^1.0.3", "is-core-module": "^2.8.0", "is-glob": "^4.0.3", "minimatch": "^3.0.4", "object.values": "^1.1.5", "resolve": "^1.20.0", - "tsconfig-paths": "^3.11.0" + "tsconfig-paths": "^3.12.0" }, "dependencies": { "debug": { @@ -2127,15 +8682,6 @@ "has": "^1.0.3" } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -2144,6 +8690,88 @@ } } }, + "eslint-plugin-jsx-a11y": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "dev": true, + "peer": true, + "requires": { + "@babel/runtime": "^7.16.3", + "aria-query": "^4.2.2", + "array-includes": "^3.1.4", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.3.5", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" + } + }, + "eslint-plugin-react": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", + "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flatmap": "^1.2.5", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.0", + "object.values": "^1.1.5", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.6" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "peer": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", + "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", + "dev": true, + "peer": true, + "requires": {} + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -2152,6 +8780,14 @@ "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } } }, "eslint-utils": { @@ -2172,18 +8808,18 @@ } }, "eslint-visitor-keys": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", - "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", + "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", "dev": true }, "espree": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz", - "integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", + "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", "dev": true, "requires": { - "acorn": "^8.6.0", + "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^3.1.0" } @@ -2201,14 +8837,6 @@ "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "esrecurse": { @@ -2218,20 +8846,12 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { @@ -2264,25 +8884,15 @@ "dev": true }, "expect": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz", - "integrity": "sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz", + "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==", "dev": true, "requires": { "@jest/types": "^27.4.2", - "ansi-styles": "^5.0.0", "jest-get-type": "^27.4.0", - "jest-matcher-utils": "^27.4.2", - "jest-message-util": "^27.4.2", - "jest-regex-util": "^27.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6" } }, "fast-deep-equal": { @@ -2292,9 +8902,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -2378,9 +8988,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", - "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==" + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==" }, "form-data": { "version": "3.0.1", @@ -2496,16 +9106,16 @@ } }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" } }, @@ -2591,101 +9201,41 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, "imurmurhash": { @@ -2721,6 +9271,22 @@ "side-channel": "^1.0.4" } }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -2764,6 +9330,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2783,14 +9355,20 @@ "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -2886,14 +9464,15 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", "dev": true, "requires": { - "@babel/core": "^7.7.5", + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" }, "dependencies": { @@ -2928,9 +9507,9 @@ } }, "istanbul-reports": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.1.tgz", - "integrity": "sha512-q1kvhAXWSsXfMjCdNHNPKZZv94OlspKnoGv+R9RGbnqOOQ0VbNfLFgQDVgi7hHenKsndGq3/o0OBdzDXthWcNw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", + "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -2938,36 +9517,14 @@ } }, "jest": { - "version": "27.4.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.3.tgz", - "integrity": "sha512-jwsfVABBzuN3Atm+6h6vIEpTs9+VApODLt4dk2qv1WMOpb1weI1IIZfuwpMiWZ62qvWj78MvdvMHIYdUfqrFaA==", + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", + "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", "dev": true, "requires": { - "@jest/core": "^27.4.3", + "@jest/core": "^27.4.7", "import-local": "^3.0.2", - "jest-cli": "^27.4.3" - }, - "dependencies": { - "jest-cli": { - "version": "27.4.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.3.tgz", - "integrity": "sha512-zZSJBXNC/i8UnJPwcKWsqnhGgIF3uoTYP7th32Zej7KNQJdxzOMj+wCfy2Ox3kU7nXErJ36DtYyXDhfiqaiDRw==", - "dev": true, - "requires": { - "@jest/core": "^27.4.3", - "@jest/test-result": "^27.4.2", - "@jest/types": "^27.4.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "jest-config": "^27.4.3", - "jest-util": "^27.4.2", - "jest-validate": "^27.4.2", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - } - } + "jest-cli": "^27.4.7" } }, "jest-changed-files": { @@ -2982,72 +9539,92 @@ } }, "jest-circus": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.2.tgz", - "integrity": "sha512-2ePUSru1BGMyzxsMvRfu+tNb+PW60rUyMLJBfw1Nrh5zC8RoTPfF+zbE0JToU31a6ZVe4nnrNKWYRzlghAbL0A==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz", + "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==", "dev": true, "requires": { - "@jest/environment": "^27.4.2", - "@jest/test-result": "^27.4.2", + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", - "expect": "^27.4.2", + "expect": "^27.4.6", "is-generator-fn": "^2.0.0", - "jest-each": "^27.4.2", - "jest-matcher-utils": "^27.4.2", - "jest-message-util": "^27.4.2", - "jest-runtime": "^27.4.2", - "jest-snapshot": "^27.4.2", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", "jest-util": "^27.4.2", - "pretty-format": "^27.4.2", + "pretty-format": "^27.4.6", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" } }, + "jest-cli": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz", + "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==", + "dev": true, + "requires": { + "@jest/core": "^27.4.7", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.4.7", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + } + }, "jest-config": { - "version": "27.4.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.3.tgz", - "integrity": "sha512-DQ10HTSqYtC2pO7s9j2jw+li4xUnm2wLYWH2o7K1ftB8NyvToHsXoLlXxtsGh3AW9gUQR6KY/4B7G+T/NswJBw==", + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz", + "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==", "dev": true, "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^27.4.2", + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.4.6", "@jest/types": "^27.4.2", - "babel-jest": "^27.4.2", + "babel-jest": "^27.4.6", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", "graceful-fs": "^4.2.4", - "jest-circus": "^27.4.2", - "jest-environment-jsdom": "^27.4.3", - "jest-environment-node": "^27.4.2", + "jest-circus": "^27.4.6", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", "jest-get-type": "^27.4.0", - "jest-jasmine2": "^27.4.2", + "jest-jasmine2": "^27.4.6", "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.2", - "jest-runner": "^27.4.3", + "jest-resolve": "^27.4.6", + "jest-runner": "^27.4.6", "jest-util": "^27.4.2", - "jest-validate": "^27.4.2", + "jest-validate": "^27.4.6", "micromatch": "^4.0.4", - "pretty-format": "^27.4.2", + "pretty-format": "^27.4.6", "slash": "^3.0.0" } }, "jest-diff": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.2.tgz", - "integrity": "sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz", + "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==", "dev": true, "requires": { "chalk": "^4.0.0", "diff-sequences": "^27.4.0", "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.2" + "pretty-format": "^27.4.6" } }, "jest-docblock": { @@ -3060,44 +9637,44 @@ } }, "jest-each": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.2.tgz", - "integrity": "sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz", + "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==", "dev": true, "requires": { "@jest/types": "^27.4.2", "chalk": "^4.0.0", "jest-get-type": "^27.4.0", "jest-util": "^27.4.2", - "pretty-format": "^27.4.2" + "pretty-format": "^27.4.6" } }, "jest-environment-jsdom": { - "version": "27.4.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.3.tgz", - "integrity": "sha512-x1AUVz3G14LpEJs7KIFUaTINT2n0unOUmvdAby3s/sldUpJJetOJifHo1O/EUQC5fNBowggwJbVulko18y6OWw==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz", + "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==", "dev": true, "requires": { - "@jest/environment": "^27.4.2", - "@jest/fake-timers": "^27.4.2", + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", - "jest-mock": "^27.4.2", + "jest-mock": "^27.4.6", "jest-util": "^27.4.2", "jsdom": "^16.6.0" } }, "jest-environment-node": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.2.tgz", - "integrity": "sha512-nzTZ5nJ+FabuZPH2YVci7SZIHpvtNRHPt8+vipLkCnAgXGjVzHm7XJWdnNqXbAkExIgiKeVEkVMNZOZE/LeiIg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz", + "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==", "dev": true, "requires": { - "@jest/environment": "^27.4.2", - "@jest/fake-timers": "^27.4.2", + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", - "jest-mock": "^27.4.2", + "jest-mock": "^27.4.6", "jest-util": "^27.4.2" } }, @@ -3108,9 +9685,9 @@ "dev": true }, "jest-haste-map": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.2.tgz", - "integrity": "sha512-foiyAEePORUN2eeJnOtcM1y8qW0ShEd9kTjWVL4sVaMcuCJM6gtHegvYPBRT0mpI/bs4ueThM90+Eoj2ncoNsA==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz", + "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==", "dev": true, "requires": { "@jest/types": "^27.4.2", @@ -3123,63 +9700,62 @@ "jest-regex-util": "^27.4.0", "jest-serializer": "^27.4.0", "jest-util": "^27.4.2", - "jest-worker": "^27.4.2", + "jest-worker": "^27.4.6", "micromatch": "^4.0.4", "walker": "^1.0.7" } }, "jest-jasmine2": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.2.tgz", - "integrity": "sha512-VO/fyAJSH9u0THjbteFiL8qc93ufU+yW+bdieDc8tzTCWwlWzO53UHS5nFK1qmE8izb5Smkn+XHlVt6/l06MKQ==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz", + "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==", "dev": true, "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^27.4.2", + "@jest/environment": "^27.4.6", "@jest/source-map": "^27.4.0", - "@jest/test-result": "^27.4.2", + "@jest/test-result": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^27.4.2", + "expect": "^27.4.6", "is-generator-fn": "^2.0.0", - "jest-each": "^27.4.2", - "jest-matcher-utils": "^27.4.2", - "jest-message-util": "^27.4.2", - "jest-runtime": "^27.4.2", - "jest-snapshot": "^27.4.2", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", "jest-util": "^27.4.2", - "pretty-format": "^27.4.2", + "pretty-format": "^27.4.6", "throat": "^6.0.1" } }, "jest-leak-detector": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz", - "integrity": "sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz", + "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==", "dev": true, "requires": { "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.2" + "pretty-format": "^27.4.6" } }, "jest-matcher-utils": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz", - "integrity": "sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz", + "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^27.4.2", + "jest-diff": "^27.4.6", "jest-get-type": "^27.4.0", - "pretty-format": "^27.4.2" + "pretty-format": "^27.4.6" } }, "jest-message-util": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.2.tgz", - "integrity": "sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz", + "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", @@ -3188,15 +9764,15 @@ "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "micromatch": "^4.0.4", - "pretty-format": "^27.4.2", + "pretty-format": "^27.4.6", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.2.tgz", - "integrity": "sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz", + "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==", "dev": true, "requires": { "@jest/types": "^27.4.2", @@ -3207,7 +9783,8 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "27.4.0", @@ -3216,44 +9793,44 @@ "dev": true }, "jest-resolve": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.2.tgz", - "integrity": "sha512-d/zqPjxCzMqHlOdRTg8cTpO9jY+1/T74KazT8Ws/LwmwxV5sRMWOkiLjmzUCDj/5IqA5XHNK4Hkmlq9Kdpb9Sg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz", + "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==", "dev": true, "requires": { "@jest/types": "^27.4.2", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.2", + "jest-haste-map": "^27.4.6", "jest-pnp-resolver": "^1.2.2", "jest-util": "^27.4.2", - "jest-validate": "^27.4.2", + "jest-validate": "^27.4.6", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.2.tgz", - "integrity": "sha512-hb++cTpqvOWfU49MCP/JQkxmnrhKoAVqXWFjgYXswRSVGk8Q6bDTSvhbCeYXDtXaymY0y7WrrSIlKogClcKJuw==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz", + "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==", "dev": true, "requires": { "@jest/types": "^27.4.2", "jest-regex-util": "^27.4.0", - "jest-snapshot": "^27.4.2" + "jest-snapshot": "^27.4.6" } }, "jest-runner": { - "version": "27.4.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.3.tgz", - "integrity": "sha512-JgR6Om/j22Fd6ZUUIGTWNcCtuZVYbNrecb4k89W4UyFJoRtHpo2zMKWkmFFFJoqwWGrfrcPLnVBIgkJiTV3cyA==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz", + "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==", "dev": true, "requires": { - "@jest/console": "^27.4.2", - "@jest/environment": "^27.4.2", - "@jest/test-result": "^27.4.2", - "@jest/transform": "^27.4.2", + "@jest/console": "^27.4.6", + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", "chalk": "^4.0.0", @@ -3261,51 +9838,47 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.4", "jest-docblock": "^27.4.0", - "jest-environment-jsdom": "^27.4.3", - "jest-environment-node": "^27.4.2", - "jest-haste-map": "^27.4.2", - "jest-leak-detector": "^27.4.2", - "jest-message-util": "^27.4.2", - "jest-resolve": "^27.4.2", - "jest-runtime": "^27.4.2", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", + "jest-haste-map": "^27.4.6", + "jest-leak-detector": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-resolve": "^27.4.6", + "jest-runtime": "^27.4.6", "jest-util": "^27.4.2", - "jest-worker": "^27.4.2", + "jest-worker": "^27.4.6", "source-map-support": "^0.5.6", "throat": "^6.0.1" } }, "jest-runtime": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.2.tgz", - "integrity": "sha512-eqPgcBaUNaw6j8T5M+dnfAEh6MIrh2YmtskCr9sl50QYpD22Sg+QqHw3J3nmaLzVMbBtOMHFFxLF0Qx8MsZVFQ==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz", + "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==", "dev": true, "requires": { - "@jest/console": "^27.4.2", - "@jest/environment": "^27.4.2", - "@jest/globals": "^27.4.2", + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/globals": "^27.4.6", "@jest/source-map": "^27.4.0", - "@jest/test-result": "^27.4.2", - "@jest/transform": "^27.4.2", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", "@jest/types": "^27.4.2", - "@types/yargs": "^16.0.0", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "execa": "^5.0.0", - "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.4", - "jest-haste-map": "^27.4.2", - "jest-message-util": "^27.4.2", - "jest-mock": "^27.4.2", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", "jest-regex-util": "^27.4.0", - "jest-resolve": "^27.4.2", - "jest-snapshot": "^27.4.2", + "jest-resolve": "^27.4.6", + "jest-snapshot": "^27.4.6", "jest-util": "^27.4.2", - "jest-validate": "^27.4.2", "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^16.2.0" + "strip-bom": "^4.0.0" }, "dependencies": { "strip-bom": { @@ -3327,34 +9900,32 @@ } }, "jest-snapshot": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.2.tgz", - "integrity": "sha512-DI7lJlNIu6WSQ+esqhnJzEzU70+dV+cNjoF1c+j5FagWEd3KtOyZvVliAH0RWNQ6KSnAAnKSU0qxJ8UXOOhuUQ==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz", + "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==", "dev": true, "requires": { "@babel/core": "^7.7.2", "@babel/generator": "^7.7.2", - "@babel/parser": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.0.0", - "@jest/transform": "^27.4.2", + "@jest/transform": "^27.4.6", "@jest/types": "^27.4.2", "@types/babel__traverse": "^7.0.4", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^27.4.2", + "expect": "^27.4.6", "graceful-fs": "^4.2.4", - "jest-diff": "^27.4.2", + "jest-diff": "^27.4.6", "jest-get-type": "^27.4.0", - "jest-haste-map": "^27.4.2", - "jest-matcher-utils": "^27.4.2", - "jest-message-util": "^27.4.2", - "jest-resolve": "^27.4.2", + "jest-haste-map": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", "jest-util": "^27.4.2", "natural-compare": "^1.4.0", - "pretty-format": "^27.4.2", + "pretty-format": "^27.4.6", "semver": "^7.3.2" } }, @@ -3373,9 +9944,9 @@ } }, "jest-validate": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.2.tgz", - "integrity": "sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz", + "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==", "dev": true, "requires": { "@jest/types": "^27.4.2", @@ -3383,24 +9954,24 @@ "chalk": "^4.0.0", "jest-get-type": "^27.4.0", "leven": "^3.1.0", - "pretty-format": "^27.4.2" + "pretty-format": "^27.4.6" }, "dependencies": { "camelcase": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz", - "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true } } }, "jest-watcher": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.2.tgz", - "integrity": "sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz", + "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==", "dev": true, "requires": { - "@jest/test-result": "^27.4.2", + "@jest/test-result": "^27.4.6", "@jest/types": "^27.4.2", "@types/node": "*", "ansi-escapes": "^4.2.1", @@ -3410,9 +9981,9 @@ } }, "jest-worker": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz", - "integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", + "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", "dev": true, "requires": { "@types/node": "*", @@ -3514,12 +10085,40 @@ "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", "dev": true }, + "jsx-ast-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", + "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.3", + "object.assign": "^4.1.2" + } + }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, + "language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true, + "peer": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "peer": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -3536,6 +10135,12 @@ "type-check": "~0.4.0" } }, + "linguist-languages": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/linguist-languages/-/linguist-languages-7.15.0.tgz", + "integrity": "sha512-qkSSNDjDDycZ2Wcw+GziNBB3nNo3ddYUInM/PL8Amgwbd9RQ/BKGj2/1d6mdxKgBFnUqZuaDbkIwkE4KUwwmtQ==", + "dev": true + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -3564,6 +10169,16 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3617,6 +10232,25 @@ "integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==", "dev": true }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -3629,6 +10263,16 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, "micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", @@ -3720,6 +10364,13 @@ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "peer": true + }, "object-inspect": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz", @@ -3755,6 +10406,29 @@ "es-abstract": "^1.19.1" } }, + "object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "peer": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, "object.values": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", @@ -3831,6 +10505,20 @@ "callsites": "^3.0.0" } }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -3886,12 +10574,63 @@ "dev": true }, "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } } }, "prelude-ls": { @@ -3900,13 +10639,30 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true + }, + "prettier-plugin-jsdoc": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/prettier-plugin-jsdoc/-/prettier-plugin-jsdoc-0.3.30.tgz", + "integrity": "sha512-BTBojOMmrUA1qsWLpJN5whUfU/E72WBUQAB5AvrDkha+O8TxmqaAivnuW+87ItYGRPBFWWzj2r5iWELhBml1Ag==", + "dev": true, + "requires": { + "binary-search-bounds": "^2.0.5", + "comment-parser": "^1.1.4", + "linguist-languages": "^7.13.0", + "mdast-util-from-markdown": "^0.8.5" + } + }, "pretty-format": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.2.tgz", - "integrity": "sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==", + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", + "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", "dev": true, "requires": { - "@jest/types": "^27.4.2", "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" @@ -3920,12 +10676,6 @@ } } }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, "prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -3936,6 +10686,27 @@ "sisteransi": "^1.0.5" } }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + } + } + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -3960,6 +10731,24 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true, + "peer": true + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -4178,6 +10967,31 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, + "string.prototype.matchall": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.3.1", + "side-channel": "^1.0.4" } }, "string.prototype.trimend": { @@ -4327,9 +11141,9 @@ } }, "ts-jest": { - "version": "27.1.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.1.tgz", - "integrity": "sha512-Ds0VkB+cB+8g2JUmP/GKWndeZcCKrbe6jzolGrVWdqVUFByY/2KDHqxJ7yBSon7hDB1TA4PXxjfZ+JjzJisvgA==", + "version": "27.1.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.3.tgz", + "integrity": "sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==", "dev": true, "requires": { "bs-logger": "0.x", @@ -4354,9 +11168,9 @@ } }, "tsconfig-paths": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz", - "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -4366,10 +11180,9 @@ } }, "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "tsutils": { "version": "3.21.0", @@ -4378,6 +11191,14 @@ "dev": true, "requires": { "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "type-check": { @@ -4424,15 +11245,16 @@ } }, "typedoc-plugin-extras": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/typedoc-plugin-extras/-/typedoc-plugin-extras-2.2.1.tgz", - "integrity": "sha512-WOIB587S+Q+DojCFB89QVLT4NGmC1tjaHDunnZ20Z2eEEe6w7AdYtS5oqO6S6v1VPCzj4WehGbayK7TbnCzIMg==", - "dev": true + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/typedoc-plugin-extras/-/typedoc-plugin-extras-2.2.3.tgz", + "integrity": "sha512-G4sLPKHO/Q2AB3arxy8Co0jdvO6glGCHtGOUxiiR/Kx1fz+C+/ZbN6Jxu3qi7nyVVW5sX39bW26w+7EjpxicqQ==", + "dev": true, + "requires": {} }, "typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", "dev": true }, "unbox-primitive": { @@ -4447,6 +11269,15 @@ "which-boxed-primitive": "^1.0.2" } }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -4619,7 +11450,8 @@ "version": "7.5.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "3.0.0", diff --git a/package.json b/package.json index a4de610..86f2863 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "trello.js", - "version": "1.1.0", + "version": "1.2.0", "description": "Simple Trello API Client", "author": "Vladislav Tupikin ", "license": "MIT", @@ -9,6 +9,7 @@ "scripts": { "build": "tsc", "prepublishOnly": "npm run build && npm run test && npm run lint", + "prettier": "prettier --write src/**/*.ts", "doc": "typedoc --name \"Trello.js - API library\" --out docs ./src/index.ts --plugin typedoc-plugin-extras --footerDate --footerTime --footerTypedocVersion --favicon https://svgshare.com/i/bQb.svg", "lint": "eslint src tests --ext .ts", "lint:fix": "npm run lint -- --fix", @@ -29,22 +30,25 @@ ], "devDependencies": { "@types/dotenv": "^8.2.0", - "@types/jest": "^27.0.3", - "@typescript-eslint/eslint-plugin": "^5.6.0", - "@typescript-eslint/parser": "^5.6.0", - "dotenv": "^10.0.0", - "eslint": "^8.4.1", - "eslint-config-airbnb": "^19.0.2", + "@types/jest": "^27.4.0", + "@typescript-eslint/eslint-plugin": "^5.9.1", + "@typescript-eslint/parser": "^5.9.1", + "dotenv": "^12.0.4", + "eslint": "^8.7.0", + "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^16.1.0", "eslint-import-resolver-typescript": "^2.5.0", - "eslint-plugin-import": "^2.25.3", - "jest": "^27.4.3", - "ts-jest": "^27.1.1", + "eslint-plugin-import": "^2.25.4", + "jest": "^27.4.7", + "prettier": "^2.5.1", + "prettier-plugin-jsdoc": "^0.3.30", + "ts-jest": "^27.1.3", "typedoc": "^0.22.10", - "typedoc-plugin-extras": "^2.2.1", - "typescript": "^4.5.2" + "typedoc-plugin-extras": "^2.2.3", + "typescript": "^4.5.4" }, "dependencies": { - "axios": "^0.24.0" + "axios": "^0.24.0", + "tslib": "^2.3.1" } } diff --git a/src/api/actions.ts b/src/api/actions.ts index 391386d..ea31f65 100644 --- a/src/api/actions.ts +++ b/src/api/actions.ts @@ -4,15 +4,13 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Actions { - constructor(private client: Client) { } - - /** - * Get an Action */ - async getAction(parameters: Parameters.GetAction, callback: Callback): Promise; - /** - * Get an Action */ - async getAction(parameters: Parameters.GetAction, callback?: undefined): Promise; - async getAction(parameters: Parameters.GetAction, callback?: Callback): Promise { + constructor(private client: Client) {} + + /** Get an Action */ + async getAction(parameters: Parameters.GetAction, callback: Callback): Promise; + /** Get an Action */ + async getAction(parameters: Parameters.GetAction, callback?: never): Promise; + async getAction(parameters: Parameters.GetAction, callback?: Callback): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}`, method: 'GET', @@ -27,15 +25,13 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getAction' }); + return this.client.sendRequest(config, callback); } - /** - * Update a specific Action. Only comment actions can be updated. Used to edit the content of a comment. */ + /** Update a specific Action. Only comment actions can be updated. Used to edit the content of a comment. */ async updateAction(parameters: Parameters.UpdateAction, callback: Callback): Promise; - /** - * Update a specific Action. Only comment actions can be updated. Used to edit the content of a comment. */ - async updateAction(parameters: Parameters.UpdateAction, callback?: undefined): Promise; + /** Update a specific Action. Only comment actions can be updated. Used to edit the content of a comment. */ + async updateAction(parameters: Parameters.UpdateAction, callback?: never): Promise; async updateAction(parameters: Parameters.UpdateAction, callback?: Callback): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}`, @@ -45,46 +41,46 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateAction' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a specific action. Only comment actions can be deleted. */ + /** Delete a specific action. Only comment actions can be deleted. */ async deleteAction(parameters: Parameters.DeleteAction, callback: Callback): Promise; - /** - * Delete a specific action. Only comment actions can be deleted. */ - async deleteAction(parameters: Parameters.DeleteAction, callback?: undefined): Promise; + /** Delete a specific action. Only comment actions can be deleted. */ + async deleteAction(parameters: Parameters.DeleteAction, callback?: never): Promise; async deleteAction(parameters: Parameters.DeleteAction, callback?: Callback): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteAction' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific property of an action */ + /** Get a specific property of an action */ async getActionField(parameters: Parameters.GetActionField, callback: Callback): Promise; - /** - * Get a specific property of an action */ - async getActionField(parameters: Parameters.GetActionField, callback?: undefined): Promise; - async getActionField(parameters: Parameters.GetActionField, callback?: Callback): Promise { + /** Get a specific property of an action */ + async getActionField(parameters: Parameters.GetActionField, callback?: never): Promise; + async getActionField( + parameters: Parameters.GetActionField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getActionField' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Board for an Action */ + /** Get the Board for an Action */ async getActionBoard(parameters: Parameters.GetActionBoard, callback: Callback): Promise; - /** - * Get the Board for an Action */ - async getActionBoard(parameters: Parameters.GetActionBoard, callback?: undefined): Promise; - async getActionBoard(parameters: Parameters.GetActionBoard, callback?: Callback): Promise { + /** Get the Board for an Action */ + async getActionBoard(parameters: Parameters.GetActionBoard, callback?: never): Promise; + async getActionBoard( + parameters: Parameters.GetActionBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/board`, method: 'GET', @@ -93,16 +89,17 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Get the card for an action */ + /** Get the card for an action */ async getActionCard(parameters: Parameters.GetActionCard, callback: Callback): Promise; - /** - * Get the card for an action */ - async getActionCard(parameters: Parameters.GetActionCard, callback?: undefined): Promise; - async getActionCard(parameters: Parameters.GetActionCard, callback?: Callback): Promise { + /** Get the card for an action */ + async getActionCard(parameters: Parameters.GetActionCard, callback?: never): Promise; + async getActionCard( + parameters: Parameters.GetActionCard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/card`, method: 'GET', @@ -111,16 +108,20 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionCard' }); + return this.client.sendRequest(config, callback); } - /** - * Get the List for an Action */ - async getActionList(parameters: Parameters.GetActionList, callback: Callback): Promise; - /** - * Get the List for an Action */ - async getActionList(parameters: Parameters.GetActionList, callback?: undefined): Promise; - async getActionList(parameters: Parameters.GetActionList, callback?: Callback): Promise { + /** Get the List for an Action */ + async getActionList( + parameters: Parameters.GetActionList, + callback: Callback + ): Promise; + /** Get the List for an Action */ + async getActionList(parameters: Parameters.GetActionList, callback?: never): Promise; + async getActionList( + parameters: Parameters.GetActionList, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/list`, method: 'GET', @@ -129,16 +130,20 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionList' }); + return this.client.sendRequest(config, callback); } - /** - * Gets the member of an action (not the creator) */ - async getActionMember(parameters: Parameters.GetActionMember, callback: Callback): Promise; - /** - * Gets the member of an action (not the creator) */ - async getActionMember(parameters: Parameters.GetActionMember, callback?: undefined): Promise; - async getActionMember(parameters: Parameters.GetActionMember, callback?: Callback): Promise { + /** Gets the member of an action (not the creator) */ + async getActionMember( + parameters: Parameters.GetActionMember, + callback: Callback + ): Promise; + /** Gets the member of an action (not the creator) */ + async getActionMember(parameters: Parameters.GetActionMember, callback?: never): Promise; + async getActionMember( + parameters: Parameters.GetActionMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/member`, method: 'GET', @@ -147,16 +152,23 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionMember' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Member who created the Action */ - async getActionMemberCreator(parameters: Parameters.GetActionMemberCreator, callback: Callback): Promise; - /** - * Get the Member who created the Action */ - async getActionMemberCreator(parameters: Parameters.GetActionMemberCreator, callback?: undefined): Promise; - async getActionMemberCreator(parameters: Parameters.GetActionMemberCreator, callback?: Callback): Promise { + /** Get the Member who created the Action */ + async getActionMemberCreator( + parameters: Parameters.GetActionMemberCreator, + callback: Callback + ): Promise; + /** Get the Member who created the Action */ + async getActionMemberCreator( + parameters: Parameters.GetActionMemberCreator, + callback?: never + ): Promise; + async getActionMemberCreator( + parameters: Parameters.GetActionMemberCreator, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/memberCreator`, method: 'GET', @@ -165,16 +177,23 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionMemberCreator' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Organization of an Action */ - async getActionOrganization(parameters: Parameters.GetActionOrganization, callback: Callback): Promise; - /** - * Get the Organization of an Action */ - async getActionOrganization(parameters: Parameters.GetActionOrganization, callback?: undefined): Promise; - async getActionOrganization(parameters: Parameters.GetActionOrganization, callback?: Callback): Promise { + /** Get the Organization of an Action */ + async getActionOrganization( + parameters: Parameters.GetActionOrganization, + callback: Callback + ): Promise; + /** Get the Organization of an Action */ + async getActionOrganization( + parameters: Parameters.GetActionOrganization, + callback?: never + ): Promise; + async getActionOrganization( + parameters: Parameters.GetActionOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/organization`, method: 'GET', @@ -183,16 +202,17 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionOrganization' }); + return this.client.sendRequest(config, callback); } - /** - * Update a comment action */ + /** Update a comment action */ async updateActionText(parameters: Parameters.UpdateActionText, callback: Callback): Promise; - /** - * Update a comment action */ - async updateActionText(parameters: Parameters.UpdateActionText, callback?: undefined): Promise; - async updateActionText(parameters: Parameters.UpdateActionText, callback?: Callback): Promise { + /** Update a comment action */ + async updateActionText(parameters: Parameters.UpdateActionText, callback?: never): Promise; + async updateActionText( + parameters: Parameters.UpdateActionText, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.id}/text`, method: 'PUT', @@ -201,16 +221,20 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateActionText' }); + return this.client.sendRequest(config, callback); } - /** - * List reactions for an action */ - async getActionReactions(parameters: Parameters.GetActionReactions, callback: Callback): Promise; - /** - * List reactions for an action */ - async getActionReactions(parameters: Parameters.GetActionReactions, callback?: undefined): Promise; - async getActionReactions(parameters: Parameters.GetActionReactions, callback?: Callback): Promise { + /** List reactions for an action */ + async getActionReactions( + parameters: Parameters.GetActionReactions, + callback: Callback + ): Promise; + /** List reactions for an action */ + async getActionReactions(parameters: Parameters.GetActionReactions, callback?: never): Promise; + async getActionReactions( + parameters: Parameters.GetActionReactions, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.idAction}/reactions`, method: 'GET', @@ -220,16 +244,17 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionReactions' }); + return this.client.sendRequest(config, callback); } - /** - * Adds a new reaction to an action */ + /** Adds a new reaction to an action */ async addActionReaction(parameters: Parameters.AddActionReaction, callback: Callback): Promise; - /** - * Adds a new reaction to an action */ - async addActionReaction(parameters: Parameters.AddActionReaction, callback?: undefined): Promise; - async addActionReaction(parameters: Parameters.AddActionReaction, callback?: Callback): Promise { + /** Adds a new reaction to an action */ + async addActionReaction(parameters: Parameters.AddActionReaction, callback?: never): Promise; + async addActionReaction( + parameters: Parameters.AddActionReaction, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.idAction}/reactions`, method: 'POST', @@ -241,16 +266,17 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'addActionReaction' }); + return this.client.sendRequest(config, callback); } - /** - * Get information for a reaction */ + /** Get information for a reaction */ async getActionReaction(parameters: Parameters.GetActionReaction, callback: Callback): Promise; - /** - * Get information for a reaction */ - async getActionReaction(parameters: Parameters.GetActionReaction, callback?: undefined): Promise; - async getActionReaction(parameters: Parameters.GetActionReaction, callback?: Callback): Promise { + /** Get information for a reaction */ + async getActionReaction(parameters: Parameters.GetActionReaction, callback?: never): Promise; + async getActionReaction( + parameters: Parameters.GetActionReaction, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.idAction}/reactions/${parameters.id}`, method: 'GET', @@ -260,36 +286,47 @@ export class Actions { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getActionReaction' }); + return this.client.sendRequest(config, callback); } - /** - * Deletes a reaction */ - async deleteActionReaction(parameters: Parameters.DeleteActionReaction, callback: Callback): Promise; - /** - * Deletes a reaction */ - async deleteActionReaction(parameters: Parameters.DeleteActionReaction, callback?: undefined): Promise; - async deleteActionReaction(parameters: Parameters.DeleteActionReaction, callback?: Callback): Promise { + /** Deletes a reaction */ + async deleteActionReaction( + parameters: Parameters.DeleteActionReaction, + callback: Callback + ): Promise; + /** Deletes a reaction */ + async deleteActionReaction(parameters: Parameters.DeleteActionReaction, callback?: never): Promise; + async deleteActionReaction( + parameters: Parameters.DeleteActionReaction, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.idAction}/reactions/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteActionReaction' }); + return this.client.sendRequest(config, callback); } - /** - * List a summary of all reactions for an action */ - async getActionReactionSummary(parameters: Parameters.GetActionReactionSummary, callback: Callback): Promise; - /** - * List a summary of all reactions for an action */ - async getActionReactionSummary(parameters: Parameters.GetActionReactionSummary, callback?: undefined): Promise; - async getActionReactionSummary(parameters: Parameters.GetActionReactionSummary, callback?: Callback): Promise { + /** List a summary of all reactions for an action */ + async getActionReactionSummary( + parameters: Parameters.GetActionReactionSummary, + callback: Callback + ): Promise; + /** List a summary of all reactions for an action */ + async getActionReactionSummary( + parameters: Parameters.GetActionReactionSummary, + callback?: never + ): Promise; + async getActionReactionSummary( + parameters: Parameters.GetActionReactionSummary, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/actions/${parameters.idAction}/reactionsSummary`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getActionReactionSummary' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/applications.ts b/src/api/applications.ts index 85a80d2..e2cc42c 100644 --- a/src/api/applications.ts +++ b/src/api/applications.ts @@ -3,16 +3,25 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Applications { - constructor(private client: Client) { } + constructor(private client: Client) {} - async applicationsKeyCompliance(parameters: Parameters.ApplicationsKeyCompliance, callback: Callback): Promise; - async applicationsKeyCompliance(parameters: Parameters.ApplicationsKeyCompliance, callback?: undefined): Promise; - async applicationsKeyCompliance(parameters: Parameters.ApplicationsKeyCompliance, callback?: Callback): Promise { + async applicationsKeyCompliance( + parameters: Parameters.ApplicationsKeyCompliance, + callback: Callback + ): Promise; + async applicationsKeyCompliance( + parameters: Parameters.ApplicationsKeyCompliance, + callback?: never + ): Promise; + async applicationsKeyCompliance( + parameters: Parameters.ApplicationsKeyCompliance, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/applications/${parameters.key}/compliance`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'applicationsKeyCompliance' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/batch.ts b/src/api/batch.ts index f5d6961..eeca076 100644 --- a/src/api/batch.ts +++ b/src/api/batch.ts @@ -3,16 +3,12 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Batch { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Make up to 10 GET requests in a single, batched API call. - */ + /** Make up to 10 GET requests in a single, batched API call. */ async getBatch(parameters: Parameters.GetBatch, callback: Callback): Promise; - /** - * Make up to 10 GET requests in a single, batched API call. - */ - async getBatch(parameters: Parameters.GetBatch, callback?: undefined): Promise; + /** Make up to 10 GET requests in a single, batched API call. */ + async getBatch(parameters: Parameters.GetBatch, callback?: never): Promise; async getBatch(parameters: Parameters.GetBatch, callback?: Callback): Promise { const config: RequestConfig = { url: '/batch', @@ -22,6 +18,6 @@ export class Batch { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getBatch' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/boards.ts b/src/api/boards.ts index 494a0de..5c0be7f 100644 --- a/src/api/boards.ts +++ b/src/api/boards.ts @@ -4,15 +4,22 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Boards { - constructor(private client: Client) { } - - /** - * Get information about the memberships users have to the board. */ - async getBoardMemberships(parameters: Parameters.GetBoardMemberships, callback: Callback): Promise; - /** - * Get information about the memberships users have to the board. */ - async getBoardMemberships(parameters: Parameters.GetBoardMemberships, callback?: undefined): Promise; - async getBoardMemberships(parameters: Parameters.GetBoardMemberships, callback?: Callback): Promise { + constructor(private client: Client) {} + + /** Get information about the memberships users have to the board. */ + async getBoardMemberships( + parameters: Parameters.GetBoardMemberships, + callback: Callback + ): Promise; + /** Get information about the memberships users have to the board. */ + async getBoardMemberships( + parameters: Parameters.GetBoardMemberships, + callback?: never + ): Promise; + async getBoardMemberships( + parameters: Parameters.GetBoardMemberships, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/memberships`, method: 'GET', @@ -25,15 +32,13 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardMemberships' }); + return this.client.sendRequest(config, callback); } - /** - * Request a single board. */ + /** Request a single board. */ async getBoard(parameters: Parameters.GetBoard, callback: Callback): Promise; - /** - * Request a single board. */ - async getBoard(parameters: Parameters.GetBoard, callback?: undefined): Promise; + /** Request a single board. */ + async getBoard(parameters: Parameters.GetBoard, callback?: never): Promise; async getBoard(parameters: Parameters.GetBoard, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}`, @@ -42,7 +47,12 @@ export class Boards { actions: parameters.actions, boardStars: parameters.boardStars, cards: parameters.cards, - card_pluginData: parameters.cardPluginData, + card_fields: parameters.card?.fields, + card_list: parameters.card?.list, + card_members: parameters.card?.members, + card_stickers: parameters.card?.stickers, + card_attachments: parameters.card?.attachments, + card_pluginData: parameters.cardPluginData ?? parameters.card?.pluginData, checklists: parameters.checklists, customFields: parameters.customFields, fields: parameters.fields, @@ -58,15 +68,13 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Update an existing board by id */ + /** Update an existing board by id */ async updateBoard(parameters: Parameters.UpdateBoard, callback: Callback): Promise; - /** - * Update an existing board by id */ - async updateBoard(parameters: Parameters.UpdateBoard, callback?: undefined): Promise; + /** Update an existing board by id */ + async updateBoard(parameters: Parameters.UpdateBoard, callback?: never): Promise; async updateBoard(parameters: Parameters.UpdateBoard, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}`, @@ -77,34 +85,32 @@ export class Boards { closed: parameters.closed, subscribed: parameters.subscribed, idOrganization: parameters.idOrganization, - 'prefs/permissionLevel': parameters.permissionLevel, - 'prefs/selfJoin': parameters.selfJoin, - 'prefs/cardCovers': parameters.cardCovers, - 'prefs/hideVotes': parameters.hideVotes, - 'prefs/invitations': parameters.invitations, - 'prefs/voting': parameters.voting, - 'prefs/comments': parameters.comments, - 'prefs/background': parameters.background, - 'prefs/cardAging': parameters.cardAging, - 'prefs/calendarFeedEnabled': parameters.calendarFeedEnabled, - 'labelNames/green': parameters.green, - 'labelNames/yellow': parameters.yellow, - 'labelNames/orange': parameters.orange, - 'labelNames/red': parameters.red, - 'labelNames/purple': parameters.purple, - 'labelNames/blue': parameters.blue, + 'prefs/permissionLevel': parameters.permissionLevel ?? parameters.prefs?.permissionLevel, + 'prefs/selfJoin': parameters.selfJoin ?? parameters.prefs?.selfJoin, + 'prefs/cardCovers': parameters.cardCovers ?? parameters.prefs?.cardCovers, + 'prefs/hideVotes': parameters.hideVotes ?? parameters.prefs?.hideVotes, + 'prefs/invitations': parameters.invitations ?? parameters.prefs?.invitations, + 'prefs/voting': parameters.voting ?? parameters.prefs?.voting, + 'prefs/comments': parameters.comments ?? parameters.prefs?.comments, + 'prefs/background': parameters.background ?? parameters.prefs?.background, + 'prefs/cardAging': parameters.cardAging ?? parameters.prefs?.cardAging, + 'prefs/calendarFeedEnabled': parameters.calendarFeedEnabled ?? parameters.prefs?.calendarFeedEnabled, + 'labelNames/green': parameters.green ?? parameters.labelNames?.green, + 'labelNames/yellow': parameters.yellow ?? parameters.labelNames?.yellow, + 'labelNames/orange': parameters.orange ?? parameters.labelNames?.orange, + 'labelNames/red': parameters.red ?? parameters.labelNames?.red, + 'labelNames/purple': parameters.purple ?? parameters.labelNames?.purple, + 'labelNames/blue': parameters.blue ?? parameters.labelNames?.blue, }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a board. */ + /** Delete a board. */ async deleteBoard(parameters: Parameters.DeleteBoard, callback: Callback): Promise; - /** - * Delete a board. */ - async deleteBoard(parameters: Parameters.DeleteBoard, callback?: undefined): Promise; + /** Delete a board. */ + async deleteBoard(parameters: Parameters.DeleteBoard, callback?: never): Promise; async deleteBoard(parameters: Parameters.DeleteBoard, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}`, @@ -112,33 +118,30 @@ export class Boards { data: parameters.body, }; - return this.client.sendRequest(config, callback, { methodName: 'deleteBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Get a single, specific field on a board */ + /** Get a single, specific field on a board */ async getBoardField(parameters: Parameters.GetBoardField, callback: Callback): Promise; - /** - * Get a single, specific field on a board */ - async getBoardField(parameters: Parameters.GetBoardField, callback?: undefined): Promise; + /** Get a single, specific field on a board */ + async getBoardField(parameters: Parameters.GetBoardField, callback?: never): Promise; async getBoardField(parameters: Parameters.GetBoardField, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardField' }); + return this.client.sendRequest(config, callback); } - /** - * Get an Actions on a Board. - */ + /** Get an Actions on a Board. */ async getBoardActions(parameters: Parameters.GetBoardActions, callback: Callback): Promise; - /** - * Get an Actions on a Board. - */ - async getBoardActions(parameters: Parameters.GetBoardActions, callback?: undefined): Promise; - async getBoardActions(parameters: Parameters.GetBoardActions, callback?: Callback): Promise { + /** Get an Actions on a Board. */ + async getBoardActions(parameters: Parameters.GetBoardActions, callback?: never): Promise; + async getBoardActions( + parameters: Parameters.GetBoardActions, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.boardId}/actions`, method: 'GET', @@ -147,63 +150,71 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardActions' }); + return this.client.sendRequest(config, callback); } - /** - * Get a single Card on a Board. */ + /** Get a single Card on a Board. */ async getBoardCard(parameters: Parameters.GetBoardCard, callback: Callback): Promise; - /** - * Get a single Card on a Board. */ - async getBoardCard(parameters: Parameters.GetBoardCard, callback?: undefined): Promise; + /** Get a single Card on a Board. */ + async getBoardCard(parameters: Parameters.GetBoardCard, callback?: never): Promise; async getBoardCard(parameters: Parameters.GetBoardCard, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/cards/${parameters.idCard}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardCard' }); + return this.client.sendRequest(config, callback); } - /** - * Get a Stars on a Board. - */ - async getBoardStars(parameters: Parameters.GetBoardStars, callback: Callback): Promise; - /** - * Get a Stars on a Board. - */ - async getBoardStars(parameters: Parameters.GetBoardStars, callback?: undefined): Promise; - async getBoardStars(parameters: Parameters.GetBoardStars, callback?: Callback): Promise { + /** Get a Stars on a Board. */ + async getBoardStars>( + parameters: Parameters.GetBoardStars, + callback: Callback + ): Promise; + /** Get a Stars on a Board. */ + async getBoardStars>(parameters: Parameters.GetBoardStars, callback?: never): Promise; + async getBoardStars>( + parameters: Parameters.GetBoardStars, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.boardId}/boardStars`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardStars' }); + return this.client.sendRequest(config, callback); } - /** - * Get all of the checklists on a Board. */ - async getBoardChecklists(parameters: Parameters.GetBoardChecklists, callback: Callback): Promise; - /** - * Get all of the checklists on a Board. */ - async getBoardChecklists(parameters: Parameters.GetBoardChecklists, callback?: undefined): Promise; - async getBoardChecklists(parameters: Parameters.GetBoardChecklists, callback?: Callback): Promise { + /** Get all of the checklists on a Board. */ + async getBoardChecklists( + parameters: Parameters.GetBoardChecklists, + callback: Callback + ): Promise; + /** Get all of the checklists on a Board. */ + async getBoardChecklists(parameters: Parameters.GetBoardChecklists, callback?: never): Promise; + async getBoardChecklists( + parameters: Parameters.GetBoardChecklists, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/checklists`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardChecklists' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new checklist on a board. */ - async createBoardChecklist(parameters: Parameters.CreateBoardChecklist, callback: Callback): Promise; - /** - * Create a new checklist on a board. */ - async createBoardChecklist(parameters: Parameters.CreateBoardChecklist, callback?: undefined): Promise; - async createBoardChecklist(parameters: Parameters.CreateBoardChecklist, callback?: Callback): Promise { + /** Create a new checklist on a board. */ + async createBoardChecklist( + parameters: Parameters.CreateBoardChecklist, + callback: Callback + ): Promise; + /** Create a new checklist on a board. */ + async createBoardChecklist(parameters: Parameters.CreateBoardChecklist, callback?: never): Promise; + async createBoardChecklist( + parameters: Parameters.CreateBoardChecklist, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/checklists`, method: 'POST', @@ -212,60 +223,67 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createBoardChecklist' }); + return this.client.sendRequest(config, callback); } - /** - * Get all of the open Cards on a Board. */ + /** Get all of the open Cards on a Board. */ async getBoardCards(parameters: Parameters.GetBoardCards, callback: Callback): Promise; - /** - * Get all of the open Cards on a Board. */ - async getBoardCards(parameters: Parameters.GetBoardCards, callback?: undefined): Promise; + /** Get all of the open Cards on a Board. */ + async getBoardCards(parameters: Parameters.GetBoardCards, callback?: never): Promise; async getBoardCards(parameters: Parameters.GetBoardCards, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/cards`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardCards' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Cards on a Board that match a given filter. */ - async getBoardCardsFilter(parameters: Parameters.GetBoardCardsFilter, callback: Callback): Promise; - /** - * Get the Cards on a Board that match a given filter. */ - async getBoardCardsFilter(parameters: Parameters.GetBoardCardsFilter, callback?: undefined): Promise; - async getBoardCardsFilter(parameters: Parameters.GetBoardCardsFilter, callback?: Callback): Promise { + /** Get the Cards on a Board that match a given filter. */ + async getBoardCardsFilter( + parameters: Parameters.GetBoardCardsFilter, + callback: Callback + ): Promise; + /** Get the Cards on a Board that match a given filter. */ + async getBoardCardsFilter(parameters: Parameters.GetBoardCardsFilter, callback?: never): Promise; + async getBoardCardsFilter( + parameters: Parameters.GetBoardCardsFilter, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/cards/${parameters.filter}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardCardsFilter' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Custom Field Definitions that exist on a board. */ - async getBoardCustomFields(parameters: Parameters.GetBoardCustomFields, callback: Callback): Promise; - /** - * Get the Custom Field Definitions that exist on a board. */ - async getBoardCustomFields(parameters: Parameters.GetBoardCustomFields, callback?: undefined): Promise; - async getBoardCustomFields(parameters: Parameters.GetBoardCustomFields, callback?: Callback): Promise { + /** Get the Custom Field Definitions that exist on a board. */ + async getBoardCustomFields( + parameters: Parameters.GetBoardCustomFields, + callback: Callback + ): Promise; + /** Get the Custom Field Definitions that exist on a board. */ + async getBoardCustomFields( + parameters: Parameters.GetBoardCustomFields, + callback?: never + ): Promise; + async getBoardCustomFields( + parameters: Parameters.GetBoardCustomFields, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/customFields`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardCustomFields' }); + return this.client.sendRequest(config, callback); } - /** - * Get all of the Labels on a Board. */ + /** Get all of the Labels on a Board. */ async getBoardLabels(parameters: Parameters.GetBoardLabels, callback: Callback): Promise; - /** - * Get all of the Labels on a Board. */ - async getBoardLabels(parameters: Parameters.GetBoardLabels, callback?: undefined): Promise; + /** Get all of the Labels on a Board. */ + async getBoardLabels(parameters: Parameters.GetBoardLabels, callback?: never): Promise; async getBoardLabels(parameters: Parameters.GetBoardLabels, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/labels`, @@ -276,16 +294,17 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardLabels' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new Label on a Board. */ + /** Create a new Label on a Board. */ async createBoardLabel(parameters: Parameters.CreateBoardLabel, callback: Callback): Promise; - /** - * Create a new Label on a Board. */ - async createBoardLabel(parameters: Parameters.CreateBoardLabel, callback?: undefined): Promise; - async createBoardLabel(parameters: Parameters.CreateBoardLabel, callback?: Callback): Promise { + /** Create a new Label on a Board. */ + async createBoardLabel(parameters: Parameters.CreateBoardLabel, callback?: never): Promise; + async createBoardLabel( + parameters: Parameters.CreateBoardLabel, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/labels`, method: 'POST', @@ -295,16 +314,20 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createBoardLabel' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Lists on a Board */ - async getBoardLists(parameters: Parameters.GetBoardLists, callback: Callback): Promise; - /** - * Get the Lists on a Board */ - async getBoardLists(parameters: Parameters.GetBoardLists, callback?: undefined): Promise; - async getBoardLists(parameters: Parameters.GetBoardLists, callback?: Callback): Promise { + /** Get the Lists on a Board */ + async getBoardLists( + parameters: Parameters.GetBoardLists, + callback: Callback + ): Promise; + /** Get the Lists on a Board */ + async getBoardLists(parameters: Parameters.GetBoardLists, callback?: never): Promise; + async getBoardLists( + parameters: Parameters.GetBoardLists, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/lists`, method: 'GET', @@ -316,16 +339,20 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardLists' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new List on a Board. */ - async createBoardList(parameters: Parameters.CreateBoardList, callback: Callback): Promise; - /** - * Create a new List on a Board. */ - async createBoardList(parameters: Parameters.CreateBoardList, callback?: undefined): Promise; - async createBoardList(parameters: Parameters.CreateBoardList, callback?: Callback): Promise { + /** Create a new List on a Board. */ + async createBoardList( + parameters: Parameters.CreateBoardList, + callback: Callback + ): Promise; + /** Create a new List on a Board. */ + async createBoardList(parameters: Parameters.CreateBoardList, callback?: never): Promise; + async createBoardList( + parameters: Parameters.CreateBoardList, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/lists`, method: 'POST', @@ -335,41 +362,46 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createBoardList' }); + return this.client.sendRequest(config, callback); } - async getBoardListsFilter(parameters: Parameters.GetBoardListsFilter, callback: Callback): Promise; - async getBoardListsFilter(parameters: Parameters.GetBoardListsFilter, callback?: undefined): Promise; - async getBoardListsFilter(parameters: Parameters.GetBoardListsFilter, callback?: Callback): Promise { + async getBoardListsFilter( + parameters: Parameters.GetBoardListsFilter, + callback: Callback + ): Promise; + async getBoardListsFilter(parameters: Parameters.GetBoardListsFilter, callback?: never): Promise; + async getBoardListsFilter( + parameters: Parameters.GetBoardListsFilter, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/lists/${parameters.filter}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardListsFilter' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Members for a board */ + /** Get the Members for a board */ async getBoardMembers(parameters: Parameters.GetBoardMembers, callback: Callback): Promise; - /** - * Get the Members for a board */ - async getBoardMembers(parameters: Parameters.GetBoardMembers, callback?: undefined): Promise; - async getBoardMembers(parameters: Parameters.GetBoardMembers, callback?: Callback): Promise { + /** Get the Members for a board */ + async getBoardMembers(parameters: Parameters.GetBoardMembers, callback?: never): Promise; + async getBoardMembers( + parameters: Parameters.GetBoardMembers, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/members`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getBoardMembers' }); + return this.client.sendRequest(config, callback); } - /** - * Invite a Member to a Board via their email address. */ + /** Invite a Member to a Board via their email address. */ async inviteMember(parameters: Parameters.InviteMember, callback: Callback): Promise; - /** - * Invite a Member to a Board via their email address. */ - async inviteMember(parameters: Parameters.InviteMember, callback?: undefined): Promise; + /** Invite a Member to a Board via their email address. */ + async inviteMember(parameters: Parameters.InviteMember, callback?: never): Promise; async inviteMember(parameters: Parameters.InviteMember, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/members`, @@ -383,16 +415,17 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'inviteMember' }); + return this.client.sendRequest(config, callback); } - /** - * Add a member to the board. */ + /** Add a member to the board. */ async addMemberToBoard(parameters: Parameters.AddMemberToBoard, callback: Callback): Promise; - /** - * Add a member to the board. */ - async addMemberToBoard(parameters: Parameters.AddMemberToBoard, callback?: undefined): Promise; - async addMemberToBoard(parameters: Parameters.AddMemberToBoard, callback?: Callback): Promise { + /** Add a member to the board. */ + async addMemberToBoard(parameters: Parameters.AddMemberToBoard, callback?: never): Promise; + async addMemberToBoard( + parameters: Parameters.AddMemberToBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/members/${parameters.idMember}`, method: 'PUT', @@ -402,27 +435,37 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'addMemberToBoard' }); + return this.client.sendRequest(config, callback); } - async removeMemberFromBoard(parameters: Parameters.RemoveMemberFromBoard, callback: Callback): Promise; - async removeMemberFromBoard(parameters: Parameters.RemoveMemberFromBoard, callback?: undefined): Promise; - async removeMemberFromBoard(parameters: Parameters.RemoveMemberFromBoard, callback?: Callback): Promise { + async removeMemberFromBoard( + parameters: Parameters.RemoveMemberFromBoard, + callback: Callback + ): Promise; + async removeMemberFromBoard(parameters: Parameters.RemoveMemberFromBoard, callback?: never): Promise; + async removeMemberFromBoard( + parameters: Parameters.RemoveMemberFromBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/members/${parameters.idMember}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'removeMemberFromBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Update an existing board by id */ - async updateMemberOnBoard(parameters: Parameters.UpdateMemberOnBoard, callback: Callback): Promise; - /** - * Update an existing board by id */ - async updateMemberOnBoard(parameters: Parameters.UpdateMemberOnBoard, callback?: undefined): Promise; - async updateMemberOnBoard(parameters: Parameters.UpdateMemberOnBoard, callback?: Callback): Promise { + /** Update an existing board by id */ + async updateMemberOnBoard( + parameters: Parameters.UpdateMemberOnBoard, + callback: Callback + ): Promise; + /** Update an existing board by id */ + async updateMemberOnBoard(parameters: Parameters.UpdateMemberOnBoard, callback?: never): Promise; + async updateMemberOnBoard( + parameters: Parameters.UpdateMemberOnBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/memberships/${parameters.idMembership}`, method: 'PUT', @@ -432,16 +475,20 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateMemberOnBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Update emailPosition Pref on a Board */ - async updateEmailPosition(parameters: Parameters.UpdateEmailPosition, callback: Callback): Promise; - /** - * Update emailPosition Pref on a Board */ - async updateEmailPosition(parameters: Parameters.UpdateEmailPosition, callback?: undefined): Promise; - async updateEmailPosition(parameters: Parameters.UpdateEmailPosition, callback?: Callback): Promise { + /** Update emailPosition Pref on a Board */ + async updateEmailPosition( + parameters: Parameters.UpdateEmailPosition, + callback: Callback + ): Promise; + /** Update emailPosition Pref on a Board */ + async updateEmailPosition(parameters: Parameters.UpdateEmailPosition, callback?: never): Promise; + async updateEmailPosition( + parameters: Parameters.UpdateEmailPosition, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/myPrefs/emailPosition`, method: 'PUT', @@ -450,16 +497,17 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateEmailPosition' }); + return this.client.sendRequest(config, callback); } - /** - * Change the default list that email-to-board cards are created in. */ + /** Change the default list that email-to-board cards are created in. */ async changeEmailList(parameters: Parameters.ChangeEmailList, callback: Callback): Promise; - /** - * Change the default list that email-to-board cards are created in. */ - async changeEmailList(parameters: Parameters.ChangeEmailList, callback?: undefined): Promise; - async changeEmailList(parameters: Parameters.ChangeEmailList, callback?: Callback): Promise { + /** Change the default list that email-to-board cards are created in. */ + async changeEmailList(parameters: Parameters.ChangeEmailList, callback?: never): Promise; + async changeEmailList( + parameters: Parameters.ChangeEmailList, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/myPrefs/idEmailList`, method: 'PUT', @@ -468,12 +516,18 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'changeEmailList' }); + return this.client.sendRequest(config, callback); } - async updateShowListGuide(parameters: Parameters.UpdateShowListGuide, callback: Callback): Promise; - async updateShowListGuide(parameters: Parameters.UpdateShowListGuide, callback?: undefined): Promise; - async updateShowListGuide(parameters: Parameters.UpdateShowListGuide, callback?: Callback): Promise { + async updateShowListGuide( + parameters: Parameters.UpdateShowListGuide, + callback: Callback + ): Promise; + async updateShowListGuide(parameters: Parameters.UpdateShowListGuide, callback?: never): Promise; + async updateShowListGuide( + parameters: Parameters.UpdateShowListGuide, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/myPrefs/showListGuide`, method: 'PUT', @@ -482,12 +536,15 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateShowListGuide' }); + return this.client.sendRequest(config, callback); } async updateShowSidebar(parameters: Parameters.UpdateShowSidebar, callback: Callback): Promise; - async updateShowSidebar(parameters: Parameters.UpdateShowSidebar, callback?: undefined): Promise; - async updateShowSidebar(parameters: Parameters.UpdateShowSidebar, callback?: Callback): Promise { + async updateShowSidebar(parameters: Parameters.UpdateShowSidebar, callback?: never): Promise; + async updateShowSidebar( + parameters: Parameters.UpdateShowSidebar, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/myPrefs/showSidebar`, method: 'PUT', @@ -496,12 +553,21 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateShowSidebar' }); + return this.client.sendRequest(config, callback); } - async updateShowSidebarActivity(parameters: Parameters.UpdateShowSidebarActivity, callback: Callback): Promise; - async updateShowSidebarActivity(parameters: Parameters.UpdateShowSidebarActivity, callback?: undefined): Promise; - async updateShowSidebarActivity(parameters: Parameters.UpdateShowSidebarActivity, callback?: Callback): Promise { + async updateShowSidebarActivity( + parameters: Parameters.UpdateShowSidebarActivity, + callback: Callback + ): Promise; + async updateShowSidebarActivity( + parameters: Parameters.UpdateShowSidebarActivity, + callback?: never + ): Promise; + async updateShowSidebarActivity( + parameters: Parameters.UpdateShowSidebarActivity, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/myPrefs/showSidebarActivity`, method: 'PUT', @@ -510,12 +576,21 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateShowSidebarActivity' }); + return this.client.sendRequest(config, callback); } - async updateShowSidebarBoardActions(parameters: Parameters.UpdateShowSidebarBoardActions, callback: Callback): Promise; - async updateShowSidebarBoardActions(parameters: Parameters.UpdateShowSidebarBoardActions, callback?: undefined): Promise; - async updateShowSidebarBoardActions(parameters: Parameters.UpdateShowSidebarBoardActions, callback?: Callback): Promise { + async updateShowSidebarBoardActions( + parameters: Parameters.UpdateShowSidebarBoardActions, + callback: Callback + ): Promise; + async updateShowSidebarBoardActions( + parameters: Parameters.UpdateShowSidebarBoardActions, + callback?: never + ): Promise; + async updateShowSidebarBoardActions( + parameters: Parameters.UpdateShowSidebarBoardActions, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/myPrefs/showSidebarBoardActions`, method: 'PUT', @@ -524,12 +599,21 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateShowSidebarBoardActions' }); + return this.client.sendRequest(config, callback); } - async updateShowSidebarMembers(parameters: Parameters.UpdateShowSidebarMembers, callback: Callback): Promise; - async updateShowSidebarMembers(parameters: Parameters.UpdateShowSidebarMembers, callback?: undefined): Promise; - async updateShowSidebarMembers(parameters: Parameters.UpdateShowSidebarMembers, callback?: Callback): Promise { + async updateShowSidebarMembers( + parameters: Parameters.UpdateShowSidebarMembers, + callback: Callback + ): Promise; + async updateShowSidebarMembers( + parameters: Parameters.UpdateShowSidebarMembers, + callback?: never + ): Promise; + async updateShowSidebarMembers( + parameters: Parameters.UpdateShowSidebarMembers, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/myPrefs/showSidebarMembers`, method: 'PUT', @@ -538,15 +622,13 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateShowSidebarMembers' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new board. */ + /** Create a new board. */ async createBoard(parameters: Parameters.CreateBoard, callback: Callback): Promise; - /** - * Create a new board. */ - async createBoard(parameters: Parameters.CreateBoard, callback?: undefined): Promise; + /** Create a new board. */ + async createBoard(parameters: Parameters.CreateBoard, callback?: never): Promise; async createBoard(parameters: Parameters.CreateBoard, callback?: Callback): Promise { const config: RequestConfig = { url: '/boards/', @@ -560,48 +642,49 @@ export class Boards { idBoardSource: parameters.idBoardSource, keepFromSource: parameters.keepFromSource, powerUps: parameters.powerUps, - prefs_permissionLevel: parameters.prefsPermissionLevel, - prefs_voting: parameters.prefsVoting, - prefs_comments: parameters.prefsComments, - prefs_invitations: parameters.prefsInvitations, - prefs_selfJoin: parameters.prefsSelfJoin, - prefs_cardCovers: parameters.prefsCardCovers, - prefs_background: parameters.prefsBackground, - prefs_cardAging: parameters.prefsCardAging, + prefs_permissionLevel: parameters.prefsPermissionLevel ?? parameters.prefs?.permissionLevel, + prefs_voting: parameters.prefsVoting ?? parameters.prefs?.voting, + prefs_comments: parameters.prefsComments ?? parameters.prefs?.comments, + prefs_invitations: parameters.prefsInvitations ?? parameters.prefs?.invitations, + prefs_selfJoin: parameters.prefsSelfJoin ?? parameters.prefs?.selfJoin, + prefs_cardCovers: parameters.prefsCardCovers ?? parameters.prefs?.cardCovers, + prefs_background: parameters.prefsBackground ?? parameters.prefs?.background, + prefs_cardAging: parameters.prefsCardAging ?? parameters.prefs?.cardAging, }, }; - return this.client.sendRequest(config, callback, { methodName: 'createBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new board. */ + /** Create a new board. */ async createCalendarKey(parameters: Parameters.CreateCalendarKey, callback: Callback): Promise; - /** - * Create a new board. */ - async createCalendarKey(parameters: Parameters.CreateCalendarKey, callback?: undefined): Promise; - async createCalendarKey(parameters: Parameters.CreateCalendarKey, callback?: Callback): Promise { + /** Create a new board. */ + async createCalendarKey(parameters: Parameters.CreateCalendarKey, callback?: never): Promise; + async createCalendarKey( + parameters: Parameters.CreateCalendarKey, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/calendarKey/generate`, method: 'POST', }; - return this.client.sendRequest(config, callback, { methodName: 'createCalendarKey' }); + return this.client.sendRequest(config, callback); } async createEmailKey(parameters: Parameters.CreateEmailKey, callback: Callback): Promise; - async createEmailKey(parameters: Parameters.CreateEmailKey, callback?: undefined): Promise; + async createEmailKey(parameters: Parameters.CreateEmailKey, callback?: never): Promise; async createEmailKey(parameters: Parameters.CreateEmailKey, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/emailKey/generate`, method: 'POST', }; - return this.client.sendRequest(config, callback, { methodName: 'createEmailKey' }); + return this.client.sendRequest(config, callback); } async createIdTags(parameters: Parameters.CreateIdTags, callback: Callback): Promise; - async createIdTags(parameters: Parameters.CreateIdTags, callback?: undefined): Promise; + async createIdTags(parameters: Parameters.CreateIdTags, callback?: never): Promise; async createIdTags(parameters: Parameters.CreateIdTags, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/idTags`, @@ -611,11 +694,11 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createIdTags' }); + return this.client.sendRequest(config, callback); } async markAsViewed(parameters: Parameters.MarkAsViewed, callback: Callback): Promise; - async markAsViewed(parameters: Parameters.MarkAsViewed, callback?: undefined): Promise; + async markAsViewed(parameters: Parameters.MarkAsViewed, callback?: never): Promise; async markAsViewed(parameters: Parameters.MarkAsViewed, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/markedAsViewed`, @@ -626,7 +709,7 @@ export class Boards { } async createPowerUp(parameters: Parameters.CreatePowerUp, callback: Callback): Promise; - async createPowerUp(parameters: Parameters.CreatePowerUp, callback?: undefined): Promise; + async createPowerUp(parameters: Parameters.CreatePowerUp, callback?: never): Promise; async createPowerUp(parameters: Parameters.CreatePowerUp, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/powerUps`, @@ -634,43 +717,48 @@ export class Boards { params: { value: parameters.value, }, - }; + }; // todo deprecated? - return this.client.sendRequest(config, callback, { methodName: 'createPowerUp' }); + return this.client.sendRequest(config, callback); } async deletePowerUp(parameters: Parameters.DeletePowerUp, callback: Callback): Promise; - async deletePowerUp(parameters: Parameters.DeletePowerUp, callback?: undefined): Promise; + async deletePowerUp(parameters: Parameters.DeletePowerUp, callback?: never): Promise; async deletePowerUp(parameters: Parameters.DeletePowerUp, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/powerUps/${parameters.powerUp}`, - method: 'DELETE', + method: 'DELETE', // todo deprecated? }; - return this.client.sendRequest(config, callback, { methodName: 'deletePowerUp' }); + return this.client.sendRequest(config, callback); } - /** - * Get the enabled Power-Ups on a board */ - async getEnabledPowerUps(parameters: Parameters.GetEnabledPowerUps, callback: Callback): Promise; - /** - * Get the enabled Power-Ups on a board */ - async getEnabledPowerUps(parameters: Parameters.GetEnabledPowerUps, callback?: undefined): Promise; - async getEnabledPowerUps(parameters: Parameters.GetEnabledPowerUps, callback?: Callback): Promise { + /** Get the enabled Power-Ups on a board */ + async getEnabledPowerUps( + parameters: Parameters.GetEnabledPowerUps, + callback: Callback + ): Promise; + /** Get the enabled Power-Ups on a board */ + async getEnabledPowerUps( + parameters: Parameters.GetEnabledPowerUps, + callback?: never + ): Promise; + async getEnabledPowerUps( + parameters: Parameters.GetEnabledPowerUps, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/boardPlugins`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getEnabledPowerUps' }); + return this.client.sendRequest(config, callback); } - /** - * Enable a Power-Up on a Board */ + /** Enable a Power-Up on a Board */ async enablePowerUp(parameters: Parameters.EnablePowerUp, callback: Callback): Promise; - /** - * Enable a Power-Up on a Board */ - async enablePowerUp(parameters: Parameters.EnablePowerUp, callback?: undefined): Promise; + /** Enable a Power-Up on a Board */ + async enablePowerUp(parameters: Parameters.EnablePowerUp, callback?: never): Promise; async enablePowerUp(parameters: Parameters.EnablePowerUp, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/boardPlugins`, @@ -680,30 +768,26 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'enablePowerUp' }); + return this.client.sendRequest(config, callback); } - /** - * Disable a Power-Up on a board */ + /** Disable a Power-Up on a board */ async disablePowerUp(parameters: Parameters.DisablePowerUp, callback: Callback): Promise; - /** - * Disable a Power-Up on a board */ - async disablePowerUp(parameters: Parameters.DisablePowerUp, callback?: undefined): Promise; + /** Disable a Power-Up on a board */ + async disablePowerUp(parameters: Parameters.DisablePowerUp, callback?: never): Promise; async disablePowerUp(parameters: Parameters.DisablePowerUp, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/boardPlugins/${parameters.idPlugin}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'disablePowerUp' }); + return this.client.sendRequest(config, callback); } - /** - * List the Power-Ups on a board */ + /** List the Power-Ups on a board */ async getPowerUps(parameters: Parameters.GetPowerUps, callback: Callback): Promise; - /** - * List the Power-Ups on a board */ - async getPowerUps(parameters: Parameters.GetPowerUps, callback?: undefined): Promise; + /** List the Power-Ups on a board */ + async getPowerUps(parameters: Parameters.GetPowerUps, callback?: never): Promise; async getPowerUps(parameters: Parameters.GetPowerUps, callback?: Callback): Promise { const config: RequestConfig = { url: `/boards/${parameters.id}/plugins`, @@ -713,6 +797,6 @@ export class Boards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getPowerUps' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/cards.ts b/src/api/cards.ts index 9a5bde9..326ae17 100644 --- a/src/api/cards.ts +++ b/src/api/cards.ts @@ -4,15 +4,13 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Cards { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Create a new card */ - async createCard(parameters: Parameters.CreateCard, callback: Callback): Promise; - /** - * Create a new card */ - async createCard(parameters: Parameters.CreateCard, callback?: undefined): Promise; - async createCard(parameters: Parameters.CreateCard, callback?: Callback): Promise { + /** Create a new card */ + async createCard(parameters: Parameters.CreateCard, callback: Callback): Promise; + /** Create a new card */ + async createCard(parameters: Parameters.CreateCard, callback?: never): Promise; + async createCard(parameters: Parameters.CreateCard, callback?: Callback): Promise { const config: RequestConfig = { url: '/cards', method: 'POST', @@ -27,6 +25,7 @@ export class Cards { idLabels: parameters.idLabels, urlSource: parameters.urlSource, fileSource: parameters.fileSource, + mimeType: parameters.mimeType, idCardSource: parameters.idCardSource, keepFromSource: parameters.keepFromSource, address: parameters.address, @@ -35,15 +34,13 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createCard' }); + return this.client.sendRequest(config, callback); } - /** - * Get a card by its ID */ + /** Get a card by its ID */ async getCard(parameters: Parameters.GetCard, callback: Callback): Promise; - /** - * Get a card by its ID */ - async getCard(parameters: Parameters.GetCard, callback?: undefined): Promise; + /** Get a card by its ID */ + async getCard(parameters: Parameters.GetCard, callback?: never): Promise; async getCard(parameters: Parameters.GetCard, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}`, @@ -70,15 +67,13 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCard' }); + return this.client.sendRequest(config, callback); } - /** - * Update a card */ + /** Update a card */ async updateCard(parameters: Parameters.UpdateCard, callback: Callback): Promise; - /** - * Update a card */ - async updateCard(parameters: Parameters.UpdateCard, callback?: undefined): Promise; + /** Update a card */ + async updateCard(parameters: Parameters.UpdateCard, callback?: never): Promise; async updateCard(parameters: Parameters.UpdateCard, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}`, @@ -103,46 +98,46 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateCard' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a Card */ + /** Delete a Card */ async deleteCard(parameters: Parameters.DeleteCard, callback: Callback): Promise; - /** - * Delete a Card */ - async deleteCard(parameters: Parameters.DeleteCard, callback?: undefined): Promise; + /** Delete a Card */ + async deleteCard(parameters: Parameters.DeleteCard, callback?: never): Promise; async deleteCard(parameters: Parameters.DeleteCard, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCard' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific property of a card */ + /** Get a specific property of a card */ async getCardField(parameters: Parameters.GetCardField, callback: Callback): Promise; - /** - * Get a specific property of a card */ - async getCardField(parameters: Parameters.GetCardField, callback?: undefined): Promise; + /** Get a specific property of a card */ + async getCardField(parameters: Parameters.GetCardField, callback?: never): Promise; async getCardField(parameters: Parameters.GetCardField, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getCardField' }); + return this.client.sendRequest(config, callback); } - /** - * List the Actions on a Card */ - async getCardActions(parameters: Parameters.GetCardActions, callback: Callback): Promise; - /** - * List the Actions on a Card */ - async getCardActions(parameters: Parameters.GetCardActions, callback?: undefined): Promise; - async getCardActions(parameters: Parameters.GetCardActions, callback?: Callback): Promise { + /** List the Actions on a Card */ + async getCardActions( + parameters: Parameters.GetCardActions, + callback: Callback + ): Promise; + /** List the Actions on a Card */ + async getCardActions(parameters: Parameters.GetCardActions, callback?: never): Promise; + async getCardActions( + parameters: Parameters.GetCardActions, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/actions`, method: 'GET', @@ -151,35 +146,50 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardActions' }); + return this.client.sendRequest(config, callback); } - /** - * List the attachments on a card */ - async getCardAttachments(parameters: Parameters.GetCardAttachments, callback: Callback): Promise; - /** - * List the attachments on a card */ - async getCardAttachments(parameters: Parameters.GetCardAttachments, callback?: undefined): Promise; - async getCardAttachments(parameters: Parameters.GetCardAttachments, callback?: Callback): Promise { + /** List the attachments on a card */ + async getCardAttachments>( + parameters: Parameters.GetCardAttachments, + callback: Callback + ): Promise; + /** List the attachments on a card */ + async getCardAttachments>( + parameters: Parameters.GetCardAttachments, + callback?: never + ): Promise; + async getCardAttachments>( + parameters: Parameters.GetCardAttachments, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/attachments`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getCardAttachments' }); + return this.client.sendRequest(config, callback); } - /** - * Create an Attachment to a Card */ - async createCardAttachment(parameters: Parameters.CreateCardAttachment, callback: Callback): Promise; - /** - * Create an Attachment to a Card */ - async createCardAttachment(parameters: Parameters.CreateCardAttachment, callback?: undefined): Promise; - async createCardAttachment(parameters: Parameters.CreateCardAttachment, callback?: Callback): Promise { + /** Create an Attachment to a Card */ + async createCardAttachment>( + parameters: Parameters.CreateCardAttachment, + callback: Callback + ): Promise; + /** Create an Attachment to a Card */ + async createCardAttachment>( + parameters: Parameters.CreateCardAttachment, + callback?: never + ): Promise; + async createCardAttachment>( + parameters: Parameters.CreateCardAttachment, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/attachments`, method: 'POST', params: { + // TODO check name: parameters.name, file: parameters.file, mimeType: parameters.mimeType, @@ -188,16 +198,23 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createCardAttachment' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific Attachment on a Card. */ - async getCardAttachment(parameters: Parameters.GetCardAttachment, callback: Callback): Promise; - /** - * Get a specific Attachment on a Card. */ - async getCardAttachment(parameters: Parameters.GetCardAttachment, callback?: undefined): Promise; - async getCardAttachment(parameters: Parameters.GetCardAttachment, callback?: Callback): Promise { + /** Get a specific Attachment on a Card. */ + async getCardAttachment>( + parameters: Parameters.GetCardAttachment, + callback: Callback + ): Promise; + /** Get a specific Attachment on a Card. */ + async getCardAttachment>( + parameters: Parameters.GetCardAttachment, + callback?: never + ): Promise; + async getCardAttachment>( + parameters: Parameters.GetCardAttachment, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/attachments/${parameters.idAttachment}`, method: 'GET', @@ -206,31 +223,33 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardAttachment' }); + return this.client.sendRequest(config, callback); } - /** - * Delete an Attachment */ - async deleteCardAttachment(parameters: Parameters.DeleteCardAttachment, callback: Callback): Promise; - /** - * Delete an Attachment */ - async deleteCardAttachment(parameters: Parameters.DeleteCardAttachment, callback?: undefined): Promise; - async deleteCardAttachment(parameters: Parameters.DeleteCardAttachment, callback?: Callback): Promise { + /** Delete an Attachment */ + async deleteCardAttachment( + parameters: Parameters.DeleteCardAttachment, + callback: Callback + ): Promise; + /** Delete an Attachment */ + async deleteCardAttachment(parameters: Parameters.DeleteCardAttachment, callback?: never): Promise; + async deleteCardAttachment( + parameters: Parameters.DeleteCardAttachment, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/attachments/${parameters.idAttachment}`, method: 'DELETE', - data: parameters.body, + data: parameters.body, // todo }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardAttachment' }); + return this.client.sendRequest(config, callback); } - /** - * Get the board a card is on */ + /** Get the board a card is on */ async getCardBoard(parameters: Parameters.GetCardBoard, callback: Callback): Promise; - /** - * Get the board a card is on */ - async getCardBoard(parameters: Parameters.GetCardBoard, callback?: undefined): Promise; + /** Get the board a card is on */ + async getCardBoard(parameters: Parameters.GetCardBoard, callback?: never): Promise; async getCardBoard(parameters: Parameters.GetCardBoard, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/board`, @@ -240,16 +259,23 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Get the completed checklist items on a card */ - async getCardCompletedChecklists(parameters: Parameters.GetCardCompletedChecklists, callback: Callback): Promise; - /** - * Get the completed checklist items on a card */ - async getCardCompletedChecklists(parameters: Parameters.GetCardCompletedChecklists, callback?: undefined): Promise; - async getCardCompletedChecklists(parameters: Parameters.GetCardCompletedChecklists, callback?: Callback): Promise { + /** Get the completed checklist items on a card */ + async getCardCompletedChecklists( + parameters: Parameters.GetCardCompletedChecklists, + callback: Callback + ): Promise; + /** Get the completed checklist items on a card */ + async getCardCompletedChecklists( + parameters: Parameters.GetCardCompletedChecklists, + callback?: never + ): Promise; + async getCardCompletedChecklists( + parameters: Parameters.GetCardCompletedChecklists, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/checkItemStates`, method: 'GET', @@ -258,16 +284,17 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardCompletedChecklists' }); + return this.client.sendRequest(config, callback); } - /** - * Get the checklists on a card */ + /** Get the checklists on a card */ async getCardChecklists(parameters: Parameters.GetCardChecklists, callback: Callback): Promise; - /** - * Get the checklists on a card */ - async getCardChecklists(parameters: Parameters.GetCardChecklists, callback?: undefined): Promise; - async getCardChecklists(parameters: Parameters.GetCardChecklists, callback?: Callback): Promise { + /** Get the checklists on a card */ + async getCardChecklists(parameters: Parameters.GetCardChecklists, callback?: never): Promise; + async getCardChecklists( + parameters: Parameters.GetCardChecklists, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/checklists`, method: 'GET', @@ -279,16 +306,20 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardChecklists' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new checklist on a card */ - async createCardChecklist(parameters: Parameters.CreateCardChecklist, callback: Callback): Promise; - /** - * Create a new checklist on a card */ - async createCardChecklist(parameters: Parameters.CreateCardChecklist, callback?: undefined): Promise; - async createCardChecklist(parameters: Parameters.CreateCardChecklist, callback?: Callback): Promise { + /** Create a new checklist on a card */ + async createCardChecklist( + parameters: Parameters.CreateCardChecklist, + callback: Callback + ): Promise; + /** Create a new checklist on a card */ + async createCardChecklist(parameters: Parameters.CreateCardChecklist, callback?: never): Promise; + async createCardChecklist( + parameters: Parameters.CreateCardChecklist, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/checklists`, method: 'POST', @@ -299,16 +330,20 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createCardChecklist' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific checkItem on a card */ - async getCardChecklistItem(parameters: Parameters.GetCardChecklistItem, callback: Callback): Promise; - /** - * Get a specific checkItem on a card */ - async getCardChecklistItem(parameters: Parameters.GetCardChecklistItem, callback?: undefined): Promise; - async getCardChecklistItem(parameters: Parameters.GetCardChecklistItem, callback?: Callback): Promise { + /** Get a specific checkItem on a card */ + async getCardChecklistItem( + parameters: Parameters.GetCardChecklistItem, + callback: Callback + ): Promise; + /** Get a specific checkItem on a card */ + async getCardChecklistItem(parameters: Parameters.GetCardChecklistItem, callback?: never): Promise; + async getCardChecklistItem( + parameters: Parameters.GetCardChecklistItem, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/checkItem/${parameters.idCheckItem}`, method: 'GET', @@ -317,16 +352,20 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardChecklistItem' }); + return this.client.sendRequest(config, callback); } - /** - * Update an item in a checklist on a card. */ - async updateCardCheckItem(parameters: Parameters.UpdateCardCheckItem, callback: Callback): Promise; - /** - * Update an item in a checklist on a card. */ - async updateCardCheckItem(parameters: Parameters.UpdateCardCheckItem, callback?: undefined): Promise; - async updateCardCheckItem(parameters: Parameters.UpdateCardCheckItem, callback?: Callback): Promise { + /** Update an item in a checklist on a card. */ + async updateCardCheckItem( + parameters: Parameters.UpdateCardCheckItem, + callback: Callback + ): Promise; + /** Update an item in a checklist on a card. */ + async updateCardCheckItem(parameters: Parameters.UpdateCardCheckItem, callback?: never): Promise; + async updateCardCheckItem( + parameters: Parameters.UpdateCardCheckItem, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/checkItem/${parameters.idCheckItem}`, method: 'PUT', @@ -338,30 +377,35 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateCardCheckItem' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a checklist item */ - async deleteCardChecklistItem(parameters: Parameters.DeleteCardChecklistItem, callback: Callback): Promise; - /** - * Delete a checklist item */ - async deleteCardChecklistItem(parameters: Parameters.DeleteCardChecklistItem, callback?: undefined): Promise; - async deleteCardChecklistItem(parameters: Parameters.DeleteCardChecklistItem, callback?: Callback): Promise { + /** Delete a checklist item */ + async deleteCardChecklistItem( + parameters: Parameters.DeleteCardChecklistItem, + callback: Callback + ): Promise; + /** Delete a checklist item */ + async deleteCardChecklistItem( + parameters: Parameters.DeleteCardChecklistItem, + callback?: never + ): Promise; + async deleteCardChecklistItem( + parameters: Parameters.DeleteCardChecklistItem, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/checkItem/${parameters.idCheckItem}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardChecklistItem' }); + return this.client.sendRequest(config, callback); } - /** - * Get the list a card is in */ + /** Get the list a card is in */ async getCardList(parameters: Parameters.GetCardList, callback: Callback): Promise; - /** - * Get the list a card is in */ - async getCardList(parameters: Parameters.GetCardList, callback?: undefined): Promise; + /** Get the list a card is in */ + async getCardList(parameters: Parameters.GetCardList, callback?: never): Promise; async getCardList(parameters: Parameters.GetCardList, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/list`, @@ -371,15 +415,13 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardList' }); + return this.client.sendRequest(config, callback); } - /** - * Get the members on a card */ + /** Get the members on a card */ async getCardMembers(parameters: Parameters.GetCardMembers, callback: Callback): Promise; - /** - * Get the members on a card */ - async getCardMembers(parameters: Parameters.GetCardMembers, callback?: undefined): Promise; + /** Get the members on a card */ + async getCardMembers(parameters: Parameters.GetCardMembers, callback?: never): Promise; async getCardMembers(parameters: Parameters.GetCardMembers, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/members`, @@ -389,16 +431,20 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardMembers' }); + return this.client.sendRequest(config, callback); } - /** - * Get the members who have voted on a card */ - async getCardMembersVoted(parameters: Parameters.GetCardMembersVoted, callback: Callback): Promise; - /** - * Get the members who have voted on a card */ - async getCardMembersVoted(parameters: Parameters.GetCardMembersVoted, callback?: undefined): Promise; - async getCardMembersVoted(parameters: Parameters.GetCardMembersVoted, callback?: Callback): Promise { + /** Get the members who have voted on a card */ + async getCardMembersVoted( + parameters: Parameters.GetCardMembersVoted, + callback: Callback + ): Promise; + /** Get the members who have voted on a card */ + async getCardMembersVoted(parameters: Parameters.GetCardMembersVoted, callback?: never): Promise; + async getCardMembersVoted( + parameters: Parameters.GetCardMembersVoted, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/membersVoted`, method: 'GET', @@ -407,16 +453,23 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardMembersVoted' }); + return this.client.sendRequest(config, callback); } - /** - * Vote on the card for a given member. */ - async voteOnCardForGivenMember(parameters: Parameters.VoteOnCardForGivenMember, callback: Callback): Promise; - /** - * Vote on the card for a given member. */ - async voteOnCardForGivenMember(parameters: Parameters.VoteOnCardForGivenMember, callback?: undefined): Promise; - async voteOnCardForGivenMember(parameters: Parameters.VoteOnCardForGivenMember, callback?: Callback): Promise { + /** Vote on the card for a given member. */ + async voteOnCardForGivenMember( + parameters: Parameters.VoteOnCardForGivenMember, + callback: Callback + ): Promise; + /** Vote on the card for a given member. */ + async voteOnCardForGivenMember( + parameters: Parameters.VoteOnCardForGivenMember, + callback?: never + ): Promise; + async voteOnCardForGivenMember( + parameters: Parameters.VoteOnCardForGivenMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/membersVoted`, method: 'POST', @@ -425,31 +478,33 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'voteOnCardForGivenMember' }); + return this.client.sendRequest(config, callback); } - /** - * Get any shared pluginData on a card. */ + /** Get any shared pluginData on a card. */ async getCardPluginData(parameters: Parameters.GetCardPluginData, callback: Callback): Promise; - /** - * Get any shared pluginData on a card. */ - async getCardPluginData(parameters: Parameters.GetCardPluginData, callback?: undefined): Promise; - async getCardPluginData(parameters: Parameters.GetCardPluginData, callback?: Callback): Promise { + /** Get any shared pluginData on a card. */ + async getCardPluginData(parameters: Parameters.GetCardPluginData, callback?: never): Promise; + async getCardPluginData( + parameters: Parameters.GetCardPluginData, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/pluginData`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getCardPluginData' }); + return this.client.sendRequest(config, callback); } - /** - * Get the stickers on a card */ + /** Get the stickers on a card */ async getCardStickers(parameters: Parameters.GetCardStickers, callback: Callback): Promise; - /** - * Get the stickers on a card */ - async getCardStickers(parameters: Parameters.GetCardStickers, callback?: undefined): Promise; - async getCardStickers(parameters: Parameters.GetCardStickers, callback?: Callback): Promise { + /** Get the stickers on a card */ + async getCardStickers(parameters: Parameters.GetCardStickers, callback?: never): Promise; + async getCardStickers( + parameters: Parameters.GetCardStickers, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/stickers`, method: 'GET', @@ -459,16 +514,17 @@ export class Cards { data: parameters.body, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardStickers' }); + return this.client.sendRequest(config, callback); } - /** - * Add a sticker to a card */ + /** Add a sticker to a card */ async addStickerToCard(parameters: Parameters.AddStickerToCard, callback: Callback): Promise; - /** - * Add a sticker to a card */ - async addStickerToCard(parameters: Parameters.AddStickerToCard, callback?: undefined): Promise; - async addStickerToCard(parameters: Parameters.AddStickerToCard, callback?: Callback): Promise { + /** Add a sticker to a card */ + async addStickerToCard(parameters: Parameters.AddStickerToCard, callback?: never): Promise; + async addStickerToCard( + parameters: Parameters.AddStickerToCard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/stickers`, method: 'POST', @@ -481,15 +537,13 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'addStickerToCard' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific sticker on a card */ + /** Get a specific sticker on a card */ async getCardSticker(parameters: Parameters.GetCardSticker, callback: Callback): Promise; - /** - * Get a specific sticker on a card */ - async getCardSticker(parameters: Parameters.GetCardSticker, callback?: undefined): Promise; + /** Get a specific sticker on a card */ + async getCardSticker(parameters: Parameters.GetCardSticker, callback?: never): Promise; async getCardSticker(parameters: Parameters.GetCardSticker, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/stickers/${parameters.idSticker}`, @@ -499,16 +553,17 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getCardSticker' }); + return this.client.sendRequest(config, callback); } - /** - * Update a sticker on a card */ + /** Update a sticker on a card */ async updateCardSticker(parameters: Parameters.UpdateCardSticker, callback: Callback): Promise; - /** - * Update a sticker on a card */ - async updateCardSticker(parameters: Parameters.UpdateCardSticker, callback?: undefined): Promise; - async updateCardSticker(parameters: Parameters.UpdateCardSticker, callback?: Callback): Promise { + /** Update a sticker on a card */ + async updateCardSticker(parameters: Parameters.UpdateCardSticker, callback?: never): Promise; + async updateCardSticker( + parameters: Parameters.UpdateCardSticker, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/stickers/${parameters.idSticker}`, method: 'PUT', @@ -520,31 +575,33 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateCardSticker' }); + return this.client.sendRequest(config, callback); } - /** - * Remove a sticker from the card */ + /** Remove a sticker from the card */ async deleteCardSticker(parameters: Parameters.DeleteCardSticker, callback: Callback): Promise; - /** - * Remove a sticker from the card */ - async deleteCardSticker(parameters: Parameters.DeleteCardSticker, callback?: undefined): Promise; - async deleteCardSticker(parameters: Parameters.DeleteCardSticker, callback?: Callback): Promise { + /** Remove a sticker from the card */ + async deleteCardSticker(parameters: Parameters.DeleteCardSticker, callback?: never): Promise; + async deleteCardSticker( + parameters: Parameters.DeleteCardSticker, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/stickers/${parameters.idSticker}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardSticker' }); + return this.client.sendRequest(config, callback); } - /** - * Update an existing comment */ + /** Update an existing comment */ async updateCardComment(parameters: Parameters.UpdateCardComment, callback: Callback): Promise; - /** - * Update an existing comment */ - async updateCardComment(parameters: Parameters.UpdateCardComment, callback?: undefined): Promise; - async updateCardComment(parameters: Parameters.UpdateCardComment, callback?: Callback): Promise { + /** Update an existing comment */ + async updateCardComment(parameters: Parameters.UpdateCardComment, callback?: never): Promise; + async updateCardComment( + parameters: Parameters.UpdateCardComment, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/actions/${parameters.idAction}/comments`, method: 'PUT', @@ -553,61 +610,82 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateCardComment' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a comment */ + /** Delete a comment */ async deleteCardComment(parameters: Parameters.DeleteCardComment, callback: Callback): Promise; - /** - * Delete a comment */ - async deleteCardComment(parameters: Parameters.DeleteCardComment, callback?: undefined): Promise; - async deleteCardComment(parameters: Parameters.DeleteCardComment, callback?: Callback): Promise { + /** Delete a comment */ + async deleteCardComment(parameters: Parameters.DeleteCardComment, callback?: never): Promise; + async deleteCardComment( + parameters: Parameters.DeleteCardComment, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/actions/${parameters.idAction}/comments`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardComment' }); + return this.client.sendRequest(config, callback); } /** - * Setting, updating, and removing the value for a Custom Field on a card. For more details on updating custom fields check out the [Getting Started With Custom Fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/getting-started-with-custom-fields/) */ - async updateCardCustomField(parameters: Parameters.UpdateCardCustomField, callback: Callback): Promise; + * Setting, updating, and removing the value for a Custom Field on a card. For more details on updating custom fields + * check out the [Getting Started With Custom + * Fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/getting-started-with-custom-fields/) + */ + async updateCardCustomField( + parameters: Parameters.UpdateCardCustomField, + callback: Callback + ): Promise; /** - * Setting, updating, and removing the value for a Custom Field on a card. For more details on updating custom fields check out the [Getting Started With Custom Fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/getting-started-with-custom-fields/) */ - async updateCardCustomField(parameters: Parameters.UpdateCardCustomField, callback?: undefined): Promise; - async updateCardCustomField(parameters: Parameters.UpdateCardCustomField, callback?: Callback): Promise { + * Setting, updating, and removing the value for a Custom Field on a card. For more details on updating custom fields + * check out the [Getting Started With Custom + * Fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/getting-started-with-custom-fields/) + */ + async updateCardCustomField(parameters: Parameters.UpdateCardCustomField, callback?: never): Promise; + async updateCardCustomField( + parameters: Parameters.UpdateCardCustomField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.idCard}/customField/${parameters.idCustomField}/item`, method: 'PUT', }; - return this.client.sendRequest(config, callback, { methodName: 'updateCardCustomField' }); + return this.client.sendRequest(config, callback); } - /** - * Get the custom field items for a card. */ - async getCardCustomFields(parameters: Parameters.GetCardCustomFields, callback: Callback): Promise; - /** - * Get the custom field items for a card. */ - async getCardCustomFields(parameters: Parameters.GetCardCustomFields, callback?: undefined): Promise; - async getCardCustomFields(parameters: Parameters.GetCardCustomFields, callback?: Callback): Promise { + /** Get the custom field items for a card. */ + async getCardCustomFields( + parameters: Parameters.GetCardCustomFields, + callback: Callback + ): Promise; + /** Get the custom field items for a card. */ + async getCardCustomFields( + parameters: Parameters.GetCardCustomFields, + callback?: never + ): Promise; + async getCardCustomFields( + parameters: Parameters.GetCardCustomFields, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/customFieldItems`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getCardCustomFields' }); + return this.client.sendRequest(config, callback); } - /** - * Add a new comment to a card */ - async addCardComment(parameters: Parameters.AddCardComment, callback: Callback): Promise; - /** - * Add a new comment to a card */ - async addCardComment(parameters: Parameters.AddCardComment, callback?: undefined): Promise; - async addCardComment(parameters: Parameters.AddCardComment, callback?: Callback): Promise { + /** Add a new comment to a card */ + async addCardComment(parameters: Parameters.AddCardComment, callback: Callback): Promise; + /** Add a new comment to a card */ + async addCardComment(parameters: Parameters.AddCardComment, callback?: never): Promise; + async addCardComment( + parameters: Parameters.AddCardComment, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/actions/comments`, method: 'POST', @@ -616,15 +694,13 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'addCardComment' }); + return this.client.sendRequest(config, callback); } - /** - * Add a label to a card */ + /** Add a label to a card */ async addCardLabel(parameters: Parameters.AddCardLabel, callback: Callback): Promise; - /** - * Add a label to a card */ - async addCardLabel(parameters: Parameters.AddCardLabel, callback?: undefined): Promise; + /** Add a label to a card */ + async addCardLabel(parameters: Parameters.AddCardLabel, callback?: never): Promise; async addCardLabel(parameters: Parameters.AddCardLabel, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/idLabels`, @@ -634,15 +710,13 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'addCardLabel' }); + return this.client.sendRequest(config, callback); } - /** - * Add a member to a card */ + /** Add a member to a card */ async addCardMember(parameters: Parameters.AddCardMember, callback: Callback): Promise; - /** - * Add a member to a card */ - async addCardMember(parameters: Parameters.AddCardMember, callback?: undefined): Promise; + /** Add a member to a card */ + async addCardMember(parameters: Parameters.AddCardMember, callback?: never): Promise; async addCardMember(parameters: Parameters.AddCardMember, callback?: Callback): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/idMembers`, @@ -652,16 +726,17 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'addCardMember' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new label for the board and add it to the given card. */ + /** Create a new label for the board and add it to the given card. */ async createCardLabel(parameters: Parameters.CreateCardLabel, callback: Callback): Promise; - /** - * Create a new label for the board and add it to the given card. */ - async createCardLabel(parameters: Parameters.CreateCardLabel, callback?: undefined): Promise; - async createCardLabel(parameters: Parameters.CreateCardLabel, callback?: Callback): Promise { + /** Create a new label for the board and add it to the given card. */ + async createCardLabel(parameters: Parameters.CreateCardLabel, callback?: never): Promise; + async createCardLabel( + parameters: Parameters.CreateCardLabel, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/labels`, method: 'POST', @@ -671,76 +746,96 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createCardLabel' }); + return this.client.sendRequest(config, callback); } - /** - * Mark notifications about this card as read */ - async markCardNotificationAsRead(parameters: Parameters.MarkCardNotificationAsRead, callback: Callback): Promise; - /** - * Mark notifications about this card as read */ - async markCardNotificationAsRead(parameters: Parameters.MarkCardNotificationAsRead, callback?: undefined): Promise; - async markCardNotificationAsRead(parameters: Parameters.MarkCardNotificationAsRead, callback?: Callback): Promise { + /** Mark notifications about this card as read */ + async markCardNotificationAsRead( + parameters: Parameters.MarkCardNotificationAsRead, + callback: Callback + ): Promise; + /** Mark notifications about this card as read */ + async markCardNotificationAsRead( + parameters: Parameters.MarkCardNotificationAsRead, + callback?: never + ): Promise; + async markCardNotificationAsRead( + parameters: Parameters.MarkCardNotificationAsRead, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/markAssociatedNotificationsRead`, method: 'POST', }; - return this.client.sendRequest(config, callback, { methodName: 'markCardNotificationAsRead' }); + return this.client.sendRequest(config, callback); } - /** - * Remove a label from a card */ + /** Remove a label from a card */ async deleteCardLabel(parameters: Parameters.DeleteCardLabel, callback: Callback): Promise; - /** - * Remove a label from a card */ - async deleteCardLabel(parameters: Parameters.DeleteCardLabel, callback?: undefined): Promise; - async deleteCardLabel(parameters: Parameters.DeleteCardLabel, callback?: Callback): Promise { + /** Remove a label from a card */ + async deleteCardLabel(parameters: Parameters.DeleteCardLabel, callback?: never): Promise; + async deleteCardLabel( + parameters: Parameters.DeleteCardLabel, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/idLabels/${parameters.idLabel}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardLabel' }); + return this.client.sendRequest(config, callback); } - /** - * Remove a member from a card */ + /** Remove a member from a card */ async deleteCardMember(parameters: Parameters.DeleteCardMember, callback: Callback): Promise; - /** - * Remove a member from a card */ - async deleteCardMember(parameters: Parameters.DeleteCardMember, callback?: undefined): Promise; - async deleteCardMember(parameters: Parameters.DeleteCardMember, callback?: Callback): Promise { + /** Remove a member from a card */ + async deleteCardMember(parameters: Parameters.DeleteCardMember, callback?: never): Promise; + async deleteCardMember( + parameters: Parameters.DeleteCardMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/idMembers/${parameters.idMember}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardMember' }); + return this.client.sendRequest(config, callback); } - /** - * Remove a member's vote from a card */ - async deleteCardMemberVote(parameters: Parameters.DeleteCardMemberVote, callback: Callback): Promise; - /** - * Remove a member's vote from a card */ - async deleteCardMemberVote(parameters: Parameters.DeleteCardMemberVote, callback?: undefined): Promise; - async deleteCardMemberVote(parameters: Parameters.DeleteCardMemberVote, callback?: Callback): Promise { + /** Remove a member's vote from a card */ + async deleteCardMemberVote( + parameters: Parameters.DeleteCardMemberVote, + callback: Callback + ): Promise; + /** Remove a member's vote from a card */ + async deleteCardMemberVote(parameters: Parameters.DeleteCardMemberVote, callback?: never): Promise; + async deleteCardMemberVote( + parameters: Parameters.DeleteCardMemberVote, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/membersVoted/${parameters.idMember}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardMemberVote' }); + return this.client.sendRequest(config, callback); } - /** - * Update an item in a checklist on a card. */ - async updateCardChecklistItem(parameters: Parameters.UpdateCardChecklistItem, callback: Callback): Promise; - /** - * Update an item in a checklist on a card. */ - async updateCardChecklistItem(parameters: Parameters.UpdateCardChecklistItem, callback?: undefined): Promise; - async updateCardChecklistItem(parameters: Parameters.UpdateCardChecklistItem, callback?: Callback): Promise { + /** Update an item in a checklist on a card. */ + async updateCardChecklistItem( + parameters: Parameters.UpdateCardChecklistItem, + callback: Callback + ): Promise; + /** Update an item in a checklist on a card. */ + async updateCardChecklistItem( + parameters: Parameters.UpdateCardChecklistItem, + callback?: never + ): Promise; + async updateCardChecklistItem( + parameters: Parameters.UpdateCardChecklistItem, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.idCard}/checklist/${parameters.idChecklist}/checkItem/${parameters.idCheckItem}`, method: 'PUT', @@ -749,21 +844,25 @@ export class Cards { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateCardChecklistItem' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a checklist from a card */ - async deleteCardChecklist(parameters: Parameters.DeleteCardChecklist, callback: Callback): Promise; - /** - * Delete a checklist from a card */ - async deleteCardChecklist(parameters: Parameters.DeleteCardChecklist, callback?: undefined): Promise; - async deleteCardChecklist(parameters: Parameters.DeleteCardChecklist, callback?: Callback): Promise { + /** Delete a checklist from a card */ + async deleteCardChecklist( + parameters: Parameters.DeleteCardChecklist, + callback: Callback + ): Promise; + /** Delete a checklist from a card */ + async deleteCardChecklist(parameters: Parameters.DeleteCardChecklist, callback?: never): Promise; + async deleteCardChecklist( + parameters: Parameters.DeleteCardChecklist, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/cards/${parameters.id}/checklists/${parameters.idChecklist}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCardChecklist' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/checklists.ts b/src/api/checklists.ts index ffc0b25..cdad921 100644 --- a/src/api/checklists.ts +++ b/src/api/checklists.ts @@ -3,11 +3,14 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Checklists { - constructor(private client: Client) { } + constructor(private client: Client) {} async createChecklist(parameters: Parameters.CreateChecklist, callback: Callback): Promise; - async createChecklist(parameters: Parameters.CreateChecklist, callback?: undefined): Promise; - async createChecklist(parameters: Parameters.CreateChecklist, callback?: Callback): Promise { + async createChecklist(parameters: Parameters.CreateChecklist, callback?: never): Promise; + async createChecklist( + parameters: Parameters.CreateChecklist, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: '/checklists', method: 'POST', @@ -19,11 +22,11 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createChecklist' }); + return this.client.sendRequest(config, callback); } async getChecklist(parameters: Parameters.GetChecklist, callback: Callback): Promise; - async getChecklist(parameters: Parameters.GetChecklist, callback?: undefined): Promise; + async getChecklist(parameters: Parameters.GetChecklist, callback?: never): Promise; async getChecklist(parameters: Parameters.GetChecklist, callback?: Callback): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}`, @@ -36,16 +39,17 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getChecklist' }); + return this.client.sendRequest(config, callback); } - /** - * Update an existing checklist. */ + /** Update an existing checklist. */ async updateChecklist(parameters: Parameters.UpdateChecklist, callback: Callback): Promise; - /** - * Update an existing checklist. */ - async updateChecklist(parameters: Parameters.UpdateChecklist, callback?: undefined): Promise; - async updateChecklist(parameters: Parameters.UpdateChecklist, callback?: Callback): Promise { + /** Update an existing checklist. */ + async updateChecklist(parameters: Parameters.UpdateChecklist, callback?: never): Promise; + async updateChecklist( + parameters: Parameters.UpdateChecklist, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}`, method: 'PUT', @@ -55,38 +59,48 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateChecklist' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a checklist */ + /** Delete a checklist */ async deleteChecklist(parameters: Parameters.DeleteChecklist, callback: Callback): Promise; - /** - * Delete a checklist */ - async deleteChecklist(parameters: Parameters.DeleteChecklist, callback?: undefined): Promise; - async deleteChecklist(parameters: Parameters.DeleteChecklist, callback?: Callback): Promise { + /** Delete a checklist */ + async deleteChecklist(parameters: Parameters.DeleteChecklist, callback?: never): Promise; + async deleteChecklist( + parameters: Parameters.DeleteChecklist, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteChecklist' }); + return this.client.sendRequest(config, callback); } async getChecklistField(parameters: Parameters.GetChecklistField, callback: Callback): Promise; - async getChecklistField(parameters: Parameters.GetChecklistField, callback?: undefined): Promise; - async getChecklistField(parameters: Parameters.GetChecklistField, callback?: Callback): Promise { + async getChecklistField(parameters: Parameters.GetChecklistField, callback?: never): Promise; + async getChecklistField( + parameters: Parameters.GetChecklistField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getChecklistField' }); + return this.client.sendRequest(config, callback); } - async updateChecklistField(parameters: Parameters.UpdateChecklistField, callback: Callback): Promise; - async updateChecklistField(parameters: Parameters.UpdateChecklistField, callback?: undefined): Promise; - async updateChecklistField(parameters: Parameters.UpdateChecklistField, callback?: Callback): Promise { + async updateChecklistField( + parameters: Parameters.UpdateChecklistField, + callback: Callback + ): Promise; + async updateChecklistField(parameters: Parameters.UpdateChecklistField, callback?: never): Promise; + async updateChecklistField( + parameters: Parameters.UpdateChecklistField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/${parameters.field}`, method: 'PUT', @@ -95,12 +109,15 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateChecklistField' }); + return this.client.sendRequest(config, callback); } async getChecklistBoard(parameters: Parameters.GetChecklistBoard, callback: Callback): Promise; - async getChecklistBoard(parameters: Parameters.GetChecklistBoard, callback?: undefined): Promise; - async getChecklistBoard(parameters: Parameters.GetChecklistBoard, callback?: Callback): Promise { + async getChecklistBoard(parameters: Parameters.GetChecklistBoard, callback?: never): Promise; + async getChecklistBoard( + parameters: Parameters.GetChecklistBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/board`, method: 'GET', @@ -109,23 +126,35 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getChecklistBoard' }); + return this.client.sendRequest(config, callback); } async getChecklistCards(parameters: Parameters.GetChecklistCards, callback: Callback): Promise; - async getChecklistCards(parameters: Parameters.GetChecklistCards, callback?: undefined): Promise; - async getChecklistCards(parameters: Parameters.GetChecklistCards, callback?: Callback): Promise { + async getChecklistCards(parameters: Parameters.GetChecklistCards, callback?: never): Promise; + async getChecklistCards( + parameters: Parameters.GetChecklistCards, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/cards`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getChecklistCards' }); + return this.client.sendRequest(config, callback); } - async getChecklistCheckItems(parameters: Parameters.GetChecklistCheckItems, callback: Callback): Promise; - async getChecklistCheckItems(parameters: Parameters.GetChecklistCheckItems, callback?: undefined): Promise; - async getChecklistCheckItems(parameters: Parameters.GetChecklistCheckItems, callback?: Callback): Promise { + async getChecklistCheckItems( + parameters: Parameters.GetChecklistCheckItems, + callback: Callback + ): Promise; + async getChecklistCheckItems( + parameters: Parameters.GetChecklistCheckItems, + callback?: never + ): Promise; + async getChecklistCheckItems( + parameters: Parameters.GetChecklistCheckItems, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/checkItems`, method: 'GET', @@ -135,12 +164,21 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getChecklistCheckItems' }); + return this.client.sendRequest(config, callback); } - async createChecklistCheckItems(parameters: Parameters.CreateChecklistCheckItems, callback: Callback): Promise; - async createChecklistCheckItems(parameters: Parameters.CreateChecklistCheckItems, callback?: undefined): Promise; - async createChecklistCheckItems(parameters: Parameters.CreateChecklistCheckItems, callback?: Callback): Promise { + async createChecklistCheckItems( + parameters: Parameters.CreateChecklistCheckItems, + callback: Callback + ): Promise; + async createChecklistCheckItems( + parameters: Parameters.CreateChecklistCheckItems, + callback?: never + ): Promise; + async createChecklistCheckItems( + parameters: Parameters.CreateChecklistCheckItems, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/checkItems`, method: 'POST', @@ -151,12 +189,18 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createChecklistCheckItems' }); + return this.client.sendRequest(config, callback); } - async getChecklistCheckItem(parameters: Parameters.GetChecklistCheckItem, callback: Callback): Promise; - async getChecklistCheckItem(parameters: Parameters.GetChecklistCheckItem, callback?: undefined): Promise; - async getChecklistCheckItem(parameters: Parameters.GetChecklistCheckItem, callback?: Callback): Promise { + async getChecklistCheckItem( + parameters: Parameters.GetChecklistCheckItem, + callback: Callback + ): Promise; + async getChecklistCheckItem(parameters: Parameters.GetChecklistCheckItem, callback?: never): Promise; + async getChecklistCheckItem( + parameters: Parameters.GetChecklistCheckItem, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/checkItems/${parameters.idCheckItem}`, method: 'GET', @@ -165,21 +209,28 @@ export class Checklists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getChecklistCheckItem' }); + return this.client.sendRequest(config, callback); } - /** - * Remove an item from a checklist */ - async deleteChecklistCheckItem(parameters: Parameters.DeleteChecklistCheckItem, callback: Callback): Promise; - /** - * Remove an item from a checklist */ - async deleteChecklistCheckItem(parameters: Parameters.DeleteChecklistCheckItem, callback?: undefined): Promise; - async deleteChecklistCheckItem(parameters: Parameters.DeleteChecklistCheckItem, callback?: Callback): Promise { + /** Remove an item from a checklist */ + async deleteChecklistCheckItem( + parameters: Parameters.DeleteChecklistCheckItem, + callback: Callback + ): Promise; + /** Remove an item from a checklist */ + async deleteChecklistCheckItem( + parameters: Parameters.DeleteChecklistCheckItem, + callback?: never + ): Promise; + async deleteChecklistCheckItem( + parameters: Parameters.DeleteChecklistCheckItem, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/checklists/${parameters.id}/checkItems/${parameters.idCheckItem}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteChecklistCheckItem' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/customFields.ts b/src/api/customFields.ts index 079a20e..989cc97 100644 --- a/src/api/customFields.ts +++ b/src/api/customFields.ts @@ -4,15 +4,22 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class CustomFields { - constructor(private client: Client) { } - - /** - * Create a new Custom Field on a board. */ - async createCustomField(parameters?: Parameters.CreateCustomField, callback?: Callback): Promise; - /** - * Create a new Custom Field on a board. */ - async createCustomField(parameters?: Parameters.CreateCustomField, callback?: undefined): Promise; - async createCustomField(parameters?: Parameters.CreateCustomField, callback?: Callback): Promise { + constructor(private client: Client) {} + + /** Create a new Custom Field on a board. */ + async createCustomField( + parameters?: Parameters.CreateCustomField, + callback?: Callback + ): Promise; + /** Create a new Custom Field on a board. */ + async createCustomField( + parameters?: Parameters.CreateCustomField, + callback?: never + ): Promise; + async createCustomField( + parameters?: Parameters.CreateCustomField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: '/customFields', method: 'POST', @@ -27,27 +34,40 @@ export class CustomFields { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createCustomField' }); + return this.client.sendRequest(config, callback); } - async getCustomField(parameters: Parameters.GetCustomField, callback: Callback): Promise; - async getCustomField(parameters: Parameters.GetCustomField, callback?: undefined): Promise; - async getCustomField(parameters: Parameters.GetCustomField, callback?: Callback): Promise { + async getCustomField( + parameters: Parameters.GetCustomField, + callback: Callback + ): Promise; + async getCustomField(parameters: Parameters.GetCustomField, callback?: never): Promise; + async getCustomField( + parameters: Parameters.GetCustomField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/customFields/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getCustomField' }); + return this.client.sendRequest(config, callback); } - /** - * Update a Custom Field definition. */ - async updateCustomField(parameters: Parameters.UpdateCustomField, callback: Callback): Promise; - /** - * Update a Custom Field definition. */ - async updateCustomField(parameters: Parameters.UpdateCustomField, callback?: undefined): Promise; - async updateCustomField(parameters: Parameters.UpdateCustomField, callback?: Callback): Promise { + /** Update a Custom Field definition. */ + async updateCustomField( + parameters: Parameters.UpdateCustomField, + callback: Callback + ): Promise; + /** Update a Custom Field definition. */ + async updateCustomField( + parameters: Parameters.UpdateCustomField, + callback?: never + ): Promise; + async updateCustomField( + parameters: Parameters.UpdateCustomField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/customFields/${parameters.id}`, method: 'PUT', @@ -58,81 +78,101 @@ export class CustomFields { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateCustomField' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a Custom Field from a board. */ + /** Delete a Custom Field from a board. */ async deleteCustomField(parameters: Parameters.DeleteCustomField, callback: Callback): Promise; - /** - * Delete a Custom Field from a board. */ - async deleteCustomField(parameters: Parameters.DeleteCustomField, callback?: undefined): Promise; - async deleteCustomField(parameters: Parameters.DeleteCustomField, callback?: Callback): Promise { + /** Delete a Custom Field from a board. */ + async deleteCustomField(parameters: Parameters.DeleteCustomField, callback?: never): Promise; + async deleteCustomField( + parameters: Parameters.DeleteCustomField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/customFields/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCustomField' }); + return this.client.sendRequest(config, callback); } - /** - * Get the options of a drop down Custom Field */ - async getCustomFieldOptions(parameters: Parameters.GetCustomFieldOptions, callback: Callback): Promise; - /** - * Get the options of a drop down Custom Field */ - async getCustomFieldOptions(parameters: Parameters.GetCustomFieldOptions, callback?: undefined): Promise; - async getCustomFieldOptions(parameters: Parameters.GetCustomFieldOptions, callback?: Callback): Promise { + /** Get the options of a drop down Custom Field */ + async getCustomFieldOptions( + parameters: Parameters.GetCustomFieldOptions, + callback: Callback + ): Promise; + /** Get the options of a drop down Custom Field */ + async getCustomFieldOptions(parameters: Parameters.GetCustomFieldOptions, callback?: never): Promise; + async getCustomFieldOptions( + parameters: Parameters.GetCustomFieldOptions, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/customFields/${parameters.id}/options`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getCustomFieldOptions' }); + return this.client.sendRequest(config, callback); } - /** - * Add an option to a dropdown Custom Field */ - async addCustomFieldOption(parameters: Parameters.AddCustomFieldOption, callback: Callback): Promise; - /** - * Add an option to a dropdown Custom Field */ - async addCustomFieldOption(parameters: Parameters.AddCustomFieldOption, callback?: undefined): Promise; - async addCustomFieldOption(parameters: Parameters.AddCustomFieldOption, callback?: Callback): Promise { + /** Add an option to a dropdown Custom Field */ + async addCustomFieldOption( + parameters: Parameters.AddCustomFieldOption, + callback: Callback + ): Promise; + /** Add an option to a dropdown Custom Field */ + async addCustomFieldOption(parameters: Parameters.AddCustomFieldOption, callback?: never): Promise; + async addCustomFieldOption( + parameters: Parameters.AddCustomFieldOption, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/customFields/${parameters.id}/options`, method: 'POST', }; - return this.client.sendRequest(config, callback, { methodName: 'addCustomFieldOption' }); + return this.client.sendRequest(config, callback); } - /** - * Retrieve a specific, existing Option on a given dropdown-type Custom Field */ - async getCustomFieldsOption(parameters: Parameters.GetCustomFieldsOption, callback: Callback): Promise; - /** - * Retrieve a specific, existing Option on a given dropdown-type Custom Field */ - async getCustomFieldsOption(parameters: Parameters.GetCustomFieldsOption, callback?: undefined): Promise; - async getCustomFieldsOption(parameters: Parameters.GetCustomFieldsOption, callback?: Callback): Promise { + /** Retrieve a specific, existing Option on a given dropdown-type Custom Field */ + async getCustomFieldsOption( + parameters: Parameters.GetCustomFieldsOption, + callback: Callback + ): Promise; + /** Retrieve a specific, existing Option on a given dropdown-type Custom Field */ + async getCustomFieldsOption(parameters: Parameters.GetCustomFieldsOption, callback?: never): Promise; + async getCustomFieldsOption( + parameters: Parameters.GetCustomFieldsOption, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/customFields/${parameters.id}/options/${parameters.idCustomFieldOption}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getCustomFieldsOption' }); + return this.client.sendRequest(config, callback); } - /** - * Delete an option from a Custom Field dropdown. */ - async deleteCustomFieldsOption(parameters: Parameters.DeleteCustomFieldsOption, callback: Callback): Promise; - /** - * Delete an option from a Custom Field dropdown. */ - async deleteCustomFieldsOption(parameters: Parameters.DeleteCustomFieldsOption, callback?: undefined): Promise; - async deleteCustomFieldsOption(parameters: Parameters.DeleteCustomFieldsOption, callback?: Callback): Promise { + /** Delete an option from a Custom Field dropdown. */ + async deleteCustomFieldsOption( + parameters: Parameters.DeleteCustomFieldsOption, + callback: Callback + ): Promise; + /** Delete an option from a Custom Field dropdown. */ + async deleteCustomFieldsOption( + parameters: Parameters.DeleteCustomFieldsOption, + callback?: never + ): Promise; + async deleteCustomFieldsOption( + parameters: Parameters.DeleteCustomFieldsOption, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/customFields/${parameters.id}/options/${parameters.idCustomFieldOption}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteCustomFieldsOption' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/emoji.ts b/src/api/emoji.ts index 18f467d..664754a 100644 --- a/src/api/emoji.ts +++ b/src/api/emoji.ts @@ -4,14 +4,12 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Emoji { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * List available Emoji */ - async emoji(parameters?: Parameters.Emoji, callback?: Callback): Promise; - /** - * List available Emoji */ - async emoji(parameters?: Parameters.Emoji, callback?: undefined): Promise; + /** List available Emoji */ + async emoji(parameters: Parameters.Emoji | undefined, callback: Callback): Promise; + /** List available Emoji */ + async emoji(parameters?: Parameters.Emoji, callback?: never): Promise; async emoji(parameters?: Parameters.Emoji, callback?: Callback): Promise { const config: RequestConfig = { url: '/emoji', @@ -22,6 +20,6 @@ export class Emoji { }, }; - return this.client.sendRequest(config, callback, { methodName: 'emoji' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/enterprises.ts b/src/api/enterprises.ts index 0d1b324..264fe1b 100644 --- a/src/api/enterprises.ts +++ b/src/api/enterprises.ts @@ -4,60 +4,86 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Enterprises { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Get an enterprise by its ID. */ - async getEnterprise(parameters: Parameters.GetEnterprise, callback: Callback): Promise; - /** - * Get an enterprise by its ID. */ - async getEnterprise(parameters: Parameters.GetEnterprise, callback?: undefined): Promise; - async getEnterprise(parameters: Parameters.GetEnterprise, callback?: Callback): Promise { + /** Get an enterprise by its ID. */ + async getEnterprise( + parameters: Parameters.GetEnterprise, + callback: Callback + ): Promise; + /** Get an enterprise by its ID. */ + async getEnterprise(parameters: Parameters.GetEnterprise, callback?: never): Promise; + async getEnterprise( + parameters: Parameters.GetEnterprise, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}`, method: 'GET', params: { fields: parameters.fields, members: parameters.members, - member_fields: parameters.memberFields, - member_filter: parameters.memberFilter, - member_sort: parameters.memberSort, + member_fields: parameters.memberFields ?? parameters.member?.fields, + member_filter: parameters.memberFilter ?? parameters.member?.filter, + member_sort: parameters.memberSort ?? parameters.member?.sort, member_sortBy: parameters.memberSortBy, member_sortOrder: parameters.memberSortOrder, - member_startIndex: parameters.memberStartIndex, - member_count: parameters.memberCount, + member_startIndex: parameters.memberStartIndex ?? parameters.member?.startIndex, + member_count: parameters.memberCount ?? parameters.member?.count, organizations: parameters.organizations, - organization_fields: parameters.organizationFields, - organization_paid_accounts: parameters.organizationPaidAccounts, - organization_memberships: parameters.organizationMemberships, + organization_fields: parameters.organizationFields ?? parameters.organization?.fields, + organization_paid_accounts: parameters.organizationPaidAccounts ?? parameters.organization?.paidAccounts, + organization_memberships: parameters.organizationMemberships ?? parameters.organization?.memberships, }, }; - return this.client.sendRequest(config, callback, { methodName: 'getEnterprise' }); + return this.client.sendRequest(config, callback); } /** - * Returns an array of Actions related to the Enterprise object. Used for populating data sent to Google Sheets from an Enterprise's audit log page: https://trello.com/e/{enterprise_name}/admin/auditlog. An Enterprise admin token is required for this route. */ - async getEnterpriseAuditLog(parameters: Parameters.GetEnterpriseAuditLog, callback?: Callback): Promise; + * Returns an array of Actions related to the Enterprise object. Used for populating data sent to Google Sheets from + * an Enterprise's audit log page: https://trello.com/e/{enterprise_name}/admin/auditlog. An Enterprise admin token is + * required for this route. + */ + async getEnterpriseAuditLog( + parameters: Parameters.GetEnterpriseAuditLog, + callback?: Callback + ): Promise; /** - * Returns an array of Actions related to the Enterprise object. Used for populating data sent to Google Sheets from an Enterprise's audit log page: https://trello.com/e/{enterprise_name}/admin/auditlog. An Enterprise admin token is required for this route. */ - async getEnterpriseAuditLog(parameters: Parameters.GetEnterpriseAuditLog, callback?: undefined): Promise; - async getEnterpriseAuditLog(parameters: Parameters.GetEnterpriseAuditLog, callback?: Callback): Promise { + * Returns an array of Actions related to the Enterprise object. Used for populating data sent to Google Sheets from + * an Enterprise's audit log page: https://trello.com/e/{enterprise_name}/admin/auditlog. An Enterprise admin token is + * required for this route. + */ + async getEnterpriseAuditLog( + parameters: Parameters.GetEnterpriseAuditLog, + callback?: never + ): Promise; + async getEnterpriseAuditLog( + parameters: Parameters.GetEnterpriseAuditLog, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/auditlog`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getEnterpriseAuditLog' }); + return this.client.sendRequest(config, callback); } - /** - * Get an enterprise's admin members. */ - async getEnterpriseAdmins(parameters: Parameters.GetEnterpriseAdmins, callback: Callback): Promise; - /** - * Get an enterprise's admin members. */ - async getEnterpriseAdmins(parameters: Parameters.GetEnterpriseAdmins, callback?: undefined): Promise; - async getEnterpriseAdmins(parameters: Parameters.GetEnterpriseAdmins, callback?: Callback): Promise { + /** Get an enterprise's admin members. */ + async getEnterpriseAdmins( + parameters: Parameters.GetEnterpriseAdmins, + callback: Callback + ): Promise; + /** Get an enterprise's admin members. */ + async getEnterpriseAdmins( + parameters: Parameters.GetEnterpriseAdmins, + callback?: never + ): Promise; + async getEnterpriseAdmins( + parameters: Parameters.GetEnterpriseAdmins, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/admins`, method: 'GET', @@ -66,16 +92,23 @@ export class Enterprises { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getEnterpriseAdmins' }); + return this.client.sendRequest(config, callback); } - /** - * Get the signup URL for an enterprise. */ - async getEnterpriseSignupUrl(parameters: Parameters.GetEnterpriseSignupUrl, callback: Callback): Promise; - /** - * Get the signup URL for an enterprise. */ - async getEnterpriseSignupUrl(parameters: Parameters.GetEnterpriseSignupUrl, callback?: undefined): Promise; - async getEnterpriseSignupUrl(parameters: Parameters.GetEnterpriseSignupUrl, callback?: Callback): Promise { + /** Get the signup URL for an enterprise. */ + async getEnterpriseSignupUrl( + parameters: Parameters.GetEnterpriseSignupUrl, + callback: Callback + ): Promise; + /** Get the signup URL for an enterprise. */ + async getEnterpriseSignupUrl( + parameters: Parameters.GetEnterpriseSignupUrl, + callback?: never + ): Promise; + async getEnterpriseSignupUrl( + parameters: Parameters.GetEnterpriseSignupUrl, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/signupUrl`, method: 'GET', @@ -87,16 +120,23 @@ export class Enterprises { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getEnterpriseSignupUrl' }); + return this.client.sendRequest(config, callback); } - /** - * Get the members of an enterprise. */ - async getEnterpriseMembers(parameters: Parameters.GetEnterpriseMembers, callback: Callback): Promise; - /** - * Get the members of an enterprise. */ - async getEnterpriseMembers(parameters: Parameters.GetEnterpriseMembers, callback?: undefined): Promise; - async getEnterpriseMembers(parameters: Parameters.GetEnterpriseMembers, callback?: Callback): Promise { + /** Get the members of an enterprise. */ + async getEnterpriseMembers( + parameters: Parameters.GetEnterpriseMembers, + callback: Callback + ): Promise; + /** Get the members of an enterprise. */ + async getEnterpriseMembers( + parameters: Parameters.GetEnterpriseMembers, + callback?: never + ): Promise; + async getEnterpriseMembers( + parameters: Parameters.GetEnterpriseMembers, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/members`, method: 'GET', @@ -113,16 +153,23 @@ export class Enterprises { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getEnterpriseMembers' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific member of an enterprise by ID. */ - async getEnterpriseMember(parameters: Parameters.GetEnterpriseMember, callback: Callback): Promise; - /** - * Get a specific member of an enterprise by ID. */ - async getEnterpriseMember(parameters: Parameters.GetEnterpriseMember, callback?: undefined): Promise; - async getEnterpriseMember(parameters: Parameters.GetEnterpriseMember, callback?: Callback): Promise { + /** Get a specific member of an enterprise by ID. */ + async getEnterpriseMember( + parameters: Parameters.GetEnterpriseMember, + callback: Callback + ): Promise; + /** Get a specific member of an enterprise by ID. */ + async getEnterpriseMember( + parameters: Parameters.GetEnterpriseMember, + callback?: never + ): Promise; + async getEnterpriseMember( + parameters: Parameters.GetEnterpriseMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/members/${parameters.idMember}`, method: 'GET', @@ -133,31 +180,86 @@ export class Enterprises { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getEnterpriseMember' }); + return this.client.sendRequest(config, callback); } - /** - * Get whether an organization can be transferred to an enterprise. */ - async getEnterpriseTransferrableOrganization(parameters: Parameters.GetEnterpriseTransferrableOrganization, callback: Callback): Promise; - /** - * Get whether an organization can be transferred to an enterprise. */ - async getEnterpriseTransferrableOrganization(parameters: Parameters.GetEnterpriseTransferrableOrganization, callback?: undefined): Promise; - async getEnterpriseTransferrableOrganization(parameters: Parameters.GetEnterpriseTransferrableOrganization, callback?: Callback): Promise { + /** Get whether an organization can be transferred to an enterprise. */ + async getEnterpriseTransferrableOrganization( + parameters: Parameters.GetEnterpriseTransferrableOrganization, + callback: Callback + ): Promise; + /** Get whether an organization can be transferred to an enterprise. */ + async getEnterpriseTransferrableOrganization( + parameters: Parameters.GetEnterpriseTransferrableOrganization, + callback?: never + ): Promise; + async getEnterpriseTransferrableOrganization( + parameters: Parameters.GetEnterpriseTransferrableOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/transferrable/organization/${parameters.idOrganization}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getEnterpriseTransferrableOrganization' }); + return this.client.sendRequest(config, callback); } - /** - * Create an auth Token for an Enterprise. */ - async createEnterpriseToken(parameters: Parameters.CreateEnterpriseToken, callback: Callback): Promise; - /** - * Create an auth Token for an Enterprise. */ - async createEnterpriseToken(parameters: Parameters.CreateEnterpriseToken, callback?: undefined): Promise; - async createEnterpriseToken(parameters: Parameters.CreateEnterpriseToken, callback?: Callback): Promise { + /** Get the Workspaces that are claimable by the enterprise by ID. */ + async getEnterprisesIdClaimableOrganizations( + parameters: Parameters.GetEnterprisesIdClaimableOrganizations, + callback: Callback + ): Promise; + /** Get the Workspaces that are claimable by the enterprise by ID. */ + async getEnterprisesIdClaimableOrganizations( + parameters: Parameters.GetEnterprisesIdClaimableOrganizations, + callback?: never + ): Promise; + async getEnterprisesIdClaimableOrganizations( + parameters: Parameters.GetEnterprisesIdClaimableOrganizations, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/enterprises/${parameters.id}/claimableOrganizations`, + method: 'GET', + }; + + return this.client.sendRequest(config, callback); + } + + /** Get the Workspaces that are pending for the enterprise by ID. */ + async getEnterprisesIdPendingOrganizations( + parameters: Parameters.GetEnterprisesIdPendingOrganizations, + callback: Callback + ): Promise; + /** Get the Workspaces that are pending for the enterprise by ID. */ + async getEnterprisesIdPendingOrganizations( + parameters: Parameters.GetEnterprisesIdPendingOrganizations, + callback?: never + ): Promise; + async getEnterprisesIdPendingOrganizations( + parameters: Parameters.GetEnterprisesIdPendingOrganizations, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/enterprises/${parameters.id}/pendingOrganizations`, + method: 'GET', + }; + + return this.client.sendRequest(config, callback); + } + + /** Create an auth Token for an Enterprise. */ + async createEnterpriseToken( + parameters: Parameters.CreateEnterpriseToken, + callback: Callback + ): Promise; + /** Create an auth Token for an Enterprise. */ + async createEnterpriseToken(parameters: Parameters.CreateEnterpriseToken, callback?: never): Promise; + async createEnterpriseToken( + parameters: Parameters.CreateEnterpriseToken, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/tokens`, method: 'POST', @@ -166,16 +268,23 @@ export class Enterprises { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createEnterpriseToken' }); + return this.client.sendRequest(config, callback); } - /** - * Transfer an organization to an enterprise. */ - async transferOrganizationToEnterprise(parameters: Parameters.TransferOrganizationToEnterprise, callback: Callback): Promise; - /** - * Transfer an organization to an enterprise. */ - async transferOrganizationToEnterprise(parameters: Parameters.TransferOrganizationToEnterprise, callback?: undefined): Promise; - async transferOrganizationToEnterprise(parameters: Parameters.TransferOrganizationToEnterprise, callback?: Callback): Promise { + /** Transfer an organization to an enterprise. */ + async transferOrganizationToEnterprise>( + parameters: Parameters.TransferOrganizationToEnterprise, + callback: Callback + ): Promise; + /** Transfer an organization to an enterprise. */ + async transferOrganizationToEnterprise>( + parameters: Parameters.TransferOrganizationToEnterprise, + callback?: never + ): Promise; + async transferOrganizationToEnterprise>( + parameters: Parameters.TransferOrganizationToEnterprise, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/organizations`, method: 'PUT', @@ -184,34 +293,48 @@ export class Enterprises { }, }; - return this.client.sendRequest(config, callback, { methodName: 'transferOrganizationToEnterprise' }); + return this.client.sendRequest(config, callback); } - /** - * This endpoint is used to update whether the provided Member should use one of the Enterprise's available licenses or not. */ - async updateEnterpriseMemberLicense(parameters: Parameters.UpdateEnterpriseMemberLicense, callback: Callback): Promise; - /** - * This endpoint is used to update whether the provided Member should use one of the Enterprise's available licenses or not. */ - async updateEnterpriseMemberLicense(parameters: Parameters.UpdateEnterpriseMemberLicense, callback?: undefined): Promise; - async updateEnterpriseMemberLicense(parameters: Parameters.UpdateEnterpriseMemberLicense, callback?: Callback): Promise { + /** This endpoint is used to update whether the provided Member should use one of the Enterprise's available licenses or not. */ + async updateEnterpriseMemberLicense( + parameters: Parameters.UpdateEnterpriseMemberLicense, + callback: Callback + ): Promise; + /** This endpoint is used to update whether the provided Member should use one of the Enterprise's available licenses or not. */ + async updateEnterpriseMemberLicense( + parameters: Parameters.UpdateEnterpriseMemberLicense, + callback?: never + ): Promise; + async updateEnterpriseMemberLicense( + parameters: Parameters.UpdateEnterpriseMemberLicense, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/members/${parameters.idMember}/licensed`, method: 'PUT', params: { - Values: parameters.values, + value: parameters.values ?? parameters.value, }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateEnterpriseMemberLicense' }); + return this.client.sendRequest(config, callback); } - /** - * Deactivate a Member of an Enterprise. */ - async deactivateEnterpriseMember(parameters: Parameters.DeactivateEnterpriseMember, callback: Callback): Promise; - /** - * Deactivate a Member of an Enterprise. */ - async deactivateEnterpriseMember(parameters: Parameters.DeactivateEnterpriseMember, callback?: undefined): Promise; - async deactivateEnterpriseMember(parameters: Parameters.DeactivateEnterpriseMember, callback?: Callback): Promise { + /** Deactivate a Member of an Enterprise. */ + async deactivateEnterpriseMember( + parameters: Parameters.DeactivateEnterpriseMember, + callback: Callback + ): Promise; + /** Deactivate a Member of an Enterprise. */ + async deactivateEnterpriseMember( + parameters: Parameters.DeactivateEnterpriseMember, + callback?: never + ): Promise; + async deactivateEnterpriseMember( + parameters: Parameters.DeactivateEnterpriseMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/members/${parameters.idMember}/deactivated`, method: 'PUT', @@ -223,51 +346,72 @@ export class Enterprises { }, }; - return this.client.sendRequest(config, callback, { methodName: 'deactivateEnterpriseMember' }); + return this.client.sendRequest(config, callback); } - /** - * Make Member an admin of Enterprise. */ - async makeEnterpriseMemberAdmin(parameters: Parameters.MakeEnterpriseMemberAdmin, callback: Callback): Promise; - /** - * Make Member an admin of Enterprise. */ - async makeEnterpriseMemberAdmin(parameters: Parameters.MakeEnterpriseMemberAdmin, callback?: undefined): Promise; - async makeEnterpriseMemberAdmin(parameters: Parameters.MakeEnterpriseMemberAdmin, callback?: Callback): Promise { + /** Make Member an admin of Enterprise. */ + async makeEnterpriseMemberAdmin( + parameters: Parameters.MakeEnterpriseMemberAdmin, + callback: Callback + ): Promise; + /** Make Member an admin of Enterprise. */ + async makeEnterpriseMemberAdmin( + parameters: Parameters.MakeEnterpriseMemberAdmin, + callback?: never + ): Promise; + async makeEnterpriseMemberAdmin( + parameters: Parameters.MakeEnterpriseMemberAdmin, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/enterprises/${parameters.id}/admins/${parameters.idMember}`, method: 'PUT', }; - return this.client.sendRequest(config, callback, { methodName: 'makeEnterpriseMemberAdmin' }); + return this.client.sendRequest(config, callback); } - /** - * Remove an organization from an enterprise. */ - async deleteEnterpriseOrganization(parameters: Parameters.DeleteEnterpriseOrganization, callback: Callback): Promise; - /** - * Remove an organization from an enterprise. */ - async deleteEnterpriseOrganization(parameters: Parameters.DeleteEnterpriseOrganization, callback?: undefined): Promise; - async deleteEnterpriseOrganization(parameters: Parameters.DeleteEnterpriseOrganization, callback?: Callback): Promise { + /** Remove a member as admin from an enterprise. */ + async deleteEnterpriseMemberAdmin( + parameters: Parameters.DeleteEnterpriseMemberAdmin, + callback: Callback + ): Promise; + /** Remove a member as admin from an enterprise. */ + async deleteEnterpriseMemberAdmin( + parameters: Parameters.DeleteEnterpriseMemberAdmin, + callback?: never + ): Promise; + async deleteEnterpriseMemberAdmin( + parameters: Parameters.DeleteEnterpriseMemberAdmin, + callback?: Callback, + ): Promise { const config: RequestConfig = { - url: `/enterprises/${parameters.id}/organizations/${parameters.idOrg}`, + url: `/enterprises/${parameters.id}/admins/${parameters.idMember}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteEnterpriseOrganization' }); + return this.client.sendRequest(config, callback); } - /** - * Remove an member as admin from an enterprise. */ - async deleteEnterpriseMemberAdmin(parameters: Parameters.DeleteEnterpriseMemberAdmin, callback: Callback): Promise; - /** - * Remove an member as admin from an enterprise. */ - async deleteEnterpriseMemberAdmin(parameters: Parameters.DeleteEnterpriseMemberAdmin, callback?: undefined): Promise; - async deleteEnterpriseMemberAdmin(parameters: Parameters.DeleteEnterpriseMemberAdmin, callback?: Callback): Promise { + /** Remove an organization from an enterprise. */ + async deleteEnterpriseOrganization( + parameters: Parameters.DeleteEnterpriseOrganization, + callback: Callback + ): Promise; + /** Remove an organization from an enterprise. */ + async deleteEnterpriseOrganization( + parameters: Parameters.DeleteEnterpriseOrganization, + callback?: never + ): Promise; + async deleteEnterpriseOrganization( + parameters: Parameters.DeleteEnterpriseOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { - url: `/enterprises/${parameters.id}/organizations/${parameters.idMember}`, + url: `/enterprises/${parameters.id}/organizations/${parameters.idOrg}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteEnterpriseMemberAdmin' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/labels.ts b/src/api/labels.ts index 5d3ce7d..1e5d5bb 100644 --- a/src/api/labels.ts +++ b/src/api/labels.ts @@ -3,14 +3,12 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Labels { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Get information about a single Label. */ + /** Get information about a single Label. */ async getLabel(parameters: Parameters.GetLabel, callback: Callback): Promise; - /** - * Get information about a single Label. */ - async getLabel(parameters: Parameters.GetLabel, callback?: undefined): Promise; + /** Get information about a single Label. */ + async getLabel(parameters: Parameters.GetLabel, callback?: never): Promise; async getLabel(parameters: Parameters.GetLabel, callback?: Callback): Promise { const config: RequestConfig = { url: `/labels/${parameters.id}`, @@ -20,15 +18,13 @@ export class Labels { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getLabel' }); + return this.client.sendRequest(config, callback); } - /** - * Update a label by ID. */ + /** Update a label by ID. */ async updateLabel(parameters: Parameters.UpdateLabel, callback: Callback): Promise; - /** - * Update a label by ID. */ - async updateLabel(parameters: Parameters.UpdateLabel, callback?: undefined): Promise; + /** Update a label by ID. */ + async updateLabel(parameters: Parameters.UpdateLabel, callback?: never): Promise; async updateLabel(parameters: Parameters.UpdateLabel, callback?: Callback): Promise { const config: RequestConfig = { url: `/labels/${parameters.id}`, @@ -39,31 +35,30 @@ export class Labels { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateLabel' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a label by ID. */ + /** Delete a label by ID. */ async deleteLabel(parameters: Parameters.DeleteLabel, callback: Callback): Promise; - /** - * Delete a label by ID. */ - async deleteLabel(parameters: Parameters.DeleteLabel, callback?: undefined): Promise; + /** Delete a label by ID. */ + async deleteLabel(parameters: Parameters.DeleteLabel, callback?: never): Promise; async deleteLabel(parameters: Parameters.DeleteLabel, callback?: Callback): Promise { const config: RequestConfig = { url: `/labels/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteLabel' }); + return this.client.sendRequest(config, callback); } - /** - * Update a field on a label. */ + /** Update a field on a label. */ async updateLabelField(parameters: Parameters.UpdateLabelField, callback: Callback): Promise; - /** - * Update a field on a label. */ - async updateLabelField(parameters: Parameters.UpdateLabelField, callback?: undefined): Promise; - async updateLabelField(parameters: Parameters.UpdateLabelField, callback?: Callback): Promise { + /** Update a field on a label. */ + async updateLabelField(parameters: Parameters.UpdateLabelField, callback?: never): Promise; + async updateLabelField( + parameters: Parameters.UpdateLabelField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/labels/${parameters.id}/${parameters.field}`, method: 'PUT', @@ -72,15 +67,13 @@ export class Labels { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateLabelField' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new Label on a Board. */ + /** Create a new Label on a Board. */ async createLabel(parameters: Parameters.CreateLabel, callback: Callback): Promise; - /** - * Create a new Label on a Board. */ - async createLabel(parameters: Parameters.CreateLabel, callback?: undefined): Promise; + /** Create a new Label on a Board. */ + async createLabel(parameters: Parameters.CreateLabel, callback?: never): Promise; async createLabel(parameters: Parameters.CreateLabel, callback?: Callback): Promise { const config: RequestConfig = { url: '/labels', @@ -92,6 +85,6 @@ export class Labels { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createLabel' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/lists.ts b/src/api/lists.ts index 5e181b5..f746019 100644 --- a/src/api/lists.ts +++ b/src/api/lists.ts @@ -1,16 +1,15 @@ +import * as Models from './models'; import * as Parameters from './parameters'; import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Lists { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Get information about a List */ + /** Get information about a List */ async getList(parameters: Parameters.GetList, callback: Callback): Promise; - /** - * Get information about a List */ - async getList(parameters: Parameters.GetList, callback?: undefined): Promise; + /** Get information about a List */ + async getList(parameters: Parameters.GetList, callback?: never): Promise; async getList(parameters: Parameters.GetList, callback?: Callback): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}`, @@ -20,15 +19,13 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getList' }); + return this.client.sendRequest(config, callback); } - /** - * Update the properties of a List */ + /** Update the properties of a List */ async updateList(parameters: Parameters.UpdateList, callback: Callback): Promise; - /** - * Update the properties of a List */ - async updateList(parameters: Parameters.UpdateList, callback?: undefined): Promise; + /** Update the properties of a List */ + async updateList(parameters: Parameters.UpdateList, callback?: never): Promise; async updateList(parameters: Parameters.UpdateList, callback?: Callback): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}`, @@ -42,15 +39,13 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateList' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new List on a Board */ + /** Create a new List on a Board */ async createList(parameters: Parameters.CreateList, callback: Callback): Promise; - /** - * Create a new List on a Board */ - async createList(parameters: Parameters.CreateList, callback?: undefined): Promise; + /** Create a new List on a Board */ + async createList(parameters: Parameters.CreateList, callback?: never): Promise; async createList(parameters: Parameters.CreateList, callback?: Callback): Promise { const config: RequestConfig = { url: '/lists', @@ -63,31 +58,39 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createList' }); + return this.client.sendRequest(config, callback); } - /** - * Archive all cards in a list */ - async archiveAllCardsInList(parameters: Parameters.ArchiveAllCardsInList, callback: Callback): Promise; - /** - * Archive all cards in a list */ - async archiveAllCardsInList(parameters: Parameters.ArchiveAllCardsInList, callback?: undefined): Promise; - async archiveAllCardsInList(parameters: Parameters.ArchiveAllCardsInList, callback?: Callback): Promise { + /** Archive all cards in a list */ + async archiveAllCardsInList( + parameters: Parameters.ArchiveAllCardsInList, + callback: Callback + ): Promise; + /** Archive all cards in a list */ + async archiveAllCardsInList(parameters: Parameters.ArchiveAllCardsInList, callback?: never): Promise; + async archiveAllCardsInList( + parameters: Parameters.ArchiveAllCardsInList, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/archiveAllCards`, method: 'POST', }; - return this.client.sendRequest(config, callback, { methodName: 'archiveAllCardsInList' }); + return this.client.sendRequest(config, callback); } - /** - * Move all Cards in a List */ - async moveAllCardsInList(parameters: Parameters.MoveAllCardsInList, callback: Callback): Promise; - /** - * Move all Cards in a List */ - async moveAllCardsInList(parameters: Parameters.MoveAllCardsInList, callback?: undefined): Promise; - async moveAllCardsInList(parameters: Parameters.MoveAllCardsInList, callback?: Callback): Promise { + /** Move all Cards in a List */ + async moveAllCardsInList( + parameters: Parameters.MoveAllCardsInList, + callback: Callback + ): Promise; + /** Move all Cards in a List */ + async moveAllCardsInList(parameters: Parameters.MoveAllCardsInList, callback?: never): Promise; + async moveAllCardsInList( + parameters: Parameters.MoveAllCardsInList, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/moveAllCards`, method: 'POST', @@ -97,16 +100,17 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'moveAllCardsInList' }); + return this.client.sendRequest(config, callback); } - /** - * Archive or unarchive a list */ + /** Archive or unarchive a list */ async setListCloseState(parameters: Parameters.SetListCloseState, callback: Callback): Promise; - /** - * Archive or unarchive a list */ - async setListCloseState(parameters: Parameters.SetListCloseState, callback?: undefined): Promise; - async setListCloseState(parameters: Parameters.SetListCloseState, callback?: Callback): Promise { + /** Archive or unarchive a list */ + async setListCloseState(parameters: Parameters.SetListCloseState, callback?: never): Promise; + async setListCloseState( + parameters: Parameters.SetListCloseState, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/closed`, method: 'PUT', @@ -115,16 +119,23 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'setListCloseState' }); + return this.client.sendRequest(config, callback); } - /** - * Move a List to a different Board */ - async moveListToDifferentBoard(parameters: Parameters.MoveListToDifferentBoard, callback: Callback): Promise; - /** - * Move a List to a different Board */ - async moveListToDifferentBoard(parameters: Parameters.MoveListToDifferentBoard, callback?: undefined): Promise; - async moveListToDifferentBoard(parameters: Parameters.MoveListToDifferentBoard, callback?: Callback): Promise { + /** Move a List to a different Board */ + async moveListToDifferentBoard( + parameters: Parameters.MoveListToDifferentBoard, + callback: Callback + ): Promise; + /** Move a List to a different Board */ + async moveListToDifferentBoard( + parameters: Parameters.MoveListToDifferentBoard, + callback?: never + ): Promise; + async moveListToDifferentBoard( + parameters: Parameters.MoveListToDifferentBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/idBoard`, method: 'PUT', @@ -133,15 +144,13 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'moveListToDifferentBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Rename a list */ + /** Rename a list */ async renameList(parameters: Parameters.RenameList, callback: Callback): Promise; - /** - * Rename a list */ - async renameList(parameters: Parameters.RenameList, callback?: undefined): Promise; + /** Rename a list */ + async renameList(parameters: Parameters.RenameList, callback?: never): Promise; async renameList(parameters: Parameters.RenameList, callback?: Callback): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/${parameters.field}`, @@ -151,15 +160,13 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'renameList' }); + return this.client.sendRequest(config, callback); } - /** - * Get the Actions on a List */ + /** Get the Actions on a List */ async getListActions(parameters: Parameters.GetListActions, callback: Callback): Promise; - /** - * Get the Actions on a List */ - async getListActions(parameters: Parameters.GetListActions, callback?: undefined): Promise; + /** Get the Actions on a List */ + async getListActions(parameters: Parameters.GetListActions, callback?: never): Promise; async getListActions(parameters: Parameters.GetListActions, callback?: Callback): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/actions`, @@ -169,15 +176,13 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getListActions' }); + return this.client.sendRequest(config, callback); } - /** - * Get the board a list is on */ + /** Get the board a list is on */ async getListBoard(parameters: Parameters.GetListBoard, callback: Callback): Promise; - /** - * Get the board a list is on */ - async getListBoard(parameters: Parameters.GetListBoard, callback?: undefined): Promise; + /** Get the board a list is on */ + async getListBoard(parameters: Parameters.GetListBoard, callback?: never): Promise; async getListBoard(parameters: Parameters.GetListBoard, callback?: Callback): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/board`, @@ -187,21 +192,22 @@ export class Lists { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getListBoard' }); + return this.client.sendRequest(config, callback); } - /** - * List the cards in a list */ - async getListCards(parameters: Parameters.GetListCards, callback: Callback): Promise; - /** - * List the cards in a list */ - async getListCards(parameters: Parameters.GetListCards, callback?: undefined): Promise; - async getListCards(parameters: Parameters.GetListCards, callback?: Callback): Promise { + /** List the cards in a list */ + async getListCards(parameters: Parameters.GetListCards, callback: Callback): Promise; + /** List the cards in a list */ + async getListCards(parameters: Parameters.GetListCards, callback?: never): Promise; + async getListCards( + parameters: Parameters.GetListCards, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/lists/${parameters.id}/cards`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getListCards' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/members.ts b/src/api/members.ts index 8790e31..5e57cb4 100644 --- a/src/api/members.ts +++ b/src/api/members.ts @@ -4,15 +4,13 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Members { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Get a member */ - async getMember(parameters: Parameters.GetMember, callback: Callback): Promise; - /** - * Get a member */ - async getMember(parameters: Parameters.GetMember, callback?: undefined): Promise; - async getMember(parameters: Parameters.GetMember, callback?: Callback): Promise { + /** Get a member */ + async getMember(parameters: Parameters.GetMember, callback: Callback): Promise; + /** Get a member */ + async getMember(parameters: Parameters.GetMember, callback?: never): Promise; + async getMember(parameters: Parameters.GetMember, callback?: Callback): Promise { const config: RequestConfig = { url: `/members/${parameters.id}`, method: 'GET', @@ -30,8 +28,8 @@ export class Members { fields: parameters.fields, notifications: parameters.notifications, organizations: parameters.organizations, - organization_fields: parameters.organizationFields, - organization_paid_account: parameters.organizationPaidAccount, + organization_fields: parameters.organizationFields ?? parameters.organization?.fields, + organization_paid_account: parameters.organizationPaidAccount ?? parameters.organization?.paidAccount, organizationsInvited: parameters.organizationsInvited, organizationsInvited_fields: parameters.organizationsInvitedFields, paid_account: parameters.paidAccount, @@ -40,15 +38,13 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMember' }); + return this.client.sendRequest(config, callback); } - /** - * Update a Member */ + /** Update a Member */ async updateMember(parameters: Parameters.UpdateMember, callback: Callback): Promise; - /** - * Update a Member */ - async updateMember(parameters: Parameters.UpdateMember, callback?: undefined): Promise; + /** Update a Member */ + async updateMember(parameters: Parameters.UpdateMember, callback?: never): Promise; async updateMember(parameters: Parameters.UpdateMember, callback?: Callback): Promise { const config: RequestConfig = { url: `/members/${parameters.id}`, @@ -65,31 +61,36 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateMember' }); + return this.client.sendRequest(config, callback); } - /** - * Get a particular property of a member */ + /** Get a particular property of a member */ async getMemberField(parameters: Parameters.GetMemberField, callback: Callback): Promise; - /** - * Get a particular property of a member */ - async getMemberField(parameters: Parameters.GetMemberField, callback?: undefined): Promise; + /** Get a particular property of a member */ + async getMemberField(parameters: Parameters.GetMemberField, callback?: never): Promise; async getMemberField(parameters: Parameters.GetMemberField, callback?: Callback): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberField' }); + return this.client.sendRequest(config, callback); } - /** - * List the actions for a member */ - async getMemberActions(parameters: Parameters.GetMemberActions, callback: Callback): Promise; - /** - * List the actions for a member */ - async getMemberActions(parameters: Parameters.GetMemberActions, callback?: undefined): Promise; - async getMemberActions(parameters: Parameters.GetMemberActions, callback?: Callback): Promise { + /** List the actions for a member */ + async getMemberActions>( + parameters: Parameters.GetMemberActions, + callback: Callback + ): Promise; + /** List the actions for a member */ + async getMemberActions>( + parameters: Parameters.GetMemberActions, + callback?: never + ): Promise; + async getMemberActions>( + parameters: Parameters.GetMemberActions, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/actions`, method: 'GET', @@ -98,16 +99,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberActions' }); + return this.client.sendRequest(config, callback); } - /** - * Get a member's custom board backgrounds */ - async getMemberBoardBackgrounds(parameters: Parameters.GetMemberBoardBackgrounds, callback: Callback): Promise; - /** - * Get a member's custom board backgrounds */ - async getMemberBoardBackgrounds(parameters: Parameters.GetMemberBoardBackgrounds, callback?: undefined): Promise; - async getMemberBoardBackgrounds(parameters: Parameters.GetMemberBoardBackgrounds, callback?: Callback): Promise { + /** Get a member's custom board backgrounds */ + async getMemberBoardBackgrounds>( + parameters: Parameters.GetMemberBoardBackgrounds, + callback: Callback + ): Promise; + /** Get a member's custom board backgrounds */ + async getMemberBoardBackgrounds>( + parameters: Parameters.GetMemberBoardBackgrounds, + callback?: never + ): Promise; + async getMemberBoardBackgrounds>( + parameters: Parameters.GetMemberBoardBackgrounds, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardBackgrounds`, method: 'GET', @@ -116,16 +124,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberBoardBackgrounds' }); + return this.client.sendRequest(config, callback); } - /** - * Upload a new boardBackground */ - async uploadMemberBoardBackground(parameters: Parameters.UploadMemberBoardBackground, callback: Callback): Promise; - /** - * Upload a new boardBackground */ - async uploadMemberBoardBackground(parameters: Parameters.UploadMemberBoardBackground, callback?: undefined): Promise; - async uploadMemberBoardBackground(parameters: Parameters.UploadMemberBoardBackground, callback?: Callback): Promise { + /** Upload a new boardBackground */ + async uploadMemberBoardBackground>( + parameters: Parameters.UploadMemberBoardBackground, + callback: Callback + ): Promise; + /** Upload a new boardBackground */ + async uploadMemberBoardBackground>( + parameters: Parameters.UploadMemberBoardBackground, + callback?: never + ): Promise; + async uploadMemberBoardBackground>( + parameters: Parameters.UploadMemberBoardBackground, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardBackgrounds`, method: 'POST', @@ -134,16 +149,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'uploadMemberBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * Get a member's board background */ - async getMemberBoardBackground(parameters: Parameters.GetMemberBoardBackground, callback: Callback): Promise; - /** - * Get a member's board background */ - async getMemberBoardBackground(parameters: Parameters.GetMemberBoardBackground, callback?: undefined): Promise; - async getMemberBoardBackground(parameters: Parameters.GetMemberBoardBackground, callback?: Callback): Promise { + /** Get a member's board background */ + async getMemberBoardBackground( + parameters: Parameters.GetMemberBoardBackground, + callback: Callback + ): Promise; + /** Get a member's board background */ + async getMemberBoardBackground( + parameters: Parameters.GetMemberBoardBackground, + callback?: never + ): Promise; + async getMemberBoardBackground( + parameters: Parameters.GetMemberBoardBackground, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardBackgrounds/${parameters.idBackground}`, method: 'GET', @@ -152,16 +174,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * Update a board background */ - async updateBoardBackground(parameters: Parameters.UpdateBoardBackground, callback: Callback): Promise; - /** - * Update a board background */ - async updateBoardBackground(parameters: Parameters.UpdateBoardBackground, callback?: undefined): Promise; - async updateBoardBackground(parameters: Parameters.UpdateBoardBackground, callback?: Callback): Promise { + /** Update a board background */ + async updateBoardBackground( + parameters: Parameters.UpdateBoardBackground, + callback: Callback + ): Promise; + /** Update a board background */ + async updateBoardBackground( + parameters: Parameters.UpdateBoardBackground, + callback?: never + ): Promise; + async updateBoardBackground( + parameters: Parameters.UpdateBoardBackground, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardBackgrounds/${parameters.idBackground}`, method: 'PUT', @@ -171,46 +200,61 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a board background */ - async deleteMemberBoardBackground(parameters: Parameters.DeleteMemberBoardBackgroud, callback: Callback): Promise; - /** - * Delete a board background */ - async deleteMemberBoardBackground(parameters: Parameters.DeleteMemberBoardBackgroud, callback?: undefined): Promise; - async deleteMemberBoardBackground(parameters: Parameters.DeleteMemberBoardBackgroud, callback?: Callback): Promise { + /** Delete a board background */ + async deleteMemberBoardBackground( + parameters: Parameters.DeleteMemberBoardBackgroud, + callback: Callback + ): Promise; + /** Delete a board background */ + async deleteMemberBoardBackground( + parameters: Parameters.DeleteMemberBoardBackgroud, + callback?: never + ): Promise; + async deleteMemberBoardBackground( + parameters: Parameters.DeleteMemberBoardBackgroud, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardBackgrounds/${parameters.idBackground}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteMemberBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * List a member's board stars */ - async getMemberBoardStars(parameters: Parameters.GetMemberBoardStars, callback: Callback): Promise; - /** - * List a member's board stars */ - async getMemberBoardStars(parameters: Parameters.GetMemberBoardStars, callback?: undefined): Promise; - async getMemberBoardStars(parameters: Parameters.GetMemberBoardStars, callback?: Callback): Promise { + /** List a member's board stars */ + async getMemberBoardStars( + parameters: Parameters.GetMemberBoardStars, + callback: Callback + ): Promise; + /** List a member's board stars */ + async getMemberBoardStars(parameters: Parameters.GetMemberBoardStars, callback?: never): Promise; + async getMemberBoardStars( + parameters: Parameters.GetMemberBoardStars, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardStars`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberBoardStars' }); + return this.client.sendRequest(config, callback); } - /** - * Star a new board on behalf of a Member */ - async starMemberBoard(parameters: Parameters.StarMemberBoard, callback: Callback): Promise; - /** - * Star a new board on behalf of a Member */ - async starMemberBoard(parameters: Parameters.StarMemberBoard, callback?: undefined): Promise; - async starMemberBoard(parameters: Parameters.StarMemberBoard, callback?: Callback): Promise { + /** Star a new board on behalf of a Member */ + async starMemberBoard( + parameters: Parameters.StarMemberBoard, + callback: Callback + ): Promise; + /** Star a new board on behalf of a Member */ + async starMemberBoard(parameters: Parameters.StarMemberBoard, callback?: never): Promise; + async starMemberBoard( + parameters: Parameters.StarMemberBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardStars`, method: 'POST', @@ -220,31 +264,42 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'starMemberBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific boardStar */ - async getMemberBoardStar(parameters: Parameters.GetMemberBoardStar, callback: Callback): Promise; - /** - * Get a specific boardStar */ - async getMemberBoardStar(parameters: Parameters.GetMemberBoardStar, callback?: undefined): Promise; - async getMemberBoardStar(parameters: Parameters.GetMemberBoardStar, callback?: Callback): Promise { + /** Get a specific boardStar */ + async getMemberBoardStar( + parameters: Parameters.GetMemberBoardStar, + callback: Callback + ): Promise; + /** Get a specific boardStar */ + async getMemberBoardStar( + parameters: Parameters.GetMemberBoardStar, + callback?: never + ): Promise; + async getMemberBoardStar( + parameters: Parameters.GetMemberBoardStar, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardStars/${parameters.idStar}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberBoardStar' }); + return this.client.sendRequest(config, callback); } - /** - * Update the position of a starred board */ - async updateMemberBoardStar(parameters: Parameters.UpdateMemberBoardStar, callback: Callback): Promise; - /** - * Update the position of a starred board */ - async updateMemberBoardStar(parameters: Parameters.UpdateMemberBoardStar, callback?: undefined): Promise; - async updateMemberBoardStar(parameters: Parameters.UpdateMemberBoardStar, callback?: Callback): Promise { + /** Update the position of a starred board */ + async updateMemberBoardStar( + parameters: Parameters.UpdateMemberBoardStar, + callback: Callback + ): Promise; + /** Update the position of a starred board */ + async updateMemberBoardStar(parameters: Parameters.UpdateMemberBoardStar, callback?: never): Promise; + async updateMemberBoardStar( + parameters: Parameters.UpdateMemberBoardStar, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardStars/${parameters.idStar}`, method: 'PUT', @@ -253,31 +308,36 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateMemberBoardStar' }); + return this.client.sendRequest(config, callback); } - /** - * Unstar a board */ + /** Unstar a board */ async unstarMemberBoard(parameters: Parameters.UnstarMemberBoard, callback: Callback): Promise; - /** - * Unstar a board */ - async unstarMemberBoard(parameters: Parameters.UnstarMemberBoard, callback?: undefined): Promise; - async unstarMemberBoard(parameters: Parameters.UnstarMemberBoard, callback?: Callback): Promise { + /** Unstar a board */ + async unstarMemberBoard(parameters: Parameters.UnstarMemberBoard, callback?: never): Promise; + async unstarMemberBoard( + parameters: Parameters.UnstarMemberBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardStars/${parameters.idStar}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'unstarMemberBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Lists the boards that the user is a member of. */ - async getMemberBoards(parameters: Parameters.GetMemberBoards, callback: Callback): Promise; - /** - * Lists the boards that the user is a member of. */ - async getMemberBoards(parameters: Parameters.GetMemberBoards, callback?: undefined): Promise; - async getMemberBoards(parameters: Parameters.GetMemberBoards, callback?: Callback): Promise { + /** Lists the boards that the user is a member of. */ + async getMemberBoards( + parameters: Parameters.GetMemberBoards, + callback: Callback + ): Promise; + /** Lists the boards that the user is a member of. */ + async getMemberBoards(parameters: Parameters.GetMemberBoards, callback?: never): Promise; + async getMemberBoards( + parameters: Parameters.GetMemberBoards, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boards`, method: 'GET', @@ -290,16 +350,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberBoards' }); + return this.client.sendRequest(config, callback); } - /** - * Get the boards the member has been invited to */ - async getMemberBoardsInvited(parameters: Parameters.GetMemberBoardsInvited, callback: Callback): Promise; - /** - * Get the boards the member has been invited to */ - async getMemberBoardsInvited(parameters: Parameters.GetMemberBoardsInvited, callback?: undefined): Promise; - async getMemberBoardsInvited(parameters: Parameters.GetMemberBoardsInvited, callback?: Callback): Promise { + /** Get the boards the member has been invited to */ + async getMemberBoardsInvited( + parameters: Parameters.GetMemberBoardsInvited, + callback: Callback + ): Promise; + /** Get the boards the member has been invited to */ + async getMemberBoardsInvited( + parameters: Parameters.GetMemberBoardsInvited, + callback?: never + ): Promise; + async getMemberBoardsInvited( + parameters: Parameters.GetMemberBoardsInvited, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/boardsInvited`, method: 'GET', @@ -308,16 +375,17 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberBoardsInvited' }); + return this.client.sendRequest(config, callback); } - /** - * Gets the cards a member is on */ - async getMemberCards(parameters: Parameters.GetMemberCards, callback: Callback): Promise; - /** - * Gets the cards a member is on */ - async getMemberCards(parameters: Parameters.GetMemberCards, callback?: undefined): Promise; - async getMemberCards(parameters: Parameters.GetMemberCards, callback?: Callback): Promise { + /** Gets the cards a member is on */ + async getMemberCards(parameters: Parameters.GetMemberCards, callback: Callback): Promise; + /** Gets the cards a member is on */ + async getMemberCards(parameters: Parameters.GetMemberCards, callback?: never): Promise; + async getMemberCards( + parameters: Parameters.GetMemberCards, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/cards`, method: 'GET', @@ -326,31 +394,45 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberCards' }); + return this.client.sendRequest(config, callback); } - /** - * Get a member's custom board backgrounds */ - async getMemberCustomBoardBackgrounds(parameters: Parameters.GetMemberCustomBoardBackgrounds, callback: Callback): Promise; - /** - * Get a member's custom board backgrounds */ - async getMemberCustomBoardBackgrounds(parameters: Parameters.GetMemberCustomBoardBackgrounds, callback?: undefined): Promise; - async getMemberCustomBoardBackgrounds(parameters: Parameters.GetMemberCustomBoardBackgrounds, callback?: Callback): Promise { + /** Get a member's custom board backgrounds */ + async getMemberCustomBoardBackgrounds( + parameters: Parameters.GetMemberCustomBoardBackgrounds, + callback: Callback + ): Promise; + /** Get a member's custom board backgrounds */ + async getMemberCustomBoardBackgrounds( + parameters: Parameters.GetMemberCustomBoardBackgrounds, + callback?: never + ): Promise; + async getMemberCustomBoardBackgrounds( + parameters: Parameters.GetMemberCustomBoardBackgrounds, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customBoardBackgrounds`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberCustomBoardBackgrounds' }); + return this.client.sendRequest(config, callback); } - /** - * Upload a new custom board background */ - async uploadMemberCustomBoardBackground(parameters: Parameters.UploadMemberCustomBoardBackground, callback: Callback): Promise; - /** - * Upload a new custom board background */ - async uploadMemberCustomBoardBackground(parameters: Parameters.UploadMemberCustomBoardBackground, callback?: undefined): Promise; - async uploadMemberCustomBoardBackground(parameters: Parameters.UploadMemberCustomBoardBackground, callback?: Callback): Promise { + /** Upload a new custom board background */ + async uploadMemberCustomBoardBackground( + parameters: Parameters.UploadMemberCustomBoardBackground, + callback: Callback + ): Promise; + /** Upload a new custom board background */ + async uploadMemberCustomBoardBackground( + parameters: Parameters.UploadMemberCustomBoardBackground, + callback?: never + ): Promise; + async uploadMemberCustomBoardBackground( + parameters: Parameters.UploadMemberCustomBoardBackground, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customBoardBackgrounds`, method: 'POST', @@ -359,31 +441,45 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'uploadMemberCustomBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific custom board background */ - async getMemberCustomBoardBackground(parameters: Parameters.GetMemberCustomBoardBackground, callback: Callback): Promise; - /** - * Get a specific custom board background */ - async getMemberCustomBoardBackground(parameters: Parameters.GetMemberCustomBoardBackground, callback?: undefined): Promise; - async getMemberCustomBoardBackground(parameters: Parameters.GetMemberCustomBoardBackground, callback?: Callback): Promise { + /** Get a specific custom board background */ + async getMemberCustomBoardBackground( + parameters: Parameters.GetMemberCustomBoardBackground, + callback: Callback + ): Promise; + /** Get a specific custom board background */ + async getMemberCustomBoardBackground( + parameters: Parameters.GetMemberCustomBoardBackground, + callback?: never + ): Promise; + async getMemberCustomBoardBackground( + parameters: Parameters.GetMemberCustomBoardBackground, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customBoardBackgrounds/${parameters.idBackground}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberCustomBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * Update a specific custom board background */ - async updateMemberCustomBoardBackground(parameters: Parameters.UpdateMemberCustomBoardBackground, callback: Callback): Promise; - /** - * Update a specific custom board background */ - async updateMemberCustomBoardBackground(parameters: Parameters.UpdateMemberCustomBoardBackground, callback?: undefined): Promise; - async updateMemberCustomBoardBackground(parameters: Parameters.UpdateMemberCustomBoardBackground, callback?: Callback): Promise { + /** Update a specific custom board background */ + async updateMemberCustomBoardBackground( + parameters: Parameters.UpdateMemberCustomBoardBackground, + callback: Callback + ): Promise; + /** Update a specific custom board background */ + async updateMemberCustomBoardBackground( + parameters: Parameters.UpdateMemberCustomBoardBackground, + callback?: never + ): Promise; + async updateMemberCustomBoardBackground( + parameters: Parameters.UpdateMemberCustomBoardBackground, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customBoardBackgrounds/${parameters.idBackground}`, method: 'PUT', @@ -393,46 +489,67 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateMemberCustomBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a specific custom board background */ - async deleteMemberCustomBoardBackground(parameters: Parameters.DeleteMemberCustomBoardBackground, callback: Callback): Promise; - /** - * Delete a specific custom board background */ - async deleteMemberCustomBoardBackground(parameters: Parameters.DeleteMemberCustomBoardBackground, callback?: undefined): Promise; - async deleteMemberCustomBoardBackground(parameters: Parameters.DeleteMemberCustomBoardBackground, callback?: Callback): Promise { + /** Delete a specific custom board background */ + async deleteMemberCustomBoardBackground( + parameters: Parameters.DeleteMemberCustomBoardBackground, + callback: Callback + ): Promise; + /** Delete a specific custom board background */ + async deleteMemberCustomBoardBackground( + parameters: Parameters.DeleteMemberCustomBoardBackground, + callback?: never + ): Promise; + async deleteMemberCustomBoardBackground( + parameters: Parameters.DeleteMemberCustomBoardBackground, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customBoardBackgrounds/${parameters.idBackground}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteMemberCustomBoardBackground' }); + return this.client.sendRequest(config, callback); } - /** - * Get a Member's uploaded custom Emojis */ - async getMemberCustomEmojis(parameters: Parameters.GetMemberCustomEmojis, callback: Callback): Promise; - /** - * Get a Member's uploaded custom Emojis */ - async getMemberCustomEmojis(parameters: Parameters.GetMemberCustomEmojis, callback?: undefined): Promise; - async getMemberCustomEmojis(parameters: Parameters.GetMemberCustomEmojis, callback?: Callback): Promise { + /** Get a Member's uploaded custom Emojis */ + async getMemberCustomEmojis( + parameters: Parameters.GetMemberCustomEmojis, + callback: Callback + ): Promise; + /** Get a Member's uploaded custom Emojis */ + async getMemberCustomEmojis( + parameters: Parameters.GetMemberCustomEmojis, + callback?: never + ): Promise; + async getMemberCustomEmojis( + parameters: Parameters.GetMemberCustomEmojis, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customEmoji`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberCustomEmojis' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new custom Emoji */ - async createMemberCustomEmoji(parameters: Parameters.CreateMemberCustomEmoji, callback: Callback): Promise; - /** - * Create a new custom Emoji */ - async createMemberCustomEmoji(parameters: Parameters.CreateMemberCustomEmoji, callback?: undefined): Promise; - async createMemberCustomEmoji(parameters: Parameters.CreateMemberCustomEmoji, callback?: Callback): Promise { + /** Create a new custom Emoji */ + async createMemberCustomEmoji( + parameters: Parameters.CreateMemberCustomEmoji, + callback: Callback + ): Promise; + /** Create a new custom Emoji */ + async createMemberCustomEmoji( + parameters: Parameters.CreateMemberCustomEmoji, + callback?: never + ): Promise; + async createMemberCustomEmoji( + parameters: Parameters.CreateMemberCustomEmoji, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customEmoji`, method: 'POST', @@ -442,16 +559,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createMemberCustomEmoji' }); + return this.client.sendRequest(config, callback); } - /** - * Get a Member's custom Emoji */ - async getMemberCustomEmoji(parameters: Parameters.GetMemberCustomEmoji, callback: Callback): Promise; - /** - * Get a Member's custom Emoji */ - async getMemberCustomEmoji(parameters: Parameters.GetMemberCustomEmoji, callback?: undefined): Promise; - async getMemberCustomEmoji(parameters: Parameters.GetMemberCustomEmoji, callback?: Callback): Promise { + /** Get a Member's custom Emoji */ + async getMemberCustomEmoji( + parameters: Parameters.GetMemberCustomEmoji, + callback: Callback + ): Promise; + /** Get a Member's custom Emoji */ + async getMemberCustomEmoji( + parameters: Parameters.GetMemberCustomEmoji, + callback?: never + ): Promise; + async getMemberCustomEmoji( + parameters: Parameters.GetMemberCustomEmoji, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customEmoji/${parameters.idEmoji}`, method: 'GET', @@ -460,31 +584,45 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberCustomEmoji' }); + return this.client.sendRequest(config, callback); } - /** - * Get a Member's uploaded stickers */ - async getMemberCustomStickers(parameters: Parameters.GetMemberCustomStickers, callback: Callback): Promise; - /** - * Get a Member's uploaded stickers */ - async getMemberCustomStickers(parameters: Parameters.GetMemberCustomStickers, callback?: undefined): Promise; - async getMemberCustomStickers(parameters: Parameters.GetMemberCustomStickers, callback?: Callback): Promise { + /** Get a Member's uploaded stickers */ + async getMemberCustomStickers( + parameters: Parameters.GetMemberCustomStickers, + callback: Callback + ): Promise; + /** Get a Member's uploaded stickers */ + async getMemberCustomStickers( + parameters: Parameters.GetMemberCustomStickers, + callback?: never + ): Promise; + async getMemberCustomStickers( + parameters: Parameters.GetMemberCustomStickers, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customStickers`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberCustomStickers' }); + return this.client.sendRequest(config, callback); } - /** - * Upload a new custom sticker */ - async uploadMemberCustomSticker(parameters: Parameters.UploadMemberCustomSticker, callback: Callback): Promise; - /** - * Upload a new custom sticker */ - async uploadMemberCustomSticker(parameters: Parameters.UploadMemberCustomSticker, callback?: undefined): Promise; - async uploadMemberCustomSticker(parameters: Parameters.UploadMemberCustomSticker, callback?: Callback): Promise { + /** Upload a new custom sticker */ + async uploadMemberCustomSticker( + parameters: Parameters.UploadMemberCustomSticker, + callback: Callback + ): Promise; + /** Upload a new custom sticker */ + async uploadMemberCustomSticker( + parameters: Parameters.UploadMemberCustomSticker, + callback?: never + ): Promise; + async uploadMemberCustomSticker( + parameters: Parameters.UploadMemberCustomSticker, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customStickers`, method: 'POST', @@ -493,16 +631,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'uploadMemberCustomSticker' }); + return this.client.sendRequest(config, callback); } - /** - * Get a Member's custom Sticker */ - async getMemberCustomSticker(parameters: Parameters.GetMemberCustomSticker, callback: Callback): Promise; - /** - * Get a Member's custom Sticker */ - async getMemberCustomSticker(parameters: Parameters.GetMemberCustomSticker, callback?: undefined): Promise; - async getMemberCustomSticker(parameters: Parameters.GetMemberCustomSticker, callback?: Callback): Promise { + /** Get a Member's custom Sticker */ + async getMemberCustomSticker( + parameters: Parameters.GetMemberCustomSticker, + callback: Callback + ): Promise; + /** Get a Member's custom Sticker */ + async getMemberCustomSticker( + parameters: Parameters.GetMemberCustomSticker, + callback?: never + ): Promise; + async getMemberCustomSticker( + parameters: Parameters.GetMemberCustomSticker, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customStickers/${parameters.idSticker}`, method: 'GET', @@ -511,31 +656,45 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberCustomSticker' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a Member's custom Sticker */ - async deleteMemberCustomSticker(parameters: Parameters.DeleteMemberCustomSticker, callback: Callback): Promise; - /** - * Delete a Member's custom Sticker */ - async deleteMemberCustomSticker(parameters: Parameters.DeleteMemberCustomSticker, callback?: undefined): Promise; - async deleteMemberCustomSticker(parameters: Parameters.DeleteMemberCustomSticker, callback?: Callback): Promise { + /** Delete a Member's custom Sticker */ + async deleteMemberCustomSticker( + parameters: Parameters.DeleteMemberCustomSticker, + callback: Callback + ): Promise; + /** Delete a Member's custom Sticker */ + async deleteMemberCustomSticker( + parameters: Parameters.DeleteMemberCustomSticker, + callback?: never + ): Promise; + async deleteMemberCustomSticker( + parameters: Parameters.DeleteMemberCustomSticker, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/customStickers/${parameters.idSticker}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteMemberCustomSticker' }); + return this.client.sendRequest(config, callback); } - /** - * Get a member's notifications */ - async getMemberNotifications(parameters: Parameters.GetMemberNotifications, callback: Callback): Promise; - /** - * Get a member's notifications */ - async getMemberNotifications(parameters: Parameters.GetMemberNotifications, callback?: undefined): Promise; - async getMemberNotifications(parameters: Parameters.GetMemberNotifications, callback?: Callback): Promise { + /** Get a member's notifications */ + async getMemberNotifications( + parameters: Parameters.GetMemberNotifications, + callback: Callback + ): Promise; + /** Get a member's notifications */ + async getMemberNotifications( + parameters: Parameters.GetMemberNotifications, + callback?: never + ): Promise; + async getMemberNotifications( + parameters: Parameters.GetMemberNotifications, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/notifications`, method: 'GET', @@ -554,16 +713,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberNotifications' }); + return this.client.sendRequest(config, callback); } - /** - * Get a member's teams */ - async getMemberOrganizations(parameters: Parameters.GetMemberOrganizations, callback: Callback): Promise; - /** - * Get a member's teams */ - async getMemberOrganizations(parameters: Parameters.GetMemberOrganizations, callback?: undefined): Promise; - async getMemberOrganizations(parameters: Parameters.GetMemberOrganizations, callback?: Callback): Promise { + /** Get a member's Workspaces */ + async getMemberOrganizations( + parameters: Parameters.GetMemberOrganizations, + callback: Callback + ): Promise; + /** Get a member's Workspaces */ + async getMemberOrganizations( + parameters: Parameters.GetMemberOrganizations, + callback?: never + ): Promise; + async getMemberOrganizations( + parameters: Parameters.GetMemberOrganizations, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/organizations`, method: 'GET', @@ -574,16 +740,23 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberOrganizations' }); + return this.client.sendRequest(config, callback); } - /** - * Get a member's teams they have been invited to */ - async getMemberOrganizationsInvited(parameters: Parameters.GetMemberOrganizationsInvited, callback: Callback): Promise; - /** - * Get a member's teams they have been invited to */ - async getMemberOrganizationsInvited(parameters: Parameters.GetMemberOrganizationsInvited, callback?: undefined): Promise; - async getMemberOrganizationsInvited(parameters: Parameters.GetMemberOrganizationsInvited, callback?: Callback): Promise { + /** Get a member's Workspaces they have been invited to */ + async getMemberOrganizationsInvited( + parameters: Parameters.GetMemberOrganizationsInvited, + callback: Callback + ): Promise; + /** Get a member's Workspaces they have been invited to */ + async getMemberOrganizationsInvited( + parameters: Parameters.GetMemberOrganizationsInvited, + callback?: never + ): Promise; + async getMemberOrganizationsInvited( + parameters: Parameters.GetMemberOrganizationsInvited, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/organizationsInvited`, method: 'GET', @@ -592,31 +765,45 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberOrganizationsInvited' }); + return this.client.sendRequest(config, callback); } - /** - * List the saved searches of a Member */ - async getMemberSavedSearches(parameters: Parameters.GetMemberSavedSearches, callback: Callback): Promise; - /** - * List the saved searches of a Member */ - async getMemberSavedSearches(parameters: Parameters.GetMemberSavedSearches, callback?: undefined): Promise; - async getMemberSavedSearches(parameters: Parameters.GetMemberSavedSearches, callback?: Callback): Promise { + /** List the saved searches of a Member */ + async getMemberSavedSearches( + parameters: Parameters.GetMemberSavedSearches, + callback: Callback + ): Promise; + /** List the saved searches of a Member */ + async getMemberSavedSearches( + parameters: Parameters.GetMemberSavedSearches, + callback?: never + ): Promise; + async getMemberSavedSearches( + parameters: Parameters.GetMemberSavedSearches, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/savedSearches`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberSavedSearches' }); + return this.client.sendRequest(config, callback); } - /** - * Create a saved search */ - async createMemberSavedSearch(parameters: Parameters.CreateMemberSavedSearch, callback: Callback): Promise; - /** - * Create a saved search */ - async createMemberSavedSearch(parameters: Parameters.CreateMemberSavedSearch, callback?: undefined): Promise; - async createMemberSavedSearch(parameters: Parameters.CreateMemberSavedSearch, callback?: Callback): Promise { + /** Create a saved search */ + async createMemberSavedSearch( + parameters: Parameters.CreateMemberSavedSearch, + callback: Callback + ): Promise; + /** Create a saved search */ + async createMemberSavedSearch( + parameters: Parameters.CreateMemberSavedSearch, + callback?: never + ): Promise; + async createMemberSavedSearch( + parameters: Parameters.CreateMemberSavedSearch, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/savedSearches`, method: 'POST', @@ -627,31 +814,45 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createMemberSavedSearch' }); + return this.client.sendRequest(config, callback); } - /** - * Get a saved search */ - async getMemberSavedSearch(parameters: Parameters.GetMemberSavedSearch, callback: Callback): Promise; - /** - * Get a saved search */ - async getMemberSavedSearch(parameters: Parameters.GetMemberSavedSearch, callback?: undefined): Promise; - async getMemberSavedSearch(parameters: Parameters.GetMemberSavedSearch, callback?: Callback): Promise { + /** Get a saved search */ + async getMemberSavedSearch( + parameters: Parameters.GetMemberSavedSearch, + callback: Callback + ): Promise; + /** Get a saved search */ + async getMemberSavedSearch( + parameters: Parameters.GetMemberSavedSearch, + callback?: never + ): Promise; + async getMemberSavedSearch( + parameters: Parameters.GetMemberSavedSearch, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/savedSearches/${parameters.idSearch}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberSavedSearch' }); + return this.client.sendRequest(config, callback); } - /** - * Update a saved search */ - async updateMemberSavedSearch(parameters: Parameters.UpdateMemberSavedSerch, callback: Callback): Promise; - /** - * Update a saved search */ - async updateMemberSavedSearch(parameters: Parameters.UpdateMemberSavedSerch, callback?: undefined): Promise; - async updateMemberSavedSearch(parameters: Parameters.UpdateMemberSavedSerch, callback?: Callback): Promise { + /** Update a saved search */ + async updateMemberSavedSearch( + parameters: Parameters.UpdateMemberSavedSerch, + callback: Callback + ): Promise; + /** Update a saved search */ + async updateMemberSavedSearch( + parameters: Parameters.UpdateMemberSavedSerch, + callback?: never + ): Promise; + async updateMemberSavedSearch( + parameters: Parameters.UpdateMemberSavedSerch, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/savedSearches/${parameters.idSearch}`, method: 'PUT', @@ -662,31 +863,42 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateMemberSavedSearch' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a saved search */ - async deleteMemberSavedSearch(parameters: Parameters.DeleteMemberSavedSearch, callback: Callback): Promise; - /** - * Delete a saved search */ - async deleteMemberSavedSearch(parameters: Parameters.DeleteMemberSavedSearch, callback?: undefined): Promise; - async deleteMemberSavedSearch(parameters: Parameters.DeleteMemberSavedSearch, callback?: Callback): Promise { + /** Delete a saved search */ + async deleteMemberSavedSearch( + parameters: Parameters.DeleteMemberSavedSearch, + callback: Callback + ): Promise; + /** Delete a saved search */ + async deleteMemberSavedSearch( + parameters: Parameters.DeleteMemberSavedSearch, + callback?: never + ): Promise; + async deleteMemberSavedSearch( + parameters: Parameters.DeleteMemberSavedSearch, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/savedSearches/${parameters.idSearch}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteMemberSavedSearch' }); + return this.client.sendRequest(config, callback); } - /** - * List a members app tokens */ - async getMemberTokens(parameters: Parameters.GetMemberTokens, callback: Callback): Promise; - /** - * List a members app tokens */ - async getMemberTokens(parameters: Parameters.GetMemberTokens, callback?: undefined): Promise; - async getMemberTokens(parameters: Parameters.GetMemberTokens, callback?: Callback): Promise { + /** List a members app tokens */ + async getMemberTokens( + parameters: Parameters.GetMemberTokens, + callback: Callback + ): Promise; + /** List a members app tokens */ + async getMemberTokens(parameters: Parameters.GetMemberTokens, callback?: never): Promise; + async getMemberTokens( + parameters: Parameters.GetMemberTokens, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/tokens`, method: 'GET', @@ -695,16 +907,20 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getMemberTokens' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new avatar for a member */ - async createMemberAvatar(parameters: Parameters.CreateMemberAvatar, callback: Callback): Promise; - /** - * Create a new avatar for a member */ - async createMemberAvatar(parameters: Parameters.CreateMemberAvatar, callback?: undefined): Promise; - async createMemberAvatar(parameters: Parameters.CreateMemberAvatar, callback?: Callback): Promise { + /** Create a new avatar for a member */ + async createMemberAvatar( + parameters: Parameters.CreateMemberAvatar, + callback: Callback + ): Promise; + /** Create a new avatar for a member */ + async createMemberAvatar(parameters: Parameters.CreateMemberAvatar, callback?: never): Promise; + async createMemberAvatar( + parameters: Parameters.CreateMemberAvatar, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/avatar`, method: 'POST', @@ -713,16 +929,20 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createMemberAvatar' }); + return this.client.sendRequest(config, callback); } - /** - * Dismiss a message */ - async dismissMemberMessage(parameters: Parameters.DismissMemberMessage, callback: Callback): Promise; - /** - * Dismiss a message */ - async dismissMemberMessage(parameters: Parameters.DismissMemberMessage, callback?: undefined): Promise; - async dismissMemberMessage(parameters: Parameters.DismissMemberMessage, callback?: Callback): Promise { + /** Dismiss a message */ + async dismissMemberMessage( + parameters: Parameters.DismissMemberMessage, + callback: Callback + ): Promise; + /** Dismiss a message */ + async dismissMemberMessage(parameters: Parameters.DismissMemberMessage, callback?: never): Promise; + async dismissMemberMessage( + parameters: Parameters.DismissMemberMessage, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/members/${parameters.id}/oneTimeMessagesDismissed`, method: 'POST', @@ -731,6 +951,6 @@ export class Members { }, }; - return this.client.sendRequest(config, callback, { methodName: 'dismissMemberMessage' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/models/actionFields.ts b/src/api/models/actionFields.ts index 72c8a3c..d49fa81 100644 --- a/src/api/models/actionFields.ts +++ b/src/api/models/actionFields.ts @@ -1,2 +1 @@ -export interface ActionFields { -} +export interface ActionFields {} diff --git a/src/api/models/attachmentFields.ts b/src/api/models/attachmentFields.ts index 78416fd..1ffad1b 100644 --- a/src/api/models/attachmentFields.ts +++ b/src/api/models/attachmentFields.ts @@ -1,2 +1 @@ -export interface AttachmentFields { -} +export interface AttachmentFields {} diff --git a/src/api/models/board.ts b/src/api/models/board.ts index bb9c48b..657192d 100644 --- a/src/api/models/board.ts +++ b/src/api/models/board.ts @@ -4,7 +4,8 @@ import { Limits } from './limits'; export interface Board { id: TrelloID; - name: string; + /** The name of the board. */ + name?: string; desc?: string; descData?: string; closed?: boolean; diff --git a/src/api/models/boardFields.ts b/src/api/models/boardFields.ts index 22f97af..249627e 100644 --- a/src/api/models/boardFields.ts +++ b/src/api/models/boardFields.ts @@ -1,2 +1 @@ -export interface BoardFields { -} +export interface BoardFields {} diff --git a/src/api/models/cardAging.ts b/src/api/models/cardAging.ts new file mode 100644 index 0000000..69c5cb8 --- /dev/null +++ b/src/api/models/cardAging.ts @@ -0,0 +1 @@ +export interface CardAging {} diff --git a/src/api/models/cardFields.ts b/src/api/models/cardFields.ts index 939ede2..d07ffa4 100644 --- a/src/api/models/cardFields.ts +++ b/src/api/models/cardFields.ts @@ -1,4 +1,2 @@ -/** - * The fields on a Card. */ -export interface CardFields { -} +/** The fields on a Card. */ +export interface CardFields {} diff --git a/src/api/models/claimableOrganizations.ts b/src/api/models/claimableOrganizations.ts new file mode 100644 index 0000000..7d9c7ee --- /dev/null +++ b/src/api/models/claimableOrganizations.ts @@ -0,0 +1,14 @@ +import { TrelloID } from './trelloID'; + +export interface ClaimableOrganizations { + organizations?: { + name?: string; + displayName?: string; + activeMembershipCount?: number; + idActiveAdmins?: TrelloID[]; + products?: number[]; + id?: TrelloID; + logoUrl?: string; + }[]; + claimableCount?: number; +} diff --git a/src/api/models/color.ts b/src/api/models/color.ts index 5b5eb64..009029e 100644 --- a/src/api/models/color.ts +++ b/src/api/models/color.ts @@ -1,2 +1 @@ -export interface Color { -} +export interface Color {} diff --git a/src/api/models/enterprise.ts b/src/api/models/enterprise.ts index 2c85d61..c86d786 100644 --- a/src/api/models/enterprise.ts +++ b/src/api/models/enterprise.ts @@ -21,21 +21,25 @@ export interface Enterprise { organizationPrefs?: { boardVisibilityRestrict?: {}; boardDeleteRestrict?: {}; - attachmentRestrictions?: unknown[]; + attachmentRestrictions?: string[]; }; ssoActivationFailed?: boolean; - idAdmins?: unknown[]; - enterpriseDomains?: unknown[]; + idAdmins?: TrelloID[]; + enterpriseDomains?: string[]; isRealEnterprise?: boolean; - pluginWhitelistingEnabled?: unknown[]; - idOrganizations?: unknown[]; - products?: unknown[]; + pluginWhitelistingEnabled?: TrelloID[]; + idOrganizations?: TrelloID[]; + products?: number[]; licenses?: { maxMembers?: number; totalMembers?: number; - relatedEnterprises?: unknown[]; + relatedEnterprises?: { + name?: string; + displayName?: string; + count?: number; + }[]; }; - domains?: unknown[]; + domains?: string[]; dateOrganizationPrefsLastUpdated?: string; idp?: { requestSigned?: boolean; diff --git a/src/api/models/enterpriseAdmin.ts b/src/api/models/enterpriseAdmin.ts new file mode 100644 index 0000000..87ee419 --- /dev/null +++ b/src/api/models/enterpriseAdmin.ts @@ -0,0 +1,7 @@ +import { TrelloID } from './trelloID'; + +export interface EnterpriseAdmin { + id?: TrelloID; + fullName?: string; + username?: string; +} diff --git a/src/api/models/enterpriseAuditLog.ts b/src/api/models/enterpriseAuditLog.ts new file mode 100644 index 0000000..3a8137a --- /dev/null +++ b/src/api/models/enterpriseAuditLog.ts @@ -0,0 +1,26 @@ +import { TrelloID } from './trelloID'; + +export interface EnterpriseAuditLog { + idAction?: TrelloID; + type?: string; + date?: string; + memberCreator?: { + id?: TrelloID; + username?: string; + fullName?: string; + }; + organization?: { + enterpriseJoinRequest?: { + idEnterprise?: TrelloID; + idMember?: TrelloID; + date?: string; + }; + id?: TrelloID; + name?: string; + }; + member?: { + id?: TrelloID; + username?: string; + fullName?: string; + }; +} diff --git a/src/api/models/getEnterprisesIdSignupUrl.ts b/src/api/models/getEnterprisesIdSignupUrl.ts new file mode 100644 index 0000000..a08e72e --- /dev/null +++ b/src/api/models/getEnterprisesIdSignupUrl.ts @@ -0,0 +1,3 @@ +export interface GetEnterprisesIdSignupUrl { + signupUrl?: string; +} diff --git a/src/api/models/imageDescriptor.ts b/src/api/models/imageDescriptor.ts new file mode 100644 index 0000000..098556a --- /dev/null +++ b/src/api/models/imageDescriptor.ts @@ -0,0 +1,8 @@ +export interface ImageDescriptor { + /** The width of the image. */ + width?: number; + /** The height of the image. */ + height?: number; + /** The URL of the image. */ + url?: string; +} diff --git a/src/api/models/index.ts b/src/api/models/index.ts index ce73d62..011c4f5 100644 --- a/src/api/models/index.ts +++ b/src/api/models/index.ts @@ -6,11 +6,12 @@ export * from './board'; export * from './boardBackground'; export * from './boardFields'; export * from './boardStars'; -export * from './CFValue'; export * from './card'; +export * from './cardAging'; export * from './cardFields'; export * from './checkItem'; export * from './checklist'; +export * from './claimableOrganizations'; export * from './color'; export * from './customEmoji'; export * from './customField'; @@ -18,12 +19,15 @@ export * from './customFieldItems'; export * from './customSticker'; export * from './emoji'; export * from './enterprise'; +export * from './enterpriseAdmin'; +export * from './enterpriseAuditLog'; export * from './error'; export * from './export'; +export * from './getEnterprisesIdSignupUrl'; +export * from './imageDescriptor'; export * from './label'; export * from './limits'; export * from './limitsObject'; -export * from './list'; export * from './listFields'; export * from './member'; export * from './memberFields'; @@ -33,15 +37,17 @@ export * from './notification'; export * from './notificationFields'; export * from './organization'; export * from './organizationFields'; +export * from './pendingOrganizations'; export * from './plugin'; export * from './pluginData'; export * from './pluginListing'; -export * from './preferences'; export * from './savedSearch'; export * from './tag'; export * from './token'; export * from './tokenFields'; export * from './tokenPermission'; +export * from './transferrableOrganization'; export * from './trelloID'; +export * from './trelloList'; export * from './viewFilter'; export * from './webhook'; diff --git a/src/api/models/listFields.ts b/src/api/models/listFields.ts index ea76a4c..fe8e044 100644 --- a/src/api/models/listFields.ts +++ b/src/api/models/listFields.ts @@ -1,2 +1 @@ -export interface ListFields { -} +export interface ListFields {} diff --git a/src/api/models/member.ts b/src/api/models/member.ts index d432cc8..45c135c 100644 --- a/src/api/models/member.ts +++ b/src/api/models/member.ts @@ -44,7 +44,7 @@ export interface Member { name?: string; count?: string; lastDismissed?: string; - _id?: TrelloID; + Id?: TrelloID; }; oneTimeMessagesDismissed?: string[]; prefs?: MemberPrefs; diff --git a/src/api/models/memberFields.ts b/src/api/models/memberFields.ts index 37514dd..284afc5 100644 --- a/src/api/models/memberFields.ts +++ b/src/api/models/memberFields.ts @@ -1,2 +1 @@ -export interface MemberFields { -} +export interface MemberFields {} diff --git a/src/api/models/notification.ts b/src/api/models/notification.ts index 67ec4dc..6025b94 100644 --- a/src/api/models/notification.ts +++ b/src/api/models/notification.ts @@ -13,5 +13,5 @@ export interface Notification { board?: Board; idMemberCreator?: TrelloID; idAction?: TrelloID; - reactions?: unknown[]; + reactions?: any[]; } diff --git a/src/api/models/notificationFields.ts b/src/api/models/notificationFields.ts index ceb39f3..4ad7924 100644 --- a/src/api/models/notificationFields.ts +++ b/src/api/models/notificationFields.ts @@ -1,2 +1 @@ -export interface NotificationFields { -} +export interface NotificationFields {} diff --git a/src/api/models/organizationFields.ts b/src/api/models/organizationFields.ts index 2991850..1cab1a9 100644 --- a/src/api/models/organizationFields.ts +++ b/src/api/models/organizationFields.ts @@ -1,2 +1 @@ -export interface OrganizationFields { -} +export interface OrganizationFields {} diff --git a/src/api/models/pendingOrganizations.ts b/src/api/models/pendingOrganizations.ts new file mode 100644 index 0000000..9c2104d --- /dev/null +++ b/src/api/models/pendingOrganizations.ts @@ -0,0 +1,31 @@ +import { TrelloID } from './trelloID'; + +export interface PendingOrganizations { + id?: TrelloID; + idMember?: TrelloID; + memberRequestor?: { + id?: TrelloID; + fullName?: string; + }; + date?: string; + displayName?: string; + membershipCount?: number; + logoUrl?: string; + transferability?: { + transferrable?: boolean; + newBillableMembers?: { + id?: TrelloID; + fullName?: string; + username?: string; + initials?: string; + avatarHash?: string; + }[]; + restrictedMembers?: { + id?: TrelloID; + fullName?: string; + username?: string; + initials?: string; + avatarHash?: string; + }[]; + }; +} diff --git a/src/api/models/preferences.ts b/src/api/models/preferences.ts index d874511..882fd21 100644 --- a/src/api/models/preferences.ts +++ b/src/api/models/preferences.ts @@ -1,16 +1,24 @@ +import { CardAging } from './cardAging'; import { TrelloID } from './trelloID'; +import { ImageDescriptor } from './imageDescriptor'; export interface Preferences { associatedDomain?: string | null; attachmentRestrictions?: string | null; background?: TrelloID; + backgroundBottomColor?: string; + backgroundBrightness?: string; backgroundImage?: string; - backgroundImageScaled?: string; - boardDeleteRestrict?: unknown[]; - boardInviteRestrict?: string; - boardVisibilityRestrict?: unknown[]; + backgroundImageScaled?: ImageDescriptor[]; + backgroundTile?: boolean; + backgroundTopColor?: string; calendarFeedEnabled?: boolean; - cardAging?: string; + canBeEnterprise?: boolean; + canBeOrg?: boolean; + canBePrivate?: boolean; + canBePublic?: boolean; + canInvite?: boolean; + cardAging?: CardAging; cardCovers?: boolean; comments?: string; externalMembersDisabled?: boolean; diff --git a/src/api/models/tokenFields.ts b/src/api/models/tokenFields.ts index 8e55d7c..9c8c67d 100644 --- a/src/api/models/tokenFields.ts +++ b/src/api/models/tokenFields.ts @@ -1,2 +1 @@ -export interface TokenFields { -} +export interface TokenFields {} diff --git a/src/api/models/transferrableOrganization.ts b/src/api/models/transferrableOrganization.ts new file mode 100644 index 0000000..3cf8179 --- /dev/null +++ b/src/api/models/transferrableOrganization.ts @@ -0,0 +1,19 @@ +import { TrelloID } from './trelloID'; + +export interface TransferrableOrganization { + transferrable?: boolean; + newBillableMembers?: { + id?: TrelloID; + fullName?: string; + username?: string; + initials?: string; + avatarHash?: string; + }[]; + restrictedMembers?: { + id?: TrelloID; + fullName?: string; + username?: string; + initials?: string; + avatarHash?: string; + }[]; +} diff --git a/src/api/models/trelloList.ts b/src/api/models/trelloList.ts new file mode 100644 index 0000000..41be5cc --- /dev/null +++ b/src/api/models/trelloList.ts @@ -0,0 +1,14 @@ +import { TrelloID } from './trelloID'; +import { Limits } from './limits'; + +export interface TrelloList { + id?: TrelloID; + /** The name of the list */ + name?: string; + closed?: boolean; + pos?: number; + softLimit?: string; + idBoard?: string; + subscribed?: boolean; + limits?: Limits; +} diff --git a/src/api/models/viewFilter.ts b/src/api/models/viewFilter.ts index c1d8f7c..34ed7bb 100644 --- a/src/api/models/viewFilter.ts +++ b/src/api/models/viewFilter.ts @@ -1,2 +1 @@ -export interface ViewFilter { -} +export interface ViewFilter {} diff --git a/src/api/notifications.ts b/src/api/notifications.ts index 5cace55..8e47154 100644 --- a/src/api/notifications.ts +++ b/src/api/notifications.ts @@ -3,11 +3,14 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Notifications { - constructor(private client: Client) { } + constructor(private client: Client) {} async getNotification(parameters: Parameters.GetNotification, callback: Callback): Promise; - async getNotification(parameters: Parameters.GetNotification, callback?: undefined): Promise; - async getNotification(parameters: Parameters.GetNotification, callback?: Callback): Promise { + async getNotification(parameters: Parameters.GetNotification, callback?: never): Promise; + async getNotification( + parameters: Parameters.GetNotification, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}`, method: 'GET', @@ -29,16 +32,20 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getNotification' }); + return this.client.sendRequest(config, callback); } - /** - * Update the read status of a notification */ - async updateNotification(parameters: Parameters.UpdateNotification, callback: Callback): Promise; - /** - * Update the read status of a notification */ - async updateNotification(parameters: Parameters.UpdateNotification, callback?: undefined): Promise; - async updateNotification(parameters: Parameters.UpdateNotification, callback?: Callback): Promise { + /** Update the read status of a notification */ + async updateNotification( + parameters: Parameters.UpdateNotification, + callback: Callback + ): Promise; + /** Update the read status of a notification */ + async updateNotification(parameters: Parameters.UpdateNotification, callback?: never): Promise; + async updateNotification( + parameters: Parameters.UpdateNotification, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}`, method: 'PUT', @@ -47,31 +54,42 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateNotification' }); + return this.client.sendRequest(config, callback); } - /** - * Get a specific property of a notification */ - async getNotificationField(parameters: Parameters.GetNotificationField, callback: Callback): Promise; - /** - * Get a specific property of a notification */ - async getNotificationField(parameters: Parameters.GetNotificationField, callback?: undefined): Promise; - async getNotificationField(parameters: Parameters.GetNotificationField, callback?: Callback): Promise { + /** Get a specific property of a notification */ + async getNotificationField( + parameters: Parameters.GetNotificationField, + callback: Callback + ): Promise; + /** Get a specific property of a notification */ + async getNotificationField(parameters: Parameters.GetNotificationField, callback?: never): Promise; + async getNotificationField( + parameters: Parameters.GetNotificationField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getNotificationField' }); + return this.client.sendRequest(config, callback); } - /** - * Mark all notifications as read */ - async markAllNotificationsAsRead(parameters?: Parameters.MarkAllNotificationsAsRead, callback?: Callback): Promise; - /** - * Mark all notifications as read */ - async markAllNotificationsAsRead(parameters?: Parameters.MarkAllNotificationsAsRead, callback?: undefined): Promise; - async markAllNotificationsAsRead(parameters?: Parameters.MarkAllNotificationsAsRead, callback?: Callback): Promise { + /** Mark all notifications as read */ + async markAllNotificationsAsRead( + parameters?: Parameters.MarkAllNotificationsAsRead, + callback?: Callback + ): Promise; + /** Mark all notifications as read */ + async markAllNotificationsAsRead( + parameters?: Parameters.MarkAllNotificationsAsRead, + callback?: never + ): Promise; + async markAllNotificationsAsRead( + parameters?: Parameters.MarkAllNotificationsAsRead, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: '/notifications/all/read', method: 'POST', @@ -81,16 +99,23 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'markAllNotificationsAsRead' }); + return this.client.sendRequest(config, callback); } - /** - * Update Notification's read status */ - async updateNotificationReadStatus(parameters: Parameters.UpdateNotificationReadStatus, callback: Callback): Promise; - /** - * Update Notification's read status */ - async updateNotificationReadStatus(parameters: Parameters.UpdateNotificationReadStatus, callback?: undefined): Promise; - async updateNotificationReadStatus(parameters: Parameters.UpdateNotificationReadStatus, callback?: Callback): Promise { + /** Update Notification's read status */ + async updateNotificationReadStatus( + parameters: Parameters.UpdateNotificationReadStatus, + callback: Callback + ): Promise; + /** Update Notification's read status */ + async updateNotificationReadStatus( + parameters: Parameters.UpdateNotificationReadStatus, + callback?: never + ): Promise; + async updateNotificationReadStatus( + parameters: Parameters.UpdateNotificationReadStatus, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/unread`, method: 'PUT', @@ -99,16 +124,20 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateNotificationReadStatus' }); + return this.client.sendRequest(config, callback); } - /** - * Get the board a notification is associated with */ - async getNotificationBoard(parameters: Parameters.GetNotificationBoard, callback: Callback): Promise; - /** - * Get the board a notification is associated with */ - async getNotificationBoard(parameters: Parameters.GetNotificationBoard, callback?: undefined): Promise; - async getNotificationBoard(parameters: Parameters.GetNotificationBoard, callback?: Callback): Promise { + /** Get the board a notification is associated with */ + async getNotificationBoard( + parameters: Parameters.GetNotificationBoard, + callback: Callback + ): Promise; + /** Get the board a notification is associated with */ + async getNotificationBoard(parameters: Parameters.GetNotificationBoard, callback?: never): Promise; + async getNotificationBoard( + parameters: Parameters.GetNotificationBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/board`, method: 'GET', @@ -117,16 +146,20 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getNotificationBoard' }); + return this.client.sendRequest(config, callback); } - /** - * Get the card a notification is associated with */ - async getNotificationCard(parameters: Parameters.GetNotificationCard, callback: Callback): Promise; - /** - * Get the card a notification is associated with */ - async getNotificationCard(parameters: Parameters.GetNotificationCard, callback?: undefined): Promise; - async getNotificationCard(parameters: Parameters.GetNotificationCard, callback?: Callback): Promise { + /** Get the card a notification is associated with */ + async getNotificationCard( + parameters: Parameters.GetNotificationCard, + callback: Callback + ): Promise; + /** Get the card a notification is associated with */ + async getNotificationCard(parameters: Parameters.GetNotificationCard, callback?: never): Promise; + async getNotificationCard( + parameters: Parameters.GetNotificationCard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/card`, method: 'GET', @@ -135,16 +168,20 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getNotificationCard' }); + return this.client.sendRequest(config, callback); } - /** - * Get the list a notification is associated with */ - async getNotificationList(parameters: Parameters.GetNotificationList, callback: Callback): Promise; - /** - * Get the list a notification is associated with */ - async getNotificationList(parameters: Parameters.GetNotificationList, callback?: undefined): Promise; - async getNotificationList(parameters: Parameters.GetNotificationList, callback?: Callback): Promise { + /** Get the list a notification is associated with */ + async getNotificationList( + parameters: Parameters.GetNotificationList, + callback: Callback + ): Promise; + /** Get the list a notification is associated with */ + async getNotificationList(parameters: Parameters.GetNotificationList, callback?: never): Promise; + async getNotificationList( + parameters: Parameters.GetNotificationList, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/list`, method: 'GET', @@ -153,16 +190,20 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getNotificationList' }); + return this.client.sendRequest(config, callback); } - /** - * Get the member (not the creator) a notification is about */ - async getNotificationMember(parameters: Parameters.GetNotificationMember, callback: Callback): Promise; - /** - * Get the member (not the creator) a notification is about */ - async getNotificationMember(parameters: Parameters.GetNotificationMember, callback?: undefined): Promise; - async getNotificationMember(parameters: Parameters.GetNotificationMember, callback?: Callback): Promise { + /** Get the member (not the creator) a notification is about */ + async getNotificationMember( + parameters: Parameters.GetNotificationMember, + callback: Callback + ): Promise; + /** Get the member (not the creator) a notification is about */ + async getNotificationMember(parameters: Parameters.GetNotificationMember, callback?: never): Promise; + async getNotificationMember( + parameters: Parameters.GetNotificationMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/member`, method: 'GET', @@ -171,16 +212,23 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getNotificationMember' }); + return this.client.sendRequest(config, callback); } - /** - * Get the member who created the notification */ - async getNotificationMemberCreator(parameters: Parameters.GetNotificationMemberCreator, callback: Callback): Promise; - /** - * Get the member who created the notification */ - async getNotificationMemberCreator(parameters: Parameters.GetNotificationMemberCreator, callback?: undefined): Promise; - async getNotificationMemberCreator(parameters: Parameters.GetNotificationMemberCreator, callback?: Callback): Promise { + /** Get the member who created the notification */ + async getNotificationMemberCreator( + parameters: Parameters.GetNotificationMemberCreator, + callback: Callback + ): Promise; + /** Get the member who created the notification */ + async getNotificationMemberCreator( + parameters: Parameters.GetNotificationMemberCreator, + callback?: never + ): Promise; + async getNotificationMemberCreator( + parameters: Parameters.GetNotificationMemberCreator, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/memberCreator`, method: 'GET', @@ -189,16 +237,23 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getNotificationMemberCreator' }); + return this.client.sendRequest(config, callback); } - /** - * Get the organization a notification is associated with */ - async getNotificationOrganization(parameters: Parameters.GetNotificationOrganization, callback: Callback): Promise; - /** - * Get the organization a notification is associated with */ - async getNotificationOrganization(parameters: Parameters.GetNotificationOrganization, callback?: undefined): Promise; - async getNotificationOrganization(parameters: Parameters.GetNotificationOrganization, callback?: Callback): Promise { + /** Get the organization a notification is associated with */ + async getNotificationOrganization( + parameters: Parameters.GetNotificationOrganization, + callback: Callback + ): Promise; + /** Get the organization a notification is associated with */ + async getNotificationOrganization( + parameters: Parameters.GetNotificationOrganization, + callback?: never + ): Promise; + async getNotificationOrganization( + parameters: Parameters.GetNotificationOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/notifications/${parameters.id}/organization`, method: 'GET', @@ -207,6 +262,6 @@ export class Notifications { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getNotificationOrganization' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/organizations.ts b/src/api/organizations.ts index 9b56dfd..805b650 100644 --- a/src/api/organizations.ts +++ b/src/api/organizations.ts @@ -4,15 +4,19 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Organizations { - constructor(private client: Client) { } - - /** - * Create a new team */ - async createOrganization(parameters: Parameters.CreateOrganization, callback: Callback): Promise; - /** - * Create a new team */ - async createOrganization(parameters: Parameters.CreateOrganization, callback?: undefined): Promise; - async createOrganization(parameters: Parameters.CreateOrganization, callback?: Callback): Promise { + constructor(private client: Client) {} + + /** Create a new Workspace */ + async createOrganization( + parameters: Parameters.CreateOrganization, + callback: Callback + ): Promise; + /** Create a new Workspace */ + async createOrganization(parameters: Parameters.CreateOrganization, callback?: never): Promise; + async createOrganization( + parameters: Parameters.CreateOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: '/organizations', method: 'POST', @@ -24,27 +28,40 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createOrganization' }); + return this.client.sendRequest(config, callback); } - async getOrganization(parameters: Parameters.GetOrganization, callback: Callback): Promise; - async getOrganization(parameters: Parameters.GetOrganization, callback?: undefined): Promise; - async getOrganization(parameters: Parameters.GetOrganization, callback?: Callback): Promise { + async getOrganization( + parameters: Parameters.GetOrganization, + callback: Callback + ): Promise; + async getOrganization(parameters: Parameters.GetOrganization, callback?: never): Promise; + async getOrganization( + parameters: Parameters.GetOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganization' }); + return this.client.sendRequest(config, callback); } - /** - * Update an organization */ - async updateOrganization(parameters: Parameters.UpdateOrganization, callback: Callback): Promise; - /** - * Update an organization */ - async updateOrganization(parameters: Parameters.UpdateOrganization, callback?: undefined): Promise; - async updateOrganization(parameters: Parameters.UpdateOrganization, callback?: Callback): Promise { + /** Update an organization */ + async updateOrganization( + parameters: Parameters.UpdateOrganization, + callback: Callback + ): Promise; + /** Update an organization */ + async updateOrganization( + parameters: Parameters.UpdateOrganization, + callback?: never + ): Promise; + async updateOrganization( + parameters: Parameters.UpdateOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}`, method: 'PUT', @@ -64,57 +81,84 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateOrganization' }); + return this.client.sendRequest(config, callback); } - /** - * Delete an Organization */ - async deleteOrganization(parameters: Parameters.DeleteOrganization, callback: Callback): Promise; - /** - * Delete an Organization */ - async deleteOrganization(parameters: Parameters.DeleteOrganization, callback?: undefined): Promise; - async deleteOrganization(parameters: Parameters.DeleteOrganization, callback?: Callback): Promise { + /** Delete an Organization */ + async deleteOrganization( + parameters: Parameters.DeleteOrganization, + callback: Callback + ): Promise; + /** Delete an Organization */ + async deleteOrganization(parameters: Parameters.DeleteOrganization, callback?: never): Promise; + async deleteOrganization( + parameters: Parameters.DeleteOrganization, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteOrganization' }); + return this.client.sendRequest(config, callback); } - async getOrganizationField(parameters: Parameters.GetOrganizationField, callback: Callback): Promise; - async getOrganizationField(parameters: Parameters.GetOrganizationField, callback?: undefined): Promise; - async getOrganizationField(parameters: Parameters.GetOrganizationField, callback?: Callback): Promise { + async getOrganizationField( + parameters: Parameters.GetOrganizationField, + callback: Callback + ): Promise; + async getOrganizationField( + parameters: Parameters.GetOrganizationField, + callback?: never + ): Promise; + async getOrganizationField( + parameters: Parameters.GetOrganizationField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationField' }); + return this.client.sendRequest(config, callback); } - /** - * List the actions on a team */ - async getOrganizationActions(parameters: Parameters.GetOrganizationActions, callback: Callback): Promise; - /** - * List the actions on a team */ - async getOrganizationActions(parameters: Parameters.GetOrganizationActions, callback?: undefined): Promise; - async getOrganizationActions(parameters: Parameters.GetOrganizationActions, callback?: Callback): Promise { + /** List the actions on a Workspace */ + async getOrganizationActions( + parameters: Parameters.GetOrganizationActions, + callback: Callback + ): Promise; + /** List the actions on a Workspace */ + async getOrganizationActions( + parameters: Parameters.GetOrganizationActions, + callback?: never + ): Promise; + async getOrganizationActions( + parameters: Parameters.GetOrganizationActions, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/actions`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationActions' }); + return this.client.sendRequest(config, callback); } - /** - * List the boards in a team */ - async getOrganizationBoards(parameters: Parameters.GetOrganizationBoards, callback: Callback): Promise; - /** - * List the boards in a team */ - async getOrganizationBoards(parameters: Parameters.GetOrganizationBoards, callback?: undefined): Promise; - async getOrganizationBoards(parameters: Parameters.GetOrganizationBoards, callback?: Callback): Promise { + /** List the boards in a Workspace */ + async getOrganizationBoards>( + parameters: Parameters.GetOrganizationBoards, + callback: Callback + ): Promise; + /** List the boards in a Workspace */ + async getOrganizationBoards>( + parameters: Parameters.GetOrganizationBoards, + callback?: never + ): Promise; + async getOrganizationBoards>( + parameters: Parameters.GetOrganizationBoards, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/boards`, method: 'GET', @@ -124,31 +168,45 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationBoards' }); + return this.client.sendRequest(config, callback); } - /** - * Retrieve the exports that exist for the given organization */ - async getOrganizationExports(parameters: Parameters.GetOrganizationExports, callback: Callback): Promise; - /** - * Retrieve the exports that exist for the given organization */ - async getOrganizationExports(parameters: Parameters.GetOrganizationExports, callback?: undefined): Promise; - async getOrganizationExports(parameters: Parameters.GetOrganizationExports, callback?: Callback): Promise { + /** Retrieve the exports that exist for the given organization */ + async getOrganizationExports( + parameters: Parameters.GetOrganizationExports, + callback: Callback + ): Promise; + /** Retrieve the exports that exist for the given organization */ + async getOrganizationExports( + parameters: Parameters.GetOrganizationExports, + callback?: never + ): Promise; + async getOrganizationExports( + parameters: Parameters.GetOrganizationExports, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/exports`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationExports' }); + return this.client.sendRequest(config, callback); } - /** - * Kick off CSV export for an organization */ - async exportOrganizationCSV(parameters: Parameters.ExportOrganizationCSV, callback: Callback): Promise; - /** - * Kick off CSV export for an organization */ - async exportOrganizationCSV(parameters: Parameters.ExportOrganizationCSV, callback?: undefined): Promise; - async exportOrganizationCSV(parameters: Parameters.ExportOrganizationCSV, callback?: Callback): Promise { + /** Kick off CSV export for an organization */ + async exportOrganizationCSV( + parameters: Parameters.ExportOrganizationCSV, + callback: Callback + ): Promise; + /** Kick off CSV export for an organization */ + async exportOrganizationCSV( + parameters: Parameters.ExportOrganizationCSV, + callback?: never + ): Promise; + async exportOrganizationCSV( + parameters: Parameters.ExportOrganizationCSV, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/exports`, method: 'POST', @@ -157,27 +215,43 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'exportOrganizationCSV' }); + return this.client.sendRequest(config, callback); } - /** - * List the members in a team */ - async getOrganizationMembers(parameters: Parameters.GetOrganizationMembers, callback: Callback): Promise; - /** - * List the members in a team */ - async getOrganizationMembers(parameters: Parameters.GetOrganizationMembers, callback?: undefined): Promise; - async getOrganizationMembers(parameters: Parameters.GetOrganizationMembers, callback?: Callback): Promise { + /** List the members in a Workspace */ + async getOrganizationMembers>( + parameters: Parameters.GetOrganizationMembers, + callback: Callback + ): Promise; + /** List the members in a Workspace */ + async getOrganizationMembers>( + parameters: Parameters.GetOrganizationMembers, + callback?: never + ): Promise; + async getOrganizationMembers>( + parameters: Parameters.GetOrganizationMembers, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/members`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationMembers' }); + return this.client.sendRequest(config, callback); } - async updateOrganizationMember(parameters: Parameters.UpdateOrganizationMember, callback: Callback): Promise; - async updateOrganizationMember(parameters: Parameters.UpdateOrganizationMember, callback?: undefined): Promise; - async updateOrganizationMember(parameters: Parameters.UpdateOrganizationMember, callback?: Callback): Promise { + async updateOrganizationMember( + parameters: Parameters.UpdateOrganizationMember, + callback: Callback + ): Promise; + async updateOrganizationMember( + parameters: Parameters.UpdateOrganizationMember, + callback?: never + ): Promise; + async updateOrganizationMember( + parameters: Parameters.UpdateOrganizationMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/members`, method: 'PUT', @@ -188,16 +262,23 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateOrganizationMember' }); + return this.client.sendRequest(config, callback); } - /** - * List the memberships of a team */ - async getOrganizationMemberships(parameters: Parameters.GetOrganizationMemberships, callback: Callback): Promise; - /** - * List the memberships of a team */ - async getOrganizationMemberships(parameters: Parameters.GetOrganizationMemberships, callback?: undefined): Promise; - async getOrganizationMemberships(parameters: Parameters.GetOrganizationMemberships, callback?: Callback): Promise { + /** List the memberships of a Workspace */ + async getOrganizationMemberships>( + parameters: Parameters.GetOrganizationMemberships, + callback: Callback + ): Promise; + /** List the memberships of a Workspace */ + async getOrganizationMemberships>( + parameters: Parameters.GetOrganizationMemberships, + callback?: never + ): Promise; + async getOrganizationMemberships>( + parameters: Parameters.GetOrganizationMemberships, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/memberships`, method: 'GET', @@ -207,16 +288,23 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationMemberships' }); + return this.client.sendRequest(config, callback); } - /** - * Get a single Membership for an Organization */ - async getOrganizationMembership(parameters: Parameters.GetOrganizationMembership, callback: Callback): Promise; - /** - * Get a single Membership for an Organization */ - async getOrganizationMembership(parameters: Parameters.GetOrganizationMembership, callback?: undefined): Promise; - async getOrganizationMembership(parameters: Parameters.GetOrganizationMembership, callback?: Callback): Promise { + /** Get a single Membership for an Organization */ + async getOrganizationMembership( + parameters: Parameters.GetOrganizationMembership, + callback: Callback + ): Promise; + /** Get a single Membership for an Organization */ + async getOrganizationMembership( + parameters: Parameters.GetOrganizationMembership, + callback?: never + ): Promise; + async getOrganizationMembership( + parameters: Parameters.GetOrganizationMembership, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/memberships/${parameters.idMembership}`, method: 'GET', @@ -225,61 +313,83 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationMembership' }); + return this.client.sendRequest(config, callback); } - /** - * Get organization scoped pluginData on this team */ - async getOrganizationPluginData(parameters: Parameters.GetOrganizationPluginData, callback: Callback): Promise; - /** - * Get organization scoped pluginData on this team */ - async getOrganizationPluginData(parameters: Parameters.GetOrganizationPluginData, callback?: undefined): Promise; - async getOrganizationPluginData(parameters: Parameters.GetOrganizationPluginData, callback?: Callback): Promise { + /** Get organization scoped pluginData on this Workspace */ + async getOrganizationPluginData>( + parameters: Parameters.GetOrganizationPluginData, + callback: Callback + ): Promise; + /** Get organization scoped pluginData on this Workspace */ + async getOrganizationPluginData>( + parameters: Parameters.GetOrganizationPluginData, + callback?: never + ): Promise; + async getOrganizationPluginData>( + parameters: Parameters.GetOrganizationPluginData, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/pluginData`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationPluginData' }); + return this.client.sendRequest(config, callback); } - /** - * List the organization's collections */ - async getOrganizationTags(parameters: Parameters.GetOrganizationTags, callback: Callback): Promise; - /** - * List the organization's collections */ - async getOrganizationTags(parameters: Parameters.GetOrganizationTags, callback?: undefined): Promise; - async getOrganizationTags(parameters: Parameters.GetOrganizationTags, callback?: Callback): Promise { + /** List the organization's collections */ + async getOrganizationTags>( + parameters: Parameters.GetOrganizationTags, + callback: Callback + ): Promise; + /** List the organization's collections */ + async getOrganizationTags>( + parameters: Parameters.GetOrganizationTags, + callback?: never + ): Promise; + async getOrganizationTags>( + parameters: Parameters.GetOrganizationTags, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/tags`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationTags' }); + return this.client.sendRequest(config, callback); } - /** - * Create a Tag in an Organization */ - async createOrganizationTag(parameters: Parameters.CreateOrganizationTag, callback: Callback): Promise; - /** - * Create a Tag in an Organization */ - async createOrganizationTag(parameters: Parameters.CreateOrganizationTag, callback?: undefined): Promise; - async createOrganizationTag(parameters: Parameters.CreateOrganizationTag, callback?: Callback): Promise { + /** Create a Tag in an Organization */ + async createOrganizationTag( + parameters: Parameters.CreateOrganizationTag, + callback: Callback + ): Promise; + /** Create a Tag in an Organization */ + async createOrganizationTag(parameters: Parameters.CreateOrganizationTag, callback?: never): Promise; + async createOrganizationTag( + parameters: Parameters.CreateOrganizationTag, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/tags`, method: 'POST', }; - return this.client.sendRequest(config, callback, { methodName: 'createOrganizationTag' }); + return this.client.sendRequest(config, callback); } - /** - * Add a member to a team or update their member type. */ - async addOrganizationMember(parameters: Parameters.AddOrganizationMember, callback: Callback): Promise; - /** - * Add a member to a team or update their member type. */ - async addOrganizationMember(parameters: Parameters.AddOrganizationMember, callback?: undefined): Promise; - async addOrganizationMember(parameters: Parameters.AddOrganizationMember, callback?: Callback): Promise { + /** Add a member to a Workspace or update their member type. */ + async addOrganizationMember( + parameters: Parameters.AddOrganizationMember, + callback: Callback + ): Promise; + /** Add a member to a Workspace or update their member type. */ + async addOrganizationMember(parameters: Parameters.AddOrganizationMember, callback?: never): Promise; + async addOrganizationMember( + parameters: Parameters.AddOrganizationMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/members/${parameters.idMember}`, method: 'PUT', @@ -288,31 +398,45 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'addOrganizationMember' }); + return this.client.sendRequest(config, callback); } - /** - * Remove a member from a team */ - async deleteOrganizationMember(parameters: Parameters.DeleteOrganizationMember, callback: Callback): Promise; - /** - * Remove a member from a team */ - async deleteOrganizationMember(parameters: Parameters.DeleteOrganizationMember, callback?: undefined): Promise; - async deleteOrganizationMember(parameters: Parameters.DeleteOrganizationMember, callback?: Callback): Promise { + /** Remove a member from a Workspace */ + async deleteOrganizationMember( + parameters: Parameters.DeleteOrganizationMember, + callback: Callback + ): Promise; + /** Remove a member from a Workspace */ + async deleteOrganizationMember( + parameters: Parameters.DeleteOrganizationMember, + callback?: never + ): Promise; + async deleteOrganizationMember( + parameters: Parameters.DeleteOrganizationMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/members/${parameters.idMember}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteOrganizationMember' }); + return this.client.sendRequest(config, callback); } - /** - * Deactivate or reactivate a member of a team */ - async updateOrganizationDeactivateStatus(parameters: Parameters.UpdateOrganizationDeactivateStatus, callback: Callback): Promise; - /** - * Deactivate or reactivate a member of a team */ - async updateOrganizationDeactivateStatus(parameters: Parameters.UpdateOrganizationDeactivateStatus, callback?: undefined): Promise; - async updateOrganizationDeactivateStatus(parameters: Parameters.UpdateOrganizationDeactivateStatus, callback?: Callback): Promise { + /** Deactivate or reactivate a member of a Workspace */ + async updateOrganizationDeactivateStatus( + parameters: Parameters.UpdateOrganizationDeactivateStatus, + callback: Callback + ): Promise; + /** Deactivate or reactivate a member of a Workspace */ + async updateOrganizationDeactivateStatus( + parameters: Parameters.UpdateOrganizationDeactivateStatus, + callback?: never + ): Promise; + async updateOrganizationDeactivateStatus( + parameters: Parameters.UpdateOrganizationDeactivateStatus, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/members/${parameters.idMember}/deactivated`, method: 'PUT', @@ -321,16 +445,19 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateOrganizationDeactivateStatus' }); + return this.client.sendRequest(config, callback); } - /** - * Set the logo image for a team */ - async setOrganizationLogo(parameters: Parameters.SetOrganizationLogo, callback: Callback): Promise; - /** - * Set the logo image for a team */ - async setOrganizationLogo(parameters: Parameters.SetOrganizationLogo, callback?: undefined): Promise; - async setOrganizationLogo(parameters: Parameters.SetOrganizationLogo, callback?: Callback): Promise { + /** Set the logo image for a Workspace */ + async setOrganizationLogo( + parameters: Parameters.SetOrganizationLogo, + callback: Callback + ): Promise; + /** Set the logo image for a Workspace */ + async setOrganizationLogo( + parameters: Parameters.SetOrganizationLogo, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/logo`, method: 'POST', @@ -339,96 +466,135 @@ export class Organizations { }, }; - return this.client.sendRequest(config, callback, { methodName: 'setOrganizationLogo' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a the logo from a team */ - async deleteOrganizationLogo(parameters: Parameters.DeleteOrganizationLogo, callback: Callback): Promise; - /** - * Delete a the logo from a team */ - async deleteOrganizationLogo(parameters: Parameters.DeleteOrganizationLogo, callback?: undefined): Promise; - async deleteOrganizationLogo(parameters: Parameters.DeleteOrganizationLogo, callback?: Callback): Promise { + /** Delete a logo from a Workspace */ + async deleteOrganizationLogo( + parameters: Parameters.DeleteOrganizationLogo, + callback: Callback + ): Promise; + /** Delete a logo from a Workspace */ + async deleteOrganizationLogo( + parameters: Parameters.DeleteOrganizationLogo, + callback?: never + ): Promise; + async deleteOrganizationLogo( + parameters: Parameters.DeleteOrganizationLogo, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/logo`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteOrganizationLogo' }); + return this.client.sendRequest(config, callback); } - /** - * Remove a member from a team and from all team boards */ - async deleteOrganizationMemberFromAll(parameters: Parameters.DeleteOrganizationMemberFromAll, callback: Callback): Promise; - /** - * Remove a member from a team and from all team boards */ - async deleteOrganizationMemberFromAll(parameters: Parameters.DeleteOrganizationMemberFromAll, callback?: undefined): Promise; - async deleteOrganizationMemberFromAll(parameters: Parameters.DeleteOrganizationMemberFromAll, callback?: Callback): Promise { + /** Remove a member from a Workspace and from all Workspace boards */ + async deleteOrganizationMemberFromAll( + parameters: Parameters.DeleteOrganizationMemberFromAll, + callback: Callback + ): Promise; + /** Remove a member from a Workspace and from all Workspace boards */ + async deleteOrganizationMemberFromAll( + parameters: Parameters.DeleteOrganizationMemberFromAll, + callback?: never + ): Promise; + async deleteOrganizationMemberFromAll( + parameters: Parameters.DeleteOrganizationMemberFromAll, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/members/${parameters.idMember}/all`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteOrganizationMemberFromAll' }); + return this.client.sendRequest(config, callback); } - /** - * Remove the associated Google Apps domain from a team */ - async deleteOrganizationAssociatedDomain(parameters: Parameters.DeleteOrganizationAssociatedDomain, callback: Callback): Promise; - /** - * Remove the associated Google Apps domain from a team */ - async deleteOrganizationAssociatedDomain(parameters: Parameters.DeleteOrganizationAssociatedDomain, callback?: undefined): Promise; - async deleteOrganizationAssociatedDomain(parameters: Parameters.DeleteOrganizationAssociatedDomain, callback?: Callback): Promise { + /** Remove the associated Google Apps domain from a Workspace */ + async deleteOrganizationAssociatedDomain( + parameters: Parameters.DeleteOrganizationAssociatedDomain, + callback: Callback + ): Promise; + /** Remove the associated Google Apps domain from a Workspace */ + async deleteOrganizationAssociatedDomain( + parameters: Parameters.DeleteOrganizationAssociatedDomain, + callback?: never + ): Promise; + async deleteOrganizationAssociatedDomain( + parameters: Parameters.DeleteOrganizationAssociatedDomain, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/prefs/associatedDomain`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteOrganizationAssociatedDomain' }); + return this.client.sendRequest(config, callback); } - /** - * Remove the email domain restriction on who can be invited to the team */ - async deleteOrganizationInvites(parameters: Parameters.DeleteOrganizationInvites, callback: Callback): Promise; - /** - * Remove the email domain restriction on who can be invited to the team */ - async deleteOrganizationInvites(parameters: Parameters.DeleteOrganizationInvites, callback?: undefined): Promise; - async deleteOrganizationInvites(parameters: Parameters.DeleteOrganizationInvites, callback?: Callback): Promise { + /** Remove the email domain restriction on who can be invited to the Workspace */ + async deleteOrganizationInvites( + parameters: Parameters.DeleteOrganizationInvites, + callback: Callback + ): Promise; + /** Remove the email domain restriction on who can be invited to the Workspace */ + async deleteOrganizationInvites( + parameters: Parameters.DeleteOrganizationInvites, + callback?: never + ): Promise; + async deleteOrganizationInvites( + parameters: Parameters.DeleteOrganizationInvites, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/prefs/orgInviteRestrict`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteOrganizationInvites' }); + return this.client.sendRequest(config, callback); } - /** - * Delete an organization's tag */ - async deleteOrganizationTag(parameters: Parameters.DeleteOrganizationTag, callback: Callback): Promise; - /** - * Delete an organization's tag */ - async deleteOrganizationTag(parameters: Parameters.DeleteOrganizationTag, callback?: undefined): Promise; - async deleteOrganizationTag(parameters: Parameters.DeleteOrganizationTag, callback?: Callback): Promise { + /** Delete an organization's tag */ + async deleteOrganizationTag( + parameters: Parameters.DeleteOrganizationTag, + callback: Callback + ): Promise; + /** Delete an organization's tag */ + async deleteOrganizationTag(parameters: Parameters.DeleteOrganizationTag, callback?: never): Promise; + async deleteOrganizationTag( + parameters: Parameters.DeleteOrganizationTag, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/tags/${parameters.idTag}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteOrganizationTag' }); + return this.client.sendRequest(config, callback); } - /** - * Used to check whether the given board has new billable guests on it. */ - async getOrganizationNewBillableGuestBoard(parameters: Parameters.GetOrganizationNewBillableGuestBoard, callback: Callback): Promise; - /** - * Used to check whether the given board has new billable guests on it. */ - async getOrganizationNewBillableGuestBoard(parameters: Parameters.GetOrganizationNewBillableGuestBoard, callback?: undefined): Promise; - async getOrganizationNewBillableGuestBoard(parameters: Parameters.GetOrganizationNewBillableGuestBoard, callback?: Callback): Promise { + /** Used to check whether the given board has new billable guests on it. */ + async getOrganizationNewBillableGuestBoard( + parameters: Parameters.GetOrganizationNewBillableGuestBoard, + callback: Callback + ): Promise; + /** Used to check whether the given board has new billable guests on it. */ + async getOrganizationNewBillableGuestBoard( + parameters: Parameters.GetOrganizationNewBillableGuestBoard, + callback?: never + ): Promise; + async getOrganizationNewBillableGuestBoard( + parameters: Parameters.GetOrganizationNewBillableGuestBoard, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/organizations/${parameters.id}/newBillableGuests/${parameters.idBoard}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getOrganizationNewBillableGuestBoard' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/parameters/createBoard.ts b/src/api/parameters/createBoard.ts index 803df5d..651b286 100644 --- a/src/api/parameters/createBoard.ts +++ b/src/api/parameters/createBoard.ts @@ -3,7 +3,10 @@ export interface CreateBoard { name: string; /** Determines whether to use the default set of labels. */ defaultLabels?: boolean; - /** Determines whether to add the default set of lists to a board (To Do, Doing, Done). It is ignored if `idBoardSource` is provided. */ + /** + * Determines whether to add the default set of lists to a board (To Do, Doing, Done). It is ignored if + * `idBoardSource` is provided. + */ defaultLists?: boolean; /** A new description for the board, 0 to 16384 characters long */ desc?: string; @@ -15,20 +18,75 @@ export interface CreateBoard { keepFromSource?: string; /** The Power-Ups that should be enabled on the new board. One of: `all`, `calendar`, `cardAging`, `recap`, `voting`. */ powerUps?: string; - /** The permissions level of the board. One of: `org`, `private`, `public`. */ + + prefs?: { + /** The permissions level of the board. One of: `org`, `private`, `public`. */ + permissionLevel?: 'org' | 'private' | 'public'; + /** Who can vote on this board. One of `disabled`, `members`, `observers`, `org`, `public`. */ + voting?: 'disabled' | 'members' | 'observers' | 'org' | 'public'; + /** Who can comment on cards on this board. One of: `disabled`, `members`, `observers`, `org`, `public`. */ + comments?: 'disabled' | 'members' | 'observers' | 'org' | 'public'; + /** Determines what types of members can invite users to join. One of: `admins`, `members`. */ + invitations?: 'admins' | 'members'; + /** Determines whether users can join the boards themselves or whether they have to be invited. */ + selfJoin?: boolean; + /** Determines whether card covers are enabled. */ + cardCovers?: boolean; + /** The id of a custom background or one of: `blue`, `orange`, `green`, `red`, `purple`, `pink`, `lime`, `sky`, `grey`. */ + background?: 'blue' | 'orange' | 'green' | 'red' | 'purple' | 'pink' | 'lime' | 'sky' | 'grey'; + /** + * Determines the type of card aging that should take place on the board if card aging is enabled. One of: `pirate`, + * `regular`. + */ + cardAging?: 'pirate' | 'regular'; + }; + + /** + * @deprecated Use `prefs.permissionLevel` instead. + * + * The permissions level of the board. One of: `org`, `private`, `public`. + */ prefsPermissionLevel?: string; - /** Who can vote on this board. One of `disabled`, `members`, `observers`, `org`, `public`. */ + /** + * @deprecated Use `prefs.voting` instead. + * + * Who can vote on this board. One of `disabled`, `members`, `observers`, `org`, `public`. + */ prefsVoting?: string; - /** Who can comment on cards on this board. One of: `disabled`, `members`, `observers`, `org`, `public`. */ + /** + * @deprecated Use `prefs.comments` instead. + * + * Who can comment on cards on this board. One of: `disabled`, `members`, `observers`, `org`, `public`. + */ prefsComments?: string; - /** Determines what types of members can invite users to join. One of: `admins`, `members`. */ + /** + * @deprecated Use `prefs.invitations` instead. + * + * Determines what types of members can invite users to join. One of: `admins`, `members`. + */ prefsInvitations?: string; - /** Determines whether users can join the boards themselves or whether they have to be invited. */ + /** + * @deprecated Use `prefs.selfJoin` instead. + * + * Determines whether users can join the boards themselves or whether they have to be invited. + */ prefsSelfJoin?: boolean; - /** Determines whether card covers are enabled. */ + /** + * @deprecated Use `prefs.cardCovers` instead. + * + * Determines whether card covers are enabled. + */ prefsCardCovers?: boolean; - /** The id of a custom background or one of: `blue`, `orange`, `green`, `red`, `purple`, `pink`, `lime`, `sky`, `grey`. */ + /** + * @deprecated Use `prefs.background` instead. + * + * The id of a custom background or one of: `blue`, `orange`, `green`, `red`, `purple`, `pink`, `lime`, `sky`, `grey`. + */ prefsBackground?: string; - /** Determines the type of card aging that should take place on the board if card aging is enabled. One of: `pirate`, `regular`. */ + /** + * @deprecated Use `prefs.cardAging` instead. + * + * Determines the type of card aging that should take place on the board if card aging is enabled. One of: `pirate`, `regular`. + */ prefsCardAging?: string; } diff --git a/src/api/parameters/createCard.ts b/src/api/parameters/createCard.ts index 9bb9cb0..a493685 100644 --- a/src/api/parameters/createCard.ts +++ b/src/api/parameters/createCard.ts @@ -17,14 +17,51 @@ export interface CreateCard { /** A URL starting with `http://` or `https://` */ urlSource?: string; fileSource?: string; + /** The mimeType of the attachment. Max length 256 */ + mimeType?: string; /** The ID of a card to copy into the new card */ idCardSource?: string; - /** If using `idCardSource` you can specify which properties to copy over. `all` or comma-separated list of: `attachments,checklists,comments,due,labels,members,stickers` */ - keepFromSource?: string; - /** For use with/by the Map Power-Up */ + /** + * If using `idCardSource` you can specify which properties to copy over. `all` or comma-separated list of: + * + * - Attachments + * - Checklists + * - CustomFields + * - Comments + * - Due + * - Labels + * - Members + * - Start + * - Stickers + */ + keepFromSource?: + | 'all' + | 'attachments' + | 'checklists' + | 'customFields' + | 'comments' + | 'due' + | 'labels' + | 'members' + | 'start' + | 'stickers' + | ( + | 'attachments' + | 'checklists' + | 'customFields' + | 'comments' + | 'due' + | 'labels' + | 'members' + | 'start' + | 'stickers' + )[] + | string + | string[]; + /** For use with/by the Map View */ address?: string; - /** For use with/by the Map Power-Up */ + /** For use with/by the Map View */ locationName?: string; - /** For use with/by the Map Power-Up. Should take the form latitude,longitude */ + /** For use with/by the Map View. Should take the form latitude,longitude */ coordinates?: string; } diff --git a/src/api/parameters/deactivateEnterpriseMember.ts b/src/api/parameters/deactivateEnterpriseMember.ts index b816bca..008da3d 100644 --- a/src/api/parameters/deactivateEnterpriseMember.ts +++ b/src/api/parameters/deactivateEnterpriseMember.ts @@ -7,8 +7,14 @@ export interface DeactivateEnterpriseMember { value: boolean; /** A comma separated list of any valid values that the [nested member field resource]() accepts. */ fields?: string[]; - /** Any valid value that the [nested organization resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. */ + /** + * Any valid value that the [nested organization + * resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. + */ organizationFields?: string[]; - /** Any valid value that the [nested board resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. */ + /** + * Any valid value that the [nested board + * resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. + */ boardFields?: string[]; } diff --git a/src/api/parameters/getAction.ts b/src/api/parameters/getAction.ts index de0832f..81c8440 100644 --- a/src/api/parameters/getAction.ts +++ b/src/api/parameters/getAction.ts @@ -3,13 +3,22 @@ export interface GetAction { id: string; display?: boolean; entities?: boolean; - /** `all` or a comma-separated list of action [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#action-object) */ + /** + * `all` or a comma-separated list of action + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#action-object) + */ fields?: 'all' | string[]; member?: boolean; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ memberFields?: 'all' | string[]; /** Whether to include the member object for the creator of the action */ memberCreator?: boolean; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ memberCreatorFields?: 'all' | string[]; } diff --git a/src/api/parameters/getBatch.ts b/src/api/parameters/getBatch.ts index 5332406..4de6aa4 100644 --- a/src/api/parameters/getBatch.ts +++ b/src/api/parameters/getBatch.ts @@ -1,4 +1,7 @@ export interface GetBatch { - /** A list of API routes. Maximum of 10 routes allowed. The routes should begin with a forward slash and should not include the API version number - e.g. "urls=/members/trello,/cards/[cardId]" */ + /** + * A list of API routes. Maximum of 10 routes allowed. The routes should begin with a forward slash and should not + * include the API version number - e.g. "urls=/members/trello,/cards/[cardId]" + */ urls: string; } diff --git a/src/api/parameters/getBoard.ts b/src/api/parameters/getBoard.ts index 1cff004..5edc938 100644 --- a/src/api/parameters/getBoard.ts +++ b/src/api/parameters/getBoard.ts @@ -1,30 +1,139 @@ export interface GetBoard { id: string; - /** This is a nested resource. Read more about actions as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about actions as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ actions?: string; /** Valid values are one of: `mine` or `none`. */ boardStars?: string; - /** This is a nested resource. Read more about cards as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about cards as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ cards?: string; - /** Use with the `cards` param to include card pluginData with the response */ + + card?: { + /** Use with the `cards` param to include card pluginData with the response */ + pluginData?: boolean; + /** + * All or a comma-separated list of: `badges`, `checkItemStates`, `closed`, `dateLastActivity`, `desc`, `descData`, + * `due`, `email`, `idAttachmentCover`, `idBoard`, `idChecklists`, `idLabels`, `idList`, `idMembers`, + * `idMembersVoted`, `idShort`, `labels`, `manualCoverAttachment`, `name`, `pos`, `shortLink`, `shortUrl`, + * `subscribed`, `url` + */ + fields?: + | 'all' + | string + | string[] + | 'badges' + | 'checkItemStates' + | 'closed' + | 'dateLastActivity' + | 'desc' + | 'descData' + | 'due' + | 'email' + | 'idAttachmentCover' + | 'idBoard' + | 'idChecklists' + | 'idLabels' + | 'idList' + | 'idMembers' + | 'idMembersVoted' + | 'idShort' + | 'labels' + | 'manualCoverAttachment' + | 'name' + | 'pos' + | 'shortLink' + | 'shortUrl' + | 'subscribed' + | 'url' + | ( + | 'badges' + | 'checkItemStates' + | 'closed' + | 'dateLastActivity' + | 'desc' + | 'descData' + | 'due' + | 'email' + | 'idAttachmentCover' + | 'idBoard' + | 'idChecklists' + | 'idLabels' + | 'idList' + | 'idMembers' + | 'idMembersVoted' + | 'idShort' + | 'labels' + | 'manualCoverAttachment' + | 'name' + | 'pos' + | 'shortLink' + | 'shortUrl' + | 'subscribed' + | 'url' + )[]; + /** Whether to include the parent list with card results */ + list?: boolean; + /** Whether to include member objects with card results */ + members?: boolean; + /** Whether to include sticker objects with card results */ + stickers?: boolean; + /** + * Whether to include attachment objects with card results. A boolean value (true or false) or cover for only card + * cover attachments. + */ + attachments?: boolean; + }; + + /** + * @deprecated Use `card: { pluginData: true }` instead. + * + * Use with the `cards` param to include card pluginData with the response + */ cardPluginData?: boolean; - /** This is a nested resource. Read more about checklists as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about checklists as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ checklists?: string; /** This is a nested resource. Read more about custom fields as nested resources [here](#custom-fields-nested-resource). */ customFields?: boolean; - /** The fields of the board to be included in the response. Valid values: all or a comma-separated list of: closed, dateLastActivity, dateLastView, desc, descData, idMemberCreator, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed, url */ + /** + * The fields of the board to be included in the response. Valid values: all or a comma-separated list of: closed, + * dateLastActivity, dateLastView, desc, descData, idMemberCreator, idOrganization, invitations, invited, labelNames, + * memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed, url + */ fields?: string; - /** This is a nested resource. Read more about labels as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about labels as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ labels?: string; - /** This is a nested resource. Read more about lists as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about lists as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ lists?: string; - /** This is a nested resource. Read more about members as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about members as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ members?: string; - /** This is a nested resource. Read more about memberships as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about memberships as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ memberships?: string; /** Determines whether the pluginData for this board should be returned. Valid values: true or false. */ pluginData?: boolean; - /** This is a nested resource. Read more about organizations as nested resources [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * This is a nested resource. Read more about organizations as nested resources + * [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ organization?: boolean; /** Use with the `organization` param to include organization pluginData with the response */ organizationPluginData?: boolean; diff --git a/src/api/parameters/getBoardField.ts b/src/api/parameters/getBoardField.ts index c5cebcb..89573c1 100644 --- a/src/api/parameters/getBoardField.ts +++ b/src/api/parameters/getBoardField.ts @@ -1,6 +1,10 @@ export interface GetBoardField { /** The ID of the board. */ id: string; - /** The field you'd like to receive. Valid values: closed, dateLastActivity, dateLastView, desc, descData, idMemberCreator, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, shortLink, shortUrl, starred, subscribed, url. */ + /** + * The field you'd like to receive. Valid values: closed, dateLastActivity, dateLastView, desc, descData, + * idMemberCreator, idOrganization, invitations, invited, labelNames, memberships, name, pinned, powerUps, prefs, + * shortLink, shortUrl, starred, subscribed, url. + */ field: string; } diff --git a/src/api/parameters/getBoardLists.ts b/src/api/parameters/getBoardLists.ts index 3a17083..96b78cc 100644 --- a/src/api/parameters/getBoardLists.ts +++ b/src/api/parameters/getBoardLists.ts @@ -3,10 +3,16 @@ export interface GetBoardLists { id: string; /** Filter to apply to Cards. */ cards?: string[]; - /** `all` or a comma-separated list of card [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#card-object) */ + /** + * `all` or a comma-separated list of card + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#card-object) + */ cardFields?: string; /** Filter to apply to Lists */ filter?: string; - /** `all` or a comma-separated list of list [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of list + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getBoardMemberships.ts b/src/api/parameters/getBoardMemberships.ts index 0d575ee..5ff9156 100644 --- a/src/api/parameters/getBoardMemberships.ts +++ b/src/api/parameters/getBoardMemberships.ts @@ -7,8 +7,14 @@ export interface GetBoardMemberships { activity?: boolean; /** Shows the type of member to the org the user is. For instance, an org admin will have a `orgMemberType` of `admin`. */ orgMemberType?: boolean; - /** Determines whether to include a [nested member object](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * Determines whether to include a [nested member + * object](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ member?: boolean; - /** Fields to show if `member=true`. Valid values: [nested member resource fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). */ + /** + * Fields to show if `member=true`. Valid values: [nested member resource + * fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/). + */ memberFields?: string[]; } diff --git a/src/api/parameters/getCard.ts b/src/api/parameters/getCard.ts index 5e40e0f..faf1997 100644 --- a/src/api/parameters/getCard.ts +++ b/src/api/parameters/getCard.ts @@ -1,21 +1,37 @@ export interface GetCard { /** The ID of the Card */ id: string; - /** `all` or a comma-separated list of [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). **Defaults**: `badges, checkItemStates, closed, dateLastActivity, desc, descData, due, email, idBoard, idChecklists, idLabels, idList, idMembers, idShort, idAttachmentCover, manualCoverAttachment, labels, name, pos, shortUrl, url` */ + /** + * `all` or a comma-separated list of + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). **Defaults**: `badges, + * checkItemStates, closed, dateLastActivity, desc, descData, due, email, idBoard, idChecklists, idLabels, idList, + * idMembers, idShort, idAttachmentCover, manualCoverAttachment, labels, name, pos, shortUrl, url` + */ fields?: string; /** See the [Actions Nested Resource](ref:actions-nested-resource) */ actions?: string; /** `true`, `false`, or `cover` */ attachments?: string; - /** `all` or a comma-separated list of attachment [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of attachment + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ attachmentFields?: string; /** Whether to return member objects for members on the card */ members?: boolean; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). **Defaults**: `avatarHash, fullName, initials, username` */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). **Defaults**: + * `avatarHash, fullName, initials, username` + */ memberFields?: string; /** Whether to return member objects for members who voted on the card */ membersVoted?: boolean; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). **Defaults**: `avatarHash, fullName, initials, username` */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). **Defaults**: + * `avatarHash, fullName, initials, username` + */ memberVotedFields?: string; checkItemStates?: boolean; /** Whether to return the checklists on the card. `all` or `none` */ @@ -24,7 +40,11 @@ export interface GetCard { checklistFields?: string; /** Whether to return the board object the card is on */ board?: boolean; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#board-object). **Defaults**: `name, desc, descData, closed, idOrganization, pinned, url, prefs` */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#board-object). + * **Defaults**: `name, desc, descData, closed, idOrganization, pinned, url, prefs` + */ boardFields?: string; /** See the [Lists Nested Resource](ref:lists-nested-resource) */ list?: boolean; @@ -32,7 +52,10 @@ export interface GetCard { pluginData?: boolean; /** Whether to include sticker models with the response */ stickers?: boolean; - /** `all` or a comma-separated list of sticker [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of sticker + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ stickerFields?: string; /** Whether to include the customFieldItems */ customFieldItems?: boolean; diff --git a/src/api/parameters/getCardAttachments.ts b/src/api/parameters/getCardAttachments.ts index 8163d77..c45af32 100644 --- a/src/api/parameters/getCardAttachments.ts +++ b/src/api/parameters/getCardAttachments.ts @@ -1,7 +1,10 @@ export interface GetCardAttachments { /** The ID of the Card */ id: string; - /** `all` or a comma-separated list of attachment [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of attachment + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields: string; /** Use `cover` to restrict to just the cover attachment */ filter: string; diff --git a/src/api/parameters/getCardBoard.ts b/src/api/parameters/getCardBoard.ts index 74e27a4..0cb3bcc 100644 --- a/src/api/parameters/getCardBoard.ts +++ b/src/api/parameters/getCardBoard.ts @@ -1,6 +1,9 @@ export interface GetCardBoard { /** The ID of the Card */ id: string; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#board-object) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#board-object) + */ fields?: string; } diff --git a/src/api/parameters/getCardList.ts b/src/api/parameters/getCardList.ts index e5037ce..092dce9 100644 --- a/src/api/parameters/getCardList.ts +++ b/src/api/parameters/getCardList.ts @@ -1,6 +1,9 @@ export interface GetCardList { /** The ID of the Card */ id: string; - /** `all` or a comma-separated list of list [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of list + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getCardMembers.ts b/src/api/parameters/getCardMembers.ts index 4ca36c5..2e324e2 100644 --- a/src/api/parameters/getCardMembers.ts +++ b/src/api/parameters/getCardMembers.ts @@ -1,6 +1,9 @@ export interface GetCardMembers { /** The ID of the Card */ id: string; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getCardMembersVoted.ts b/src/api/parameters/getCardMembersVoted.ts index 4a0188e..9a4efac 100644 --- a/src/api/parameters/getCardMembersVoted.ts +++ b/src/api/parameters/getCardMembersVoted.ts @@ -1,6 +1,9 @@ export interface GetCardMembersVoted { /** The ID of the Card */ id: string; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getCardSticker.ts b/src/api/parameters/getCardSticker.ts index f9ab3b3..b554651 100644 --- a/src/api/parameters/getCardSticker.ts +++ b/src/api/parameters/getCardSticker.ts @@ -3,6 +3,9 @@ export interface GetCardSticker { id: string; /** The ID of the sticker */ idSticker: string; - /** `all` or a comma-separated list of sticker [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of sticker + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getCardStickers.ts b/src/api/parameters/getCardStickers.ts index 219b947..279dd84 100644 --- a/src/api/parameters/getCardStickers.ts +++ b/src/api/parameters/getCardStickers.ts @@ -1,7 +1,10 @@ export interface GetCardStickers { /** The ID of the Card */ id: string; - /** `all` or a comma-separated list of sticker [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of sticker + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; body?: {}; } diff --git a/src/api/parameters/getChecklist.ts b/src/api/parameters/getChecklist.ts index 05fccb1..2633e51 100644 --- a/src/api/parameters/getChecklist.ts +++ b/src/api/parameters/getChecklist.ts @@ -1,12 +1,21 @@ export interface GetChecklist { /** ID of a checklist. */ id: string; - /** Valid values: `all`, `closed`, `none`, `open`, `visible`. Cards is a nested resource. The additional query params available are documented at [Cards Nested Resource](ref:cards-nested-resource). */ + /** + * Valid values: `all`, `closed`, `none`, `open`, `visible`. Cards is a nested resource. The additional query params + * available are documented at [Cards Nested Resource](ref:cards-nested-resource). + */ cards?: string; /** The check items on the list to return. One of: `all`, `none`. */ checkItems?: string; - /** The fields on the checkItem to return if checkItems are being returned. `all` or a comma-separated list of: `name`, `nameData`, `pos`, `state`, `type` */ + /** + * The fields on the checkItem to return if checkItems are being returned. `all` or a comma-separated list of: `name`, + * `nameData`, `pos`, `state`, `type` + */ checkItemFields?: string; - /** `all` or a comma-separated list of checklist [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of checklist + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getChecklistBoard.ts b/src/api/parameters/getChecklistBoard.ts index 219e312..1506c90 100644 --- a/src/api/parameters/getChecklistBoard.ts +++ b/src/api/parameters/getChecklistBoard.ts @@ -1,6 +1,9 @@ export interface GetChecklistBoard { /** ID of a checklist. */ id: string; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getEnterprise.ts b/src/api/parameters/getEnterprise.ts index 2b72bd0..04f5f87 100644 --- a/src/api/parameters/getEnterprise.ts +++ b/src/api/parameters/getEnterprise.ts @@ -1,29 +1,112 @@ export interface GetEnterprise { /** ID of the enterprise to retrieve. */ id: string; - /** Comma-separated list of: `id`, `name`, `displayName`, `prefs`, `ssoActivationFailed`, `idAdmins`, `idMembers` (Note that the members array returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with member_startIndex, etc, but the API response will not contain the total available result count or pagination status data. Read the SCIM documentation [here]() for more information on filtering), `idOrganizations`, `products`, `userTypes`, `idMembers`, `idOrganizations` */ + /** + * Comma-separated list of: `id`, `name`, `displayName`, `prefs`, `ssoActivationFailed`, `idAdmins`, `idMembers` (Note + * that the members array returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be + * controlled with member_startIndex, etc, but the API response will not contain the total available result count or + * pagination status data. Read the SCIM documentation [here]() for more information on filtering), `idOrganizations`, + * `products`, `userTypes`, `idMembers`, `idOrganizations` + */ fields?: string; /** One of: `none`, `normal`, `admins`, `owners`, `all` */ members?: string; - /** One of: `avatarHash`, `fullName`, `initials`, `username` */ + + member?: { + /** One of: `avatarHash`, `fullName`, `initials`, `username` */ + fields?: 'avatarHash' | 'fullName' | 'initials' | 'username'; + /** + * Pass a [SCIM-style query](https://developer.atlassian.com/cloud/trello/scim/) to filter members. This takes + * precedence over the all/normal/admins value of members. If any of the member_* args are set, the member array + * will be paginated. + */ + filter?: string; + /** + * This parameter expects a [SCIM-style](https://developer.atlassian.com/cloud/trello/scim/) sorting value prefixed + * by a `-` to sort descending. If no `-` is prefixed, it will be sorted ascending. Note that the members array + * returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with + * member_startIndex, etc, but the API response will not contain the total available result count or pagination status data. + */ + sort?: string; + /** Any integer between 0 and 100. */ + startIndex?: number; + /** 0 to 100 */ + count?: number; + }; + + /** + * @deprecated Use `member.fields` instead. + * + * One of: `avatarHash`, `fullName`, `initials`, `username` + */ memberFields?: string; - /** Pass a [SCIM-style query](https://developer.atlassian.com/cloud/trello/scim/) to filter members. This takes precedence over the all/normal/admins value of members. If any of the member_* args are set, the member array will be paginated. */ + /** + * @deprecated Use `member.filter` instead. + * + * Pass a [SCIM-style query](https://developer.atlassian.com/cloud/trello/scim/) to filter members. This takes + * precedence over the all/normal/admins value of members. If any of the member_* args are set, the member array + * will be paginated. + */ memberFilter?: string; - /** This parameter expects a [SCIM-style](https://developer.atlassian.com/cloud/trello/scim/) sorting value prefixed by a `-` to sort descending. If no `-` is prefixed, it will be sorted ascending. Note that the members array returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with member_startIndex, etc, but the API response will not contain the total available result count or pagination status data. */ + /** + * @deprecated Use `member.sort` instead. + * + * This parameter expects a [SCIM-style](https://developer.atlassian.com/cloud/trello/scim/) sorting value prefixed by + * a `-` to sort descending. If no `-` is prefixed, it will be sorted ascending. Note that the members array + * returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with + * member_startIndex, etc, but the API response will not contain the total available result count or pagination status data. + */ memberSort?: string; - /** Deprecated: Please use member_sort. This parameter expects a [SCIM-style sorting value](https://developer.atlassian.com/cloud/trello/scim/). Note that the members array returned will be paginated if `members` is `normal` or `admins`. Pagination can be controlled with `member_startIndex`, etc, and the API response's header will contain the total count and pagination state. */ + /** + * @deprecated Deprecated: Please use member_sort. This parameter expects a [SCIM-style sorting + * value](https://developer.atlassian.com/cloud/trello/scim/). Note that the members array returned will be + * paginated if `members` is `normal` or `admins`. Pagination can be controlled with `member_startIndex`, etc, and + * the API response's header will contain the total count and pagination state. + */ memberSortBy?: string; - /** Deprecated: Please use member_sort. One of: `ascending`, `descending`, `asc`, `desc` */ + /** @deprecated Deprecated: Please use member_sort. One of: `ascending`, `descending`, `asc`, `desc` */ memberSortOrder?: string; - /** Any integer between 0 and 100. */ + /** + * @deprecated Use `member.startIndex` instead. + * + * Any integer between 0 and 100. + */ memberStartIndex?: number; - /** 0 to 100 */ + /** + * @deprecated Use `member.count` instead. + * + * 0 to 100 + */ memberCount?: number; /** One of: `none`, `members`, `public`, `all` */ - organizations?: string; - /** Any valid value that the [nested organization field resource]() accepts. */ + organizations?: 'none' | 'all' | 'members' | 'public' | string; + + organization?: { + /** Any valid value that the [nested organization field resource]() accepts. */ + fields?: string; + paidAccounts?: boolean; + /** Comma-seperated list of: `me`, `normal`, `admin`, `active`, `deactivated` */ + memberships?: + | 'me' + | 'normal' + | 'admin' + | 'active' + | 'deactivated' + | ('me' | 'normal' | 'admin' | 'active' | 'deactivated')[]; + }; + + /** + * @deprecated Use `organization.fields` instead. + * + * Any valid value that the [nested organization field resource]() accepts. + */ organizationFields?: string; + /** @deprecated Use `organization.paidAccount` instead. */ organizationPaidAccounts?: boolean; - /** Comma-seperated list of: `me`, `normal`, `admin`, `active`, `deactivated` */ + /** + * @deprecated Use `organization.memberships` instead. + * + * Comma-seperated list of: `me`, `normal`, `admin`, `active`, `deactivated` + */ organizationMemberships?: string; } diff --git a/src/api/parameters/getEnterpriseMember.ts b/src/api/parameters/getEnterpriseMember.ts index 0834f97..d9da055 100644 --- a/src/api/parameters/getEnterpriseMember.ts +++ b/src/api/parameters/getEnterpriseMember.ts @@ -5,8 +5,14 @@ export interface GetEnterpriseMember { idMember: string; /** A comma separated list of any valid values that the [nested member field resource]() accepts. */ fields?: string; - /** Any valid value that the [nested organization field resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. */ + /** + * Any valid value that the [nested organization field + * resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. + */ organizationFields?: string; - /** Any valid value that the [nested board resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. */ + /** + * Any valid value that the [nested board + * resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. + */ boardFields?: string; } diff --git a/src/api/parameters/getEnterpriseMembers.ts b/src/api/parameters/getEnterpriseMembers.ts index 8aa16ba..49bfde7 100644 --- a/src/api/parameters/getEnterpriseMembers.ts +++ b/src/api/parameters/getEnterpriseMembers.ts @@ -3,11 +3,25 @@ export interface GetEnterpriseMembers { id: string; /** A comma-seperated list of valid [member fields](member). */ fields?: string; - /** Pass a [SCIM-style query](https://developer.atlassian.com/cloud/trello/scim/) to filter members. This takes precedence over the all/normal/admins value of members. If any of the below member_* args are set, the member array will be paginated. */ + /** + * Pass a [SCIM-style query](https://developer.atlassian.com/cloud/trello/scim/) to filter members. This takes + * precedence over the all/normal/admins value of members. If any of the below member_* args are set, the member array + * will be paginated. + */ filter?: string; - /** This parameter expects a [SCIM-style](https://developer.atlassian.com/cloud/trello/scim/) sorting value prefixed by a `-` to sort descending. If no `-` is prefixed, it will be sorted ascending. Note that the members array returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with member_startIndex, etc, but the API response will not contain the total available result count or pagination status data. */ + /** + * This parameter expects a [SCIM-style](https://developer.atlassian.com/cloud/trello/scim/) sorting value prefixed by + * a `-` to sort descending. If no `-` is prefixed, it will be sorted ascending. Note that the members array returned + * will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with member_startIndex, etc, + * but the API response will not contain the total available result count or pagination status data. + */ sort?: string; - /** Deprecated: Please use `sort` instead. This parameter expects a [SCIM-style](https://developer.atlassian.com/cloud/trello/scim/) sorting value. Note that the members array returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with member_startIndex, etc, but the API response will not contain the total available result count or pagination status data. */ + /** + * Deprecated: Please use `sort` instead. This parameter expects a + * [SCIM-style](https://developer.atlassian.com/cloud/trello/scim/) sorting value. Note that the members array + * returned will be paginated if `members` is 'normal' or 'admins'. Pagination can be controlled with + * member_startIndex, etc, but the API response will not contain the total available result count or pagination status data. + */ sortBy?: string; /** Deprecated: Please use `sort` instead. One of: `ascending`, `descending`, `asc`, `desc`. */ sortOrder?: string; @@ -15,8 +29,14 @@ export interface GetEnterpriseMembers { startIndex?: number; /** [SCIM-style filter](https://developer.atlassian.com/cloud/trello/scim/). */ count?: string; - /** Any valid value that the [nested organization field resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. */ + /** + * Any valid value that the [nested organization field + * resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. + */ organizationFields?: string; - /** Any valid value that the [nested board resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. */ + /** + * Any valid value that the [nested board + * resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) accepts. + */ boardFields?: string; } diff --git a/src/api/parameters/getEnterpriseSignupUrl.ts b/src/api/parameters/getEnterpriseSignupUrl.ts index 6d595ec..2ab21b2 100644 --- a/src/api/parameters/getEnterpriseSignupUrl.ts +++ b/src/api/parameters/getEnterpriseSignupUrl.ts @@ -5,6 +5,9 @@ export interface GetEnterpriseSignupUrl { confirmationAccepted?: boolean; /** Any valid URL. */ returnUrl?: string; - /** Designates whether the user has seen/consented to the Trello ToS prior to being redirected to the enterprise signup page/their IdP. */ + /** + * Designates whether the user has seen/consented to the Trello ToS prior to being redirected to the enterprise signup + * page/their IdP. + */ tosAccepted?: boolean; } diff --git a/src/api/parameters/getEnterprisesIdClaimableOrganizations.ts b/src/api/parameters/getEnterprisesIdClaimableOrganizations.ts new file mode 100644 index 0000000..d0b86a4 --- /dev/null +++ b/src/api/parameters/getEnterprisesIdClaimableOrganizations.ts @@ -0,0 +1,4 @@ +export interface GetEnterprisesIdClaimableOrganizations { + /** ID of the enterprise to retrieve */ + id: string; +} diff --git a/src/api/parameters/getEnterprisesIdPendingOrganizations.ts b/src/api/parameters/getEnterprisesIdPendingOrganizations.ts new file mode 100644 index 0000000..0e210cc --- /dev/null +++ b/src/api/parameters/getEnterprisesIdPendingOrganizations.ts @@ -0,0 +1,4 @@ +export interface GetEnterprisesIdPendingOrganizations { + /** ID of the enterprise to retrieve */ + id: string; +} diff --git a/src/api/parameters/getLabel.ts b/src/api/parameters/getLabel.ts index 33fec44..117f01c 100644 --- a/src/api/parameters/getLabel.ts +++ b/src/api/parameters/getLabel.ts @@ -1,6 +1,6 @@ export interface GetLabel { /** The ID of the Label */ id: string; - /** all or a comma-separated list of [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** All or a comma-separated list of [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ fields?: string; } diff --git a/src/api/parameters/getListBoard.ts b/src/api/parameters/getListBoard.ts index 3074e46..939d779 100644 --- a/src/api/parameters/getListBoard.ts +++ b/src/api/parameters/getListBoard.ts @@ -1,6 +1,9 @@ export interface GetListBoard { /** The ID of the list */ id: string; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#board-object) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/#board-object) + */ fields?: string; } diff --git a/src/api/parameters/getMember.ts b/src/api/parameters/getMember.ts index d2d44b5..500144f 100644 --- a/src/api/parameters/getMember.ts +++ b/src/api/parameters/getMember.ts @@ -3,17 +3,26 @@ export interface GetMember { id: string; /** See the [Actions Nested Resource](ref:actions-nested-resource) */ actions?: string; - /** See the [Boards Nested Resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/idboardsopen) */ + /** + * See the [Boards Nested + * Resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/idboardsopen) + */ boards?: string; /** One of: `all`, `custom`, `default`, `none`, `premium` */ boardBackgrounds?: string; /** `all` or a comma-separated list of: closed, members, open, organization, pinned, public, starred, unpinned */ boardsInvited?: string; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ boardsInvitedFields?: string[]; /** Whether to return the boardStars or not */ boardStars?: boolean; - /** See the [Cards Nested Resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) for additional options */ + /** + * See the [Cards Nested Resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/nested-resources/) for + * additional options + */ cards?: string; /** `all` or `none` */ customBoardBackgrounds?: string; @@ -21,18 +30,43 @@ export interface GetMember { customEmoji?: string; /** `all` or `none` */ customStickers?: string; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; - /** See the [Notifications Nested Resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/idnotificationsall) */ + /** + * See the [Notifications Nested + * Resource](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/idnotificationsall) + */ notifications?: string; /** One of: `all`, `members`, `none`, `public` */ organizations?: string; - /** `all` or a comma-separated list of organization [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + + organization?: { + /** + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ + fields?: 'all' | string | string[]; + paidAccount?: boolean; + }; + + /** + * @deprecated Use `organization: { fields }` instead. + * + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ organizationFields?: 'all' | string[]; + /** @deprecated Use `organization: { paidAccount }` instead. */ organizationPaidAccount?: boolean; /** One of: `all`, `members`, `none`, `public` */ organizationsInvited?: string; - /** `all` or a comma-separated list of organization [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ organizationsInvitedFields?: 'all' | string[]; paidAccount?: boolean; savedSearches?: boolean; diff --git a/src/api/parameters/getMemberBoards.ts b/src/api/parameters/getMemberBoards.ts index 27aa128..ab1220a 100644 --- a/src/api/parameters/getMemberBoards.ts +++ b/src/api/parameters/getMemberBoards.ts @@ -3,12 +3,18 @@ export interface GetMemberBoards { id: string; /** `all` or a comma-separated list of: `closed`, `members`, `open`, `organization`, `public`, `starred` */ filter?: string; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; /** Which lists to include with the boards. One of: `all`, `closed`, `none`, `open` */ lists?: string; /** Whether to include the Organization object with the Boards */ organization?: boolean; - /** `all` or a comma-separated list of organization [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ organizationFields?: 'all' | string[]; } diff --git a/src/api/parameters/getMemberBoardsInvited.ts b/src/api/parameters/getMemberBoardsInvited.ts index db5389b..bd28c92 100644 --- a/src/api/parameters/getMemberBoardsInvited.ts +++ b/src/api/parameters/getMemberBoardsInvited.ts @@ -1,6 +1,9 @@ export interface GetMemberBoardsInvited { /** The ID or username of the member */ id: string; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/getMemberNotifications.ts b/src/api/parameters/getMemberNotifications.ts index 5a93052..5e64d4e 100644 --- a/src/api/parameters/getMemberNotifications.ts +++ b/src/api/parameters/getMemberNotifications.ts @@ -6,7 +6,10 @@ export interface GetMemberNotifications { filter?: string; /** One of: `all`, `read`, `unread` */ readFilter?: string; - /** `all` or a comma-separated list of notification [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of notification + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; /** Max 1000 */ limit?: number; @@ -17,6 +20,9 @@ export interface GetMemberNotifications { /** A notification ID */ since?: string; memberCreator?: boolean; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ memberCreatorFields?: string; } diff --git a/src/api/parameters/getMemberOrganizations.ts b/src/api/parameters/getMemberOrganizations.ts index 3f33da0..5f9f59d 100644 --- a/src/api/parameters/getMemberOrganizations.ts +++ b/src/api/parameters/getMemberOrganizations.ts @@ -3,7 +3,10 @@ export interface GetMemberOrganizations { id: string; /** One of: `all`, `members`, `none`, `public` (Note: `members` filters to only private teams) */ filter?: string; - /** `all` or a comma-separated list of organization [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string; paidAccount?: boolean; } diff --git a/src/api/parameters/getMemberOrganizationsInvited.ts b/src/api/parameters/getMemberOrganizationsInvited.ts index c59e1e5..9a061b3 100644 --- a/src/api/parameters/getMemberOrganizationsInvited.ts +++ b/src/api/parameters/getMemberOrganizationsInvited.ts @@ -1,6 +1,9 @@ export interface GetMemberOrganizationsInvited { /** The ID or username of the member */ id: string; - /** `all` or a comma-separated list of organization [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string; } diff --git a/src/api/parameters/getNotification.ts b/src/api/parameters/getNotification.ts index 67bcba7..ff18f72 100644 --- a/src/api/parameters/getNotification.ts +++ b/src/api/parameters/getNotification.ts @@ -3,30 +3,48 @@ export interface GetNotification { id: string; /** Whether to include the board object */ board?: boolean; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ boardFields?: 'all' | string; /** Whether to include the card object */ card?: boolean; - /** `all` or a comma-separated list of card [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of card + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ cardFields?: 'all' | string[]; /** Whether to include the display object with the results */ display?: boolean; /** Whether to include the entities object with the results */ entities?: boolean; - /** `all` or a comma-separated list of notification [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of notification + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; /** Whether to include the list object */ list?: boolean; /** Whether to include the member object */ member?: boolean; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ memberFields?: 'all' | string[]; /** Whether to include the member object of the creator */ memberCreator?: boolean; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ memberCreatorFields?: 'all' | string[]; /** Whether to include the organization object */ organization?: boolean; - /** `all` or a comma-separated list of organization [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ organizationFields?: 'all' | string[]; } diff --git a/src/api/parameters/getNotificationBoard.ts b/src/api/parameters/getNotificationBoard.ts index 647b602..d701739 100644 --- a/src/api/parameters/getNotificationBoard.ts +++ b/src/api/parameters/getNotificationBoard.ts @@ -1,6 +1,9 @@ export interface GetNotificationBoard { /** The ID of the notification */ id: string; - /** `all` or a comma-separated list of board[fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of + * board[fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/getNotificationCard.ts b/src/api/parameters/getNotificationCard.ts index 0554fbb..097af81 100644 --- a/src/api/parameters/getNotificationCard.ts +++ b/src/api/parameters/getNotificationCard.ts @@ -1,6 +1,9 @@ export interface GetNotificationCard { /** The ID of the notification */ id: string; - /** `all` or a comma-separated list of card [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of card + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/getNotificationList.ts b/src/api/parameters/getNotificationList.ts index 541c35e..4311576 100644 --- a/src/api/parameters/getNotificationList.ts +++ b/src/api/parameters/getNotificationList.ts @@ -1,6 +1,9 @@ export interface GetNotificationList { /** The ID of the notification */ id: string; - /** `all` or a comma-separated list of list [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of list + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/getNotificationMember.ts b/src/api/parameters/getNotificationMember.ts index 350d7bf..ae27290 100644 --- a/src/api/parameters/getNotificationMember.ts +++ b/src/api/parameters/getNotificationMember.ts @@ -1,6 +1,9 @@ export interface GetNotificationMember { /** The ID of the notification */ id: string; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/getNotificationMemberCreator.ts b/src/api/parameters/getNotificationMemberCreator.ts index 213d667..7f5315e 100644 --- a/src/api/parameters/getNotificationMemberCreator.ts +++ b/src/api/parameters/getNotificationMemberCreator.ts @@ -1,6 +1,9 @@ export interface GetNotificationMemberCreator { /** The ID of the notification */ id: string; - /** `all` or a comma-separated list of member [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of member + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/getNotificationOrganization.ts b/src/api/parameters/getNotificationOrganization.ts index 67383cd..59d7dec 100644 --- a/src/api/parameters/getNotificationOrganization.ts +++ b/src/api/parameters/getNotificationOrganization.ts @@ -1,6 +1,9 @@ export interface GetNotificationOrganization { /** The ID of the notification */ id: string; - /** `all` or a comma-separated list of organization [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of organization + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/getOrganizationBoards.ts b/src/api/parameters/getOrganizationBoards.ts index 3de3a97..dc0a045 100644 --- a/src/api/parameters/getOrganizationBoards.ts +++ b/src/api/parameters/getOrganizationBoards.ts @@ -3,6 +3,9 @@ export interface GetOrganizationBoards { id: string; /** `all` or a comma-separated list of: `open`, `closed`, `members`, `organization`, `public` */ filter?: string; - /** `all` or a comma-separated list of board [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) */ + /** + * `all` or a comma-separated list of board + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) + */ fields?: string; } diff --git a/src/api/parameters/getSearch.ts b/src/api/parameters/getSearch.ts index 206d9d6..b618654 100644 --- a/src/api/parameters/getSearch.ts +++ b/src/api/parameters/getSearch.ts @@ -7,36 +7,281 @@ export interface GetSearch { idOrganizations?: string[]; /** A comma-separated list of Card IDs */ idCards?: string[]; - /** What type or types of Trello objects you want to search. all or a comma-separated list of: `actions`, `boards`, `cards`, `members`, `organizations` */ - modelTypes?: string[]; - /** all or a comma-separated list of: `closed`, `dateLastActivity`, `dateLastView`, `desc`, `descData`, `idOrganization`, `invitations`, `invited`, `labelNames`, `memberships`, `name`, `pinned`, `powerUps`, `prefs`, `shortLink`, `shortUrl`, `starred`, `subscribed`, `url` */ + /** + * What type or types of Trello objects you want to search. all or a comma-separated list of: `actions`, `boards`, + * `cards`, `members`, `organizations` + */ + modelTypes?: + | 'all' + | string + | string[] + | 'actions' + | 'boards' + | 'cards' + | 'members' + | 'organizations' + | ('actions' | 'boards' | 'cards' | 'members' | 'organizations')[]; + + board?: { + /** + * All or a comma-separated list of: `closed`, `dateLastActivity`, `dateLastView`, `desc`, `descData`, + * `idOrganization`, `invitations`, `invited`, `labelNames`, `memberships`, `name`, `pinned`, `powerUps`, `prefs`, + * `shortLink`, `shortUrl`, `starred`, `subscribed`, `url` + */ + fields?: + | 'all' + | string + | string[] + | 'closed' + | 'dateLastActivity' + | 'dateLastView' + | 'desc' + | 'descData' + | 'idOrganization' + | 'invitations' + | 'invited' + | 'labelNames' + | 'memberships' + | 'name' + | 'pinned' + | 'powerUps' + | 'prefs' + | 'shortLink' + | 'shortUrl' + | 'starred' + | 'subscribed' + | 'url' + | ( + | 'closed' + | 'dateLastActivity' + | 'dateLastView' + | 'desc' + | 'descData' + | 'idOrganization' + | 'invitations' + | 'invited' + | 'labelNames' + | 'memberships' + | 'name' + | 'pinned' + | 'powerUps' + | 'prefs' + | 'shortLink' + | 'shortUrl' + | 'starred' + | 'subscribed' + | 'url' + )[]; + organization?: string; + }; + + boards?: { + /** The maximum number of boards returned. Maximum: 1000 */ + limit?: number; + }; + + card?: { + /** + * All or a comma-separated list of: `badges`, `checkItemStates`, `closed`, `dateLastActivity`, `desc`, `descData`, + * `due`, `email`, `idAttachmentCover`, `idBoard`, `idChecklists`, `idLabels`, `idList`, `idMembers`, + * `idMembersVoted`, `idShort`, `labels`, `manualCoverAttachment`, `name`, `pos`, `shortLink`, `shortUrl`, + * `subscribed`, `url` + */ + fields?: + | 'all' + | string + | string[] + | 'badges' + | 'checkItemStates' + | 'closed' + | 'dateLastActivity' + | 'desc' + | 'descData' + | 'due' + | 'email' + | 'idAttachmentCover' + | 'idBoard' + | 'idChecklists' + | 'idLabels' + | 'idList' + | 'idMembers' + | 'idMembersVoted' + | 'idShort' + | 'labels' + | 'manualCoverAttachment' + | 'name' + | 'pos' + | 'shortLink' + | 'shortUrl' + | 'subscribed' + | 'url' + | ( + | 'badges' + | 'checkItemStates' + | 'closed' + | 'dateLastActivity' + | 'desc' + | 'descData' + | 'due' + | 'email' + | 'idAttachmentCover' + | 'idBoard' + | 'idChecklists' + | 'idLabels' + | 'idList' + | 'idMembers' + | 'idMembersVoted' + | 'idShort' + | 'labels' + | 'manualCoverAttachment' + | 'name' + | 'pos' + | 'shortLink' + | 'shortUrl' + | 'subscribed' + | 'url' + )[]; + /** Whether to include the parent board with card results */ + board?: boolean; + /** Whether to include the parent list with card results */ + list?: boolean; + /** Whether to include member objects with card results */ + members?: boolean; + /** Whether to include sticker objects with card results */ + stickers?: boolean; + /** + * Whether to include attachment objects with card results. A boolean value (true or false) or cover for only card + * cover attachments. + */ + attachments?: boolean; + }; + + cards?: { + /** The maximum number of cards to return. Maximum: 1000 */ + limit?: number; + /** The page of results for cards. Maximum: 100 */ + page?: number; + }; + + /** @deprecated Use `board: { fields: '...' }` instead. */ boardFields?: 'all' | string[]; - /** The maximum number of boards returned. Maximum: 1000 */ + /** + * @deprecated Use `boards: { limit: 1 }` instead. + * + * The maximum number of boards returned. Maximum: 1000 + */ boardsLimit?: number; - /** all or a comma-separated list of: `badges`, `checkItemStates`, `closed`, `dateLastActivity`, `desc`, `descData`, `due`, `email`, `idAttachmentCover`, `idBoard`, `idChecklists`, `idLabels`, `idList`, `idMembers`, `idMembersVoted`, `idShort`, `labels`, `manualCoverAttachment`, `name`, `pos`, `shortLink`, `shortUrl`, `subscribed`, `url` */ + /** + * @deprecated Use `card: { fields: '...' }` instead. + * + * All or a comma-separated list of: `badges`, `checkItemStates`, `closed`, `dateLastActivity`, `desc`, `descData`, + * `due`, `email`, `idAttachmentCover`, `idBoard`, `idChecklists`, `idLabels`, `idList`, `idMembers`, + * `idMembersVoted`, `idShort`, `labels`, `manualCoverAttachment`, `name`, `pos`, `shortLink`, `shortUrl`, + * `subscribed`, `url` + */ cardFields?: 'all' | string[]; - /** The maximum number of cards to return. Maximum: 1000 */ + /** + * @deprecated Use `cards: { limit: 1 }` instead. + * + * The maximum number of cards to return. Maximum: 1000 + */ cardsLimit?: number; - /** The page of results for cards. Maximum: 100 */ + /** + * @deprecated Use `cards: { page: 1 }` instead. + * + * The page of results for cards. Maximum: 100 + */ cardsPage?: number; - /** Whether to include the parent board with card results */ + /** + * @deprecated Use `card: { board: true }` instead. + * + * Whether to include the parent board with card results + */ cardBoard?: boolean; - /** Whether to include the parent list with card results */ + /** + * @deprecated Use `card: { list: true }` instead. + * + * Whether to include the parent list with card results + */ cardList?: boolean; - /** Whether to include member objects with card results */ + /** + * @deprecated Use `card: { members: true }` instead. + * + * Whether to include member objects with card results + */ cardMembers?: boolean; - /** Whether to include sticker objects with card results */ + /** + * @deprecated Use `card: { stickers: true }` instead. + * + * Whether to include sticker objects with card results + */ cardStickers?: boolean; - /** Whether to include attachment objects with card results. A boolean value (true or false) or cover for only card cover attachments. */ - cardAttachments?: string; - /** all or a comma-separated list of billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url, website */ + /** + * @deprecated Use `card: { attachments: true }` instead. + * + * Whether to include attachment objects with card results. A boolean value (true or false) or cover for only card + * cover attachments. + */ + cardAttachments?: string | boolean; + + organization?: { + /** + * All or a comma-separated list of billableMemberCount, desc, descData, displayName, idBoards, invitations, + * invited, logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url, website + */ + fields?: 'all' | string | string[]; + }; + + organizations?: { + /** The maximum number of teams to return. Maximum 1000 */ + limit?: number; + }; + + /** + * @deprecated Use `organization: { fields: '...' }` instead. + * + * All or a comma-separated list of billableMemberCount, desc, descData, displayName, idBoards, invitations, invited, + * logoHash, memberships, name, powerUps, prefs, premiumFeatures, products, url, website + */ organizationFields?: string; - /** The maximum number of teams to return. Maximum 1000 */ + /** + * @deprecated Use `organizations: { limit: 1 }` instead. + * + * The maximum number of teams to return. Maximum 1000 + */ organizationsLimit?: number; - /** all or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url, username */ + + member?: { + /** + * All or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, + * memberType, products, status, url, username + */ + fields?: string; + }; + + members?: { + /** The maximum number of members to return. Maximum 1000 */ + limit?: number; + }; + + /** + * @deprecated Use `member: { fields: '...' }` instead. + * + * All or a comma-separated list of: avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, + * memberType, products, status, url, username + */ memberFields?: string; - /** The maximum number of members to return. Maximum 1000 */ + /** + * @deprecated Use `members: { limit: 1 }` instead. + * + * The maximum number of members to return. Maximum 1000 + */ membersLimit?: number; - /** By default, Trello searches for each word in your query against exactly matching words within Member content. Specifying partial to be true means that we will look for content that starts with any of the words in your query. If you are looking for a Card titled "My Development Status Report", by default you would need to search for "Development". If you have partial enabled, you will be able to search for "dev" but not "velopment". */ + /** + * By default, Trello searches for each word in your query against exactly matching words within Member content. + * Specifying partial to be true means that we will look for content that starts with any of the words in your query. + * If you are looking for a Card titled "My Development Status Report", by default you would need to search for + * "Development". If you have partial enabled, you will be able to search for "dev" but not "development". + */ partial?: boolean; } diff --git a/src/api/parameters/getTokenMember.ts b/src/api/parameters/getTokenMember.ts index 1f0aa43..0700a90 100644 --- a/src/api/parameters/getTokenMember.ts +++ b/src/api/parameters/getTokenMember.ts @@ -1,5 +1,8 @@ export interface GetTokenMember { token: string; - /** `all` or a comma-separated list of valid fields for [Member Object](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). */ + /** + * `all` or a comma-separated list of valid fields for [Member + * Object](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/). + */ fields?: 'all' | string[]; } diff --git a/src/api/parameters/index.ts b/src/api/parameters/index.ts index 6734488..41d3abe 100644 --- a/src/api/parameters/index.ts +++ b/src/api/parameters/index.ts @@ -8,6 +8,8 @@ export * from './getActionList'; export * from './getActionMember'; export * from './getActionMemberCreator'; export * from './getActionOrganization'; +export * from './getEnterprisesIdClaimableOrganizations'; +export * from './getEnterprisesIdPendingOrganizations'; export * from './updateActionText'; export * from './getActionReactions'; export * from './addActionReaction'; diff --git a/src/api/parameters/inviteMember.ts b/src/api/parameters/inviteMember.ts index 8dd9db7..81454c4 100644 --- a/src/api/parameters/inviteMember.ts +++ b/src/api/parameters/inviteMember.ts @@ -5,6 +5,9 @@ export interface InviteMember { email: string; /** Valid values: admin, normal, observer. Determines what type of member the user being added should be of the board. */ type?: string; - /** The full name of the user to as a member of the board. Must have a length of at least 1 and cannot begin nor end with a space. */ + /** + * The full name of the user to as a member of the board. Must have a length of at least 1 and cannot begin nor end + * with a space. + */ fullName?: string; } diff --git a/src/api/parameters/markAllNotificationsAsRead.ts b/src/api/parameters/markAllNotificationsAsRead.ts index 42b4715..8410b51 100644 --- a/src/api/parameters/markAllNotificationsAsRead.ts +++ b/src/api/parameters/markAllNotificationsAsRead.ts @@ -3,6 +3,10 @@ import { TrelloID } from '../models'; export interface MarkAllNotificationsAsRead { /** Boolean to specify whether to mark as read or unread (defaults to `true`, marking as read) */ read?: boolean; - /** A comma-seperated list of IDs. Allows specifying an array of notification IDs to change the read state for. This will become useful as we add grouping of notifications to the UI, with a single button to mark all notifications in the group as read/unread. */ + /** + * A comma-seperated list of IDs. Allows specifying an array of notification IDs to change the read state for. This + * will become useful as we add grouping of notifications to the UI, with a single button to mark all notifications in + * the group as read/unread. + */ ids?: TrelloID[]; } diff --git a/src/api/parameters/updateBoard.ts b/src/api/parameters/updateBoard.ts index eb6d04b..83a001a 100644 --- a/src/api/parameters/updateBoard.ts +++ b/src/api/parameters/updateBoard.ts @@ -2,7 +2,7 @@ export interface UpdateBoard { id: string; /** The new name for the board. 1 to 16384 characters long. */ name?: string; - /** A new description for the board, 0 to 16384 characters long */ + /** A new description for the board | 0 to 16384 characters long */ desc?: string; /** Whether the board is closed */ closed?: boolean; @@ -10,36 +10,140 @@ export interface UpdateBoard { subscribed?: boolean; /** The id of the team the board should be moved to */ idOrganization?: string; - /** One of: org, private, public */ + + prefs?: { + /** One of: org, private, public */ + permissionLevel?: 'org' | 'private' | 'public'; + /** Whether team members can join the board themselves */ + selfJoin?: boolean; + /** Whether card covers should be displayed on this board */ + cardCovers?: boolean; + /** Determines whether the Voting Power-Up should hide who voted on cards or not. */ + hideVotes?: boolean; + /** Who can invite people to this board. One of: admins, members */ + invitations?: 'admins' | 'members'; + /** Who can vote on this board. One of disabled, members, observers, org, public */ + voting?: 'disabled' | 'members' | 'observers' | 'org' | 'public'; + /** Who can comment on cards on this board. One of: disabled, members, observers, org, public */ + comments?: 'disabled' | 'members' | 'observers' | 'org' | 'public'; + /** The id of a custom background or one of: blue, orange, green, red, purple, pink, lime, sky, grey */ + background?: 'blue' | 'orange' | 'green' | 'red' | 'purple' | 'pink' | 'lime' | 'sky' | 'grey'; + /** One of: pirate, regular */ + cardAging?: 'pirate' | 'regular'; + /** Determines whether the calendar feed is enabled or not. */ + calendarFeedEnabled?: boolean; + }; + + labelNames?: { + /** Name for the green label. 1 to 16384 characters long */ + green?: string; + /** Name for the yellow label. 1 to 16384 characters long */ + yellow?: string; + /** Name for the orange label. 1 to 16384 characters long */ + orange?: string; + /** Name for the red label. 1 to 16384 characters long */ + red?: string; + /** Name for the purple label. 1 to 16384 characters long */ + purple?: string; + /** Name for the blue label. 1 to 16384 characters long */ + blue?: string; + }; + + /** + * @deprecated Use `prefs.permissionLevel` instead. + * + * One of: org | private | public + */ permissionLevel?: string; - /** Whether team members can join the board themselves */ + /** + * @deprecated Use `prefs.selfJoin` instead. + * + * Whether team members can join the board themselves + */ selfJoin?: boolean; - /** Whether card covers should be displayed on this board */ + /** + * @deprecated Use `prefs.cardCovers` instead. + * + * Whether card covers should be displayed on this board + */ cardCovers?: boolean; - /** Determines whether the Voting Power-Up should hide who voted on cards or not. */ + /** + * @deprecated Use `prefs.hideVotes` instead. + * + * Determines whether the Voting Power-Up should hide who voted on cards or not. + */ hideVotes?: boolean; - /** Who can invite people to this board. One of: admins, members */ + /** + * @deprecated Use `prefs.invitations` instead. + * + * Who can invite people to this board. One of: admins | members + */ invitations?: string; - /** Who can vote on this board. One of disabled, members, observers, org, public */ + /** + * @deprecated Use `prefs.voting` instead. + * + * Who can vote on this board. One of disabled | members | observers | org | public + */ voting?: string; - /** Who can comment on cards on this board. One of: disabled, members, observers, org, public */ + /** + * @deprecated Use `prefs.comments` instead. + * + * Who can comment on cards on this board. One of: disabled | members | observers | org | public + */ comments?: string; - /** The id of a custom background or one of: blue, orange, green, red, purple, pink, lime, sky, grey */ + /** + * @deprecated Use `prefs.background` instead. + * + * The id of a custom background or one of: blue | orange | green | red | purple | pink | lime | sky | grey + */ background?: string; - /** One of: pirate, regular */ + /** + * @deprecated Use `prefs.cardAging` instead. + * + * One of: pirate | regular + */ cardAging?: string; - /** Determines whether the calendar feed is enabled or not. */ + /** + * @deprecated Use `prefs.calendarFeedEnabled` instead. + * + * Determines whether the calendar feed is enabled or not. + */ calendarFeedEnabled?: boolean; - /** Name for the green label. 1 to 16384 characters long */ + + /** + * @deprecated Use `labelNames.green` instead. + * + * Name for the green label. 1 to 16384 characters long + */ green?: string; - /** Name for the yellow label. 1 to 16384 characters long */ + /** + * @deprecated Use `labelNames.yellow` instead. + * + * Name for the yellow label. 1 to 16384 characters long + */ yellow?: string; - /** Name for the orange label. 1 to 16384 characters long */ + /** + * @deprecated Use `labelNames.orange` instead. + * + * Name for the orange label. 1 to 16384 characters long + */ orange?: string; - /** Name for the red label. 1 to 16384 characters long */ + /** + * @deprecated Use `labelNames.red` instead. + * + * Name for the red label. 1 to 16384 characters long + */ red?: string; - /** Name for the purple label. 1 to 16384 characters long */ + /** + * @deprecated Use `labelNames.purple` instead. + * + * Name for the purple label. 1 to 16384 characters long + */ purple?: string; - /** Name for the blue label. 1 to 16384 characters long */ + /** + * @deprecated Use `labelNames.blue` instead. + * + * Name for the blue label. 1 to 16384 characters long + */ blue?: string; } diff --git a/src/api/parameters/updateCard.ts b/src/api/parameters/updateCard.ts index 39103f5..27fd891 100644 --- a/src/api/parameters/updateCard.ts +++ b/src/api/parameters/updateCard.ts @@ -31,30 +31,38 @@ export interface UpdateCard { locationName?: string; /** For use with/by the Map Power-Up. Should be latitude,longitude */ coordinates?: string; - /** Updates the card's cover - - | Option | Values | About | - |--------|--------|-------| - | color | `pink`, `yellow`, `lime`, `blue`, `black`, `orange`, `red`, `purple`, `sky`, `green` | Makes the cover a solid color . | - | brightness | `dark`, `light` | Determines whether the text on the cover should be dark or light. - | url | An unsplash URL: https://images.unsplash.com | Used if making an image the cover. Only Unsplash URLs work. - | idAttachment | ID of an attachment on the card | Used if setting an attached image as the cover. | - | size | `normal`, `full` | Determines whether to show the card name on the cover, or below it. | - - `brightness` can be sent alongside any of the other parameters, but all of the other parameters are mutually exclusive; you can not have the cover be a `color` and an `idAttachment` at the same time. - - On the brightness options, setting it to light will make the text on the card cover dark: - ![](https://developer.atlassian.com/cloud/trello/images/rest/cards/cover-brightness-dark.png) - - And vice versa, setting it to dark will make the text on the card cover light: - ![](https://developer.atlassian.com/cloud/trello/images/rest/cards/cover-brightness-light.png) */ + /** + * Updates the card's cover + * + * | Option | Values | About | + * |--------|--------|-------| + * | color | `pink`, `yellow`, `lime`, `blue`, `black`, `orange`, `red`, `purple`, `sky`, `green` | Makes the cover a solid color . | + * | brightness | `dark`, `light` | Determines whether the text on the cover should be dark or light. + * | url | An unsplash URL: https://images.unsplash.com | Used if making an image the cover. Only Unsplash URLs work. + * | idAttachment | ID of an attachment on the card | Used if setting an attached image as the cover. | + * | size | `normal`, `full` | Determines whether to show the card name on the cover, or below it. | + * + * `brightness` can be sent alongside any of the other parameters, but all of the other parameters are mutually exclusive; you can not have the cover be a `color` and an `idAttachment` at the same time. + * + * On the brightness options, setting it to light will make the text on the card cover dark: + * ![](https://developer.atlassian.com/cloud/trello/images/rest/cards/cover-brightness-dark.png) + * + * And vice versa, setting it to dark will make the text on the card cover light: + * ![](https://developer.atlassian.com/cloud/trello/images/rest/cards/cover-brightness-light.png) + */ cover?: { - /** An object containing information regarding the card's cover - `brightness` can be sent alongside any of the other parameters, but all of the other parameters are mutually exclusive; you can not have the cover be a color and an `idAttachment` at the same time. */ + /** + * An object containing information regarding the card's cover `brightness` can be sent alongside any of the other + * parameters, but all of the other parameters are mutually exclusive; you can not have the cover be a color and an + * `idAttachment` at the same time. + */ value?: { /** One of: `pink, yellow, lime, blue, black, orange, red, purple, sky, green` */ color?: string; - /** Determines whether the text on the cover should be dark or light. Setting it to `light` will make the text on the card cover dark. And vice versa, setting it to dark will make the text on the card cover light */ + /** + * Determines whether the text on the cover should be dark or light. Setting it to `light` will make the text on + * the card cover dark. And vice versa, setting it to dark will make the text on the card cover light + */ brightness?: string; /** Used if making an image the cover. Only Unsplash URLs (https://images.unsplash.com/) work. */ url?: string; diff --git a/src/api/parameters/updateEnterpriseMemberLicense.ts b/src/api/parameters/updateEnterpriseMemberLicense.ts index eb08082..319dd0f 100644 --- a/src/api/parameters/updateEnterpriseMemberLicense.ts +++ b/src/api/parameters/updateEnterpriseMemberLicense.ts @@ -4,5 +4,11 @@ export interface UpdateEnterpriseMemberLicense { /** The ID of the Member */ idMember: string; /** Boolean value to determine whether the user should be given an Enterprise license (true) or not (false). */ + value: boolean; + /** + * @deprecated Use `value` instead. + * + * Boolean value to determine whether the user should be given an Enterprise license (true) or not (false). + */ values: boolean; } diff --git a/src/api/parameters/updateLabel.ts b/src/api/parameters/updateLabel.ts index a209e40..2da8b3b 100644 --- a/src/api/parameters/updateLabel.ts +++ b/src/api/parameters/updateLabel.ts @@ -3,6 +3,9 @@ export interface UpdateLabel { id: string; /** The new name for the label */ name?: string; - /** The new color for the label. See: [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) for color options */ + /** + * The new color for the label. See: + * [fields](https://developer.atlassian.com/cloud/trello/guides/rest-api/object-definitions/) for color options + */ color?: string; } diff --git a/src/api/parameters/updateMemberOnBoard.ts b/src/api/parameters/updateMemberOnBoard.ts index 0c36e0e..f427859 100644 --- a/src/api/parameters/updateMemberOnBoard.ts +++ b/src/api/parameters/updateMemberOnBoard.ts @@ -5,6 +5,9 @@ export interface UpdateMemberOnBoard { idMembership: string; /** One of: admin, normal, observer. Determines the type of member that this membership will be to this board. */ type: string; - /** Valid values: all, avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, status, url, username */ + /** + * Valid values: all, avatarHash, bio, bioData, confirmed, fullName, idPremOrgsAdmin, initials, memberType, products, + * status, url, username + */ memberFields?: string; } diff --git a/src/api/plugins.ts b/src/api/plugins.ts index d69e7d8..ec04a23 100644 --- a/src/api/plugins.ts +++ b/src/api/plugins.ts @@ -4,45 +4,51 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Plugins { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Get plugins */ + /** Get plugins */ async getPlugin(parameters: Parameters.GetPlugin, callback: Callback): Promise; - /** - * Get plugins */ - async getPlugin(parameters: Parameters.GetPlugin, callback?: undefined): Promise; + /** Get plugins */ + async getPlugin(parameters: Parameters.GetPlugin, callback?: never): Promise; async getPlugin(parameters: Parameters.GetPlugin, callback?: Callback): Promise { const config: RequestConfig = { url: `/plugins/${parameters.id}/`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getPlugin' }); + return this.client.sendRequest(config, callback); } - /** - * Update a Plugin */ + /** Update a Plugin */ async updatePlugin(parameters: Parameters.UpdatePlugin, callback: Callback): Promise; - /** - * Update a Plugin */ - async updatePlugin(parameters: Parameters.UpdatePlugin, callback?: undefined): Promise; - async updatePlugin(parameters: Parameters.UpdatePlugin, callback?: Callback): Promise { + /** Update a Plugin */ + async updatePlugin(parameters: Parameters.UpdatePlugin, callback?: never): Promise; + async updatePlugin( + parameters: Parameters.UpdatePlugin, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/plugins/${parameters.id}/`, method: 'PUT', }; - return this.client.sendRequest(config, callback, { methodName: 'updatePlugin' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new listing for a given locale for your Power-Up */ - async createPluginListing(parameters: Parameters.CreatePluginListing, callback: Callback): Promise; - /** - * Create a new listing for a given locale for your Power-Up */ - async createPluginListing(parameters: Parameters.CreatePluginListing, callback?: undefined): Promise; - async createPluginListing(parameters: Parameters.CreatePluginListing, callback?: Callback): Promise { + /** Create a new listing for a given locale for your Power-Up */ + async createPluginListing( + parameters: Parameters.CreatePluginListing, + callback: Callback + ): Promise; + /** Create a new listing for a given locale for your Power-Up */ + async createPluginListing( + parameters: Parameters.CreatePluginListing, + callback?: never + ): Promise; + async createPluginListing( + parameters: Parameters.CreatePluginListing, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/plugins/${parameters.idPlugin}/listing`, method: 'POST', @@ -54,27 +60,43 @@ export class Plugins { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createPluginListing' }); + return this.client.sendRequest(config, callback); } - async getPluginComplianceMemberPrivacy(parameters: Parameters.GetPluginComplianceMemberPrivacy, callback: Callback): Promise; - async getPluginComplianceMemberPrivacy(parameters: Parameters.GetPluginComplianceMemberPrivacy, callback?: undefined): Promise; - async getPluginComplianceMemberPrivacy(parameters: Parameters.GetPluginComplianceMemberPrivacy, callback?: Callback): Promise { + async getPluginComplianceMemberPrivacy( + parameters: Parameters.GetPluginComplianceMemberPrivacy, + callback: Callback + ): Promise; + async getPluginComplianceMemberPrivacy( + parameters: Parameters.GetPluginComplianceMemberPrivacy, + callback?: never + ): Promise; + async getPluginComplianceMemberPrivacy( + parameters: Parameters.GetPluginComplianceMemberPrivacy, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/plugins/${parameters.id}/compliance/memberPrivacy`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getPluginComplianceMemberPrivacy' }); + return this.client.sendRequest(config, callback); } - /** - * Update an existing listing for your Power-Up */ - async updatePluginListing(parameters: Parameters.UpdatePluginListing, callback: Callback): Promise; - /** - * Update an existing listing for your Power-Up */ - async updatePluginListing(parameters: Parameters.UpdatePluginListing, callback?: undefined): Promise; - async updatePluginListing(parameters: Parameters.UpdatePluginListing, callback?: Callback): Promise { + /** Update an existing listing for your Power-Up */ + async updatePluginListing( + parameters: Parameters.UpdatePluginListing, + callback: Callback + ): Promise; + /** Update an existing listing for your Power-Up */ + async updatePluginListing( + parameters: Parameters.UpdatePluginListing, + callback?: never + ): Promise; + async updatePluginListing( + parameters: Parameters.UpdatePluginListing, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/plugins/${parameters.idPlugin}/listings/${parameters.idListing}`, method: 'PUT', @@ -86,6 +108,6 @@ export class Plugins { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updatePluginListing' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/search.ts b/src/api/search.ts index 56b9b41..724126a 100644 --- a/src/api/search.ts +++ b/src/api/search.ts @@ -1,17 +1,25 @@ +import * as Models from './models'; import * as Parameters from './parameters'; import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Search { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Find what you're looking for in Trello */ - async getSearch(parameters: Parameters.GetSearch, callback: Callback): Promise; - /** - * Find what you're looking for in Trello */ - async getSearch(parameters: Parameters.GetSearch, callback?: undefined): Promise; - async getSearch(parameters: Parameters.GetSearch, callback?: Callback): Promise { + /** Find what you're looking for in Trello */ + async getSearch>( + parameters: Parameters.GetSearch, + callback: Callback + ): Promise; + /** Find what you're looking for in Trello */ + async getSearch>( + parameters: Parameters.GetSearch, + callback?: never + ): Promise; + async getSearch>( + parameters: Parameters.GetSearch, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: '/search', method: 'GET', @@ -21,34 +29,39 @@ export class Search { idOrganizations: parameters.idOrganizations, idCards: parameters.idCards, modelTypes: parameters.modelTypes, - board_fields: parameters.boardFields, - boards_limit: parameters.boardsLimit, - card_fields: parameters.cardFields, - cards_limit: parameters.cardsLimit, - cards_page: parameters.cardsPage, - card_board: parameters.cardBoard, - card_list: parameters.cardList, - card_members: parameters.cardMembers, - card_stickers: parameters.cardStickers, - card_attachments: parameters.cardAttachments, - organization_fields: parameters.organizationFields, - organizations_limit: parameters.organizationsLimit, - member_fields: parameters.memberFields, - members_limit: parameters.membersLimit, + board_fields: parameters.boardFields ?? parameters.board?.fields, + boards_limit: parameters.boardsLimit ?? parameters.boards?.limit, + board_organization: parameters.board?.organization, + card_fields: parameters.cardFields ?? parameters.card?.fields, + cards_limit: parameters.cardsLimit ?? parameters.cards?.limit, + cards_page: parameters.cardsPage ?? parameters.cards?.page, + card_board: parameters.cardBoard ?? parameters.card?.board, + card_list: parameters.cardList ?? parameters.card?.list, + card_members: parameters.cardMembers ?? parameters.card?.members, + card_stickers: parameters.cardStickers ?? parameters.card?.stickers, + card_attachments: parameters.cardAttachments ?? parameters.card?.attachments, + organization_fields: parameters.organizationFields ?? parameters.organization?.fields, + organizations_limit: parameters.organizationsLimit ?? parameters.organizations?.limit, + member_fields: parameters.memberFields ?? parameters.member?.fields, + members_limit: parameters.membersLimit ?? parameters.members?.limit, partial: parameters.partial, }, }; - return this.client.sendRequest(config, callback, { methodName: 'getSearch' }); + return this.client.sendRequest(config, callback); } - /** - * Search for Trello members. */ - async getSearchMembers(parameters: Parameters.GetSearchMembers, callback: Callback): Promise; - /** - * Search for Trello members. */ - async getSearchMembers(parameters: Parameters.GetSearchMembers, callback?: undefined): Promise; - async getSearchMembers(parameters: Parameters.GetSearchMembers, callback?: Callback): Promise { + /** Search for Trello members. */ + async getSearchMembers( + parameters: Parameters.GetSearchMembers, + callback: Callback + ): Promise; + /** Search for Trello members. */ + async getSearchMembers(parameters: Parameters.GetSearchMembers, callback?: never): Promise; + async getSearchMembers( + parameters: Parameters.GetSearchMembers, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: '/search/members/', method: 'GET', @@ -61,6 +74,6 @@ export class Search { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getSearchMembers' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/tokens.ts b/src/api/tokens.ts index d38156e..13d71ce 100644 --- a/src/api/tokens.ts +++ b/src/api/tokens.ts @@ -4,14 +4,12 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Tokens { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Retrieve information about a token. */ + /** Retrieve information about a token. */ async getToken(parameters: Parameters.GetToken, callback: Callback): Promise; - /** - * Retrieve information about a token. */ - async getToken(parameters: Parameters.GetToken, callback?: undefined): Promise; + /** Retrieve information about a token. */ + async getToken(parameters: Parameters.GetToken, callback?: never): Promise; async getToken(parameters: Parameters.GetToken, callback?: Callback): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}`, @@ -22,16 +20,17 @@ export class Tokens { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getToken' }); + return this.client.sendRequest(config, callback); } - /** - * Retrieve information about a token's owner by token. */ + /** Retrieve information about a token's owner by token. */ async getTokenMember(parameters: Parameters.GetTokenMember, callback: Callback): Promise; - /** - * Retrieve information about a token's owner by token. */ - async getTokenMember(parameters: Parameters.GetTokenMember, callback?: undefined): Promise; - async getTokenMember(parameters: Parameters.GetTokenMember, callback?: Callback): Promise { + /** Retrieve information about a token's owner by token. */ + async getTokenMember(parameters: Parameters.GetTokenMember, callback?: never): Promise; + async getTokenMember( + parameters: Parameters.GetTokenMember, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}/member`, method: 'GET', @@ -40,31 +39,39 @@ export class Tokens { }, }; - return this.client.sendRequest(config, callback, { methodName: 'getTokenMember' }); + return this.client.sendRequest(config, callback); } - /** - * Retrieve all webhooks created with a Token. */ + /** Retrieve all webhooks created with a Token. */ async getTokenWebhooks(parameters: Parameters.GetTokenWebhooks, callback: Callback): Promise; - /** - * Retrieve all webhooks created with a Token. */ - async getTokenWebhooks(parameters: Parameters.GetTokenWebhooks, callback?: undefined): Promise; - async getTokenWebhooks(parameters: Parameters.GetTokenWebhooks, callback?: Callback): Promise { + /** Retrieve all webhooks created with a Token. */ + async getTokenWebhooks(parameters: Parameters.GetTokenWebhooks, callback?: never): Promise; + async getTokenWebhooks( + parameters: Parameters.GetTokenWebhooks, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}/webhooks`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getTokenWebhooks' }); + return this.client.sendRequest(config, callback); } - /** - * Create a new webhook for a Token. */ - async createTokenWebhooks(parameters: Parameters.CreateTokenWebhooks, callback: Callback): Promise; - /** - * Create a new webhook for a Token. */ - async createTokenWebhooks(parameters: Parameters.CreateTokenWebhooks, callback?: undefined): Promise; - async createTokenWebhooks(parameters: Parameters.CreateTokenWebhooks, callback?: Callback): Promise { + /** Create a new webhook for a Token. */ + async createTokenWebhooks( + parameters: Parameters.CreateTokenWebhooks, + callback: Callback + ): Promise; + /** Create a new webhook for a Token. */ + async createTokenWebhooks( + parameters: Parameters.CreateTokenWebhooks, + callback?: never + ): Promise; + async createTokenWebhooks( + parameters: Parameters.CreateTokenWebhooks, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}/webhooks`, method: 'POST', @@ -75,31 +82,39 @@ export class Tokens { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createTokenWebhooks' }); + return this.client.sendRequest(config, callback); } - /** - * Retrieve a webhook created with a Token. */ - async getTokenWebhook(parameters: Parameters.GetTokenWebhook, callback: Callback): Promise; - /** - * Retrieve a webhook created with a Token. */ - async getTokenWebhook(parameters: Parameters.GetTokenWebhook, callback?: undefined): Promise; - async getTokenWebhook(parameters: Parameters.GetTokenWebhook, callback?: Callback): Promise { + /** Retrieve a webhook created with a Token. */ + async getTokenWebhook( + parameters: Parameters.GetTokenWebhook, + callback: Callback + ): Promise; + /** Retrieve a webhook created with a Token. */ + async getTokenWebhook(parameters: Parameters.GetTokenWebhook, callback?: never): Promise; + async getTokenWebhook( + parameters: Parameters.GetTokenWebhook, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}/webhooks/${parameters.idWebhook}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getTokenWebhook' }); + return this.client.sendRequest(config, callback); } - /** - * Update a Webhook created by Token */ - async updateTokenWebhook(parameters: Parameters.UpdateTokenWebhook, callback: Callback): Promise; - /** - * Update a Webhook created by Token */ - async updateTokenWebhook(parameters: Parameters.UpdateTokenWebhook, callback?: undefined): Promise; - async updateTokenWebhook(parameters: Parameters.UpdateTokenWebhook, callback?: Callback): Promise { + /** Update a Webhook created by Token */ + async updateTokenWebhook( + parameters: Parameters.UpdateTokenWebhook, + callback: Callback + ): Promise; + /** Update a Webhook created by Token */ + async updateTokenWebhook(parameters: Parameters.UpdateTokenWebhook, callback?: never): Promise; + async updateTokenWebhook( + parameters: Parameters.UpdateTokenWebhook, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}/webhooks/${parameters.idWebhook}`, method: 'PUT', @@ -110,36 +125,38 @@ export class Tokens { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateTokenWebhook' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a webhook created with given token. */ - async deleteTokenWebhook(parameters: Parameters.DeleteTokenWebhook, callback: Callback): Promise; - /** - * Delete a webhook created with given token. */ - async deleteTokenWebhook(parameters: Parameters.DeleteTokenWebhook, callback?: undefined): Promise; - async deleteTokenWebhook(parameters: Parameters.DeleteTokenWebhook, callback?: Callback): Promise { + /** Delete a webhook created with given token. */ + async deleteTokenWebhook( + parameters: Parameters.DeleteTokenWebhook, + callback: Callback + ): Promise; + /** Delete a webhook created with given token. */ + async deleteTokenWebhook(parameters: Parameters.DeleteTokenWebhook, callback?: never): Promise; + async deleteTokenWebhook( + parameters: Parameters.DeleteTokenWebhook, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}/webhooks/${parameters.idWebhook}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteTokenWebhook' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a token. */ + /** Delete a token. */ async deleteToken(parameters: Parameters.DeleteToken, callback: Callback): Promise; - /** - * Delete a token. */ - async deleteToken(parameters: Parameters.DeleteToken, callback?: undefined): Promise; + /** Delete a token. */ + async deleteToken(parameters: Parameters.DeleteToken, callback?: never): Promise; async deleteToken(parameters: Parameters.DeleteToken, callback?: Callback): Promise { const config: RequestConfig = { url: `/tokens/${parameters.token}/`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteToken' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/api/webhooks.ts b/src/api/webhooks.ts index 4a50b80..869fe5c 100644 --- a/src/api/webhooks.ts +++ b/src/api/webhooks.ts @@ -4,15 +4,16 @@ import { Client } from '../clients'; import { Callback, RequestConfig } from '../types'; export class Webhooks { - constructor(private client: Client) { } + constructor(private client: Client) {} - /** - * Create a new webhook. */ + /** Create a new webhook. */ async createWebhook(parameters: Parameters.CreateWebhook, callback: Callback): Promise; - /** - * Create a new webhook. */ - async createWebhook(parameters: Parameters.CreateWebhook, callback?: undefined): Promise; - async createWebhook(parameters: Parameters.CreateWebhook, callback?: Callback): Promise { + /** Create a new webhook. */ + async createWebhook(parameters: Parameters.CreateWebhook, callback?: never): Promise; + async createWebhook( + parameters: Parameters.CreateWebhook, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: '/webhooks/', method: 'POST', @@ -24,31 +25,30 @@ export class Webhooks { }, }; - return this.client.sendRequest(config, callback, { methodName: 'createWebhook' }); + return this.client.sendRequest(config, callback); } - /** - * Get a webhook by ID. */ + /** Get a webhook by ID. */ async getWebhook(parameters: Parameters.GetWebhook, callback: Callback): Promise; - /** - * Get a webhook by ID. */ - async getWebhook(parameters: Parameters.GetWebhook, callback?: undefined): Promise; + /** Get a webhook by ID. */ + async getWebhook(parameters: Parameters.GetWebhook, callback?: never): Promise; async getWebhook(parameters: Parameters.GetWebhook, callback?: Callback): Promise { const config: RequestConfig = { url: `/webhooks/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getWebhook' }); + return this.client.sendRequest(config, callback); } - /** - * Update a webhook by ID. */ + /** Update a webhook by ID. */ async updateWebhook(parameters: Parameters.UpdateWebhook, callback: Callback): Promise; - /** - * Update a webhook by ID. */ - async updateWebhook(parameters: Parameters.UpdateWebhook, callback?: undefined): Promise; - async updateWebhook(parameters: Parameters.UpdateWebhook, callback?: Callback): Promise { + /** Update a webhook by ID. */ + async updateWebhook(parameters: Parameters.UpdateWebhook, callback?: never): Promise; + async updateWebhook( + parameters: Parameters.UpdateWebhook, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/webhooks/${parameters.id}`, method: 'PUT', @@ -60,36 +60,35 @@ export class Webhooks { }, }; - return this.client.sendRequest(config, callback, { methodName: 'updateWebhook' }); + return this.client.sendRequest(config, callback); } - /** - * Delete a webhook by ID. */ + /** Delete a webhook by ID. */ async deleteWebhook(parameters: Parameters.DeleteWebhook, callback: Callback): Promise; - /** - * Delete a webhook by ID. */ - async deleteWebhook(parameters: Parameters.DeleteWebhook, callback?: undefined): Promise; + /** Delete a webhook by ID. */ + async deleteWebhook(parameters: Parameters.DeleteWebhook, callback?: never): Promise; async deleteWebhook(parameters: Parameters.DeleteWebhook, callback?: Callback): Promise { const config: RequestConfig = { url: `/webhooks/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback, { methodName: 'deleteWebhook' }); + return this.client.sendRequest(config, callback); } - /** - * Get a field on a Webhook */ + /** Get a field on a Webhook */ async getWebhookField(parameters: Parameters.GetWebhookField, callback: Callback): Promise; - /** - * Get a field on a Webhook */ - async getWebhookField(parameters: Parameters.GetWebhookField, callback?: undefined): Promise; - async getWebhookField(parameters: Parameters.GetWebhookField, callback?: Callback): Promise { + /** Get a field on a Webhook */ + async getWebhookField(parameters: Parameters.GetWebhookField, callback?: never): Promise; + async getWebhookField( + parameters: Parameters.GetWebhookField, + callback?: Callback, + ): Promise { const config: RequestConfig = { url: `/webhooks/${parameters.id}/${parameters.field}`, method: 'GET', }; - return this.client.sendRequest(config, callback, { methodName: 'getWebhookField' }); + return this.client.sendRequest(config, callback); } } diff --git a/src/clients/baseClient.ts b/src/clients/baseClient.ts index 7cb7757..9937792 100644 --- a/src/clients/baseClient.ts +++ b/src/clients/baseClient.ts @@ -53,7 +53,11 @@ export class BaseClient implements Client { .replace(/%5D/gi, ']'); } - async sendRequest(requestConfig: RequestConfig, callback?: Callback | undefined, telemetryData?: any): Promise; + async sendRequest( + requestConfig: RequestConfig, + callback?: Callback | undefined, + telemetryData?: any + ): Promise; async sendRequest(requestConfig: RequestConfig, callback: Callback, telemetryData?: any): Promise; async sendRequest(rawRequestConfig: RequestConfig, callback?: Callback): Promise { const requestConfig: RequestConfig = { diff --git a/src/clients/client.ts b/src/clients/client.ts index 1fd4625..40e61b1 100644 --- a/src/clients/client.ts +++ b/src/clients/client.ts @@ -1,7 +1,4 @@ -import { - Callback, - RequestConfig, -} from '../types'; +import { Callback, RequestConfig } from '../types'; export interface Client { sendRequest(requestConfig: RequestConfig, callback?: Callback | undefined, telemetryData?: any): Promise; diff --git a/tsconfig.json b/tsconfig.json index 4ae797e..0f2818d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,9 @@ "module": "CommonJS", "outDir": "out", "declaration": true, - "strict": true + "strict": true, + "forceConsistentCasingInFileNames": true, + "importHelpers": true }, "exclude": [ "node_modules", diff --git a/tsconfig.lint.json b/tsconfig.lint.json index ee56b47..4a4b144 100644 --- a/tsconfig.lint.json +++ b/tsconfig.lint.json @@ -1,11 +1,5 @@ { - "compilerOptions": { - "target": "ES6", - "module": "CommonJS", - "outDir": "out", - "declaration": true, - "strict": true - }, + "extends": "./tsconfig.json", "exclude": [ "node_modules", "out"