diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..f96e195 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,24 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + extends: ['plugin:astro/recommended'], + parser: '@typescript-eslint/parser', + parserOptions: { + tsconfigRootDir: __dirname, + sourceType: 'module', + ecmaVersion: 'latest' + }, + overrides: [ + { + files: ['*.astro'], + parser: 'astro-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser', + extraFileExtensions: ['.astro'] + }, + rules: { + // override/add rules settings here, such as: + // "astro/no-set-html-directive": "error" + } + } + ] +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2687565 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# submodule +shoukaku/ diff --git a/.gitmodules b/.gitmodules index 91f8392..44102a1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "shoukaku"] path = shoukaku url = https://github.com/shipgirlproject/shoukaku - branch = v2 + branch = master diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..b51abaa --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# Starlight Starter Kit: Basics + +[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build) + +``` +npm create astro@latest -- --template starlight +``` + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/starlight/tree/main/examples/basics) +[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/starlight/tree/main/examples/basics) +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fwithastro%2Fstarlight%2Ftree%2Fmain%2Fexamples%2Fbasics&project-name=my-starlight-docs&repository-name=my-starlight-docs) + +> πŸ§‘β€πŸš€ **Seasoned astronaut?** Delete this file. Have fun! + +## πŸš€ Project Structure + +Inside of your Astro + Starlight project, you'll see the following folders and files: + +``` +. +β”œβ”€β”€ public/ +β”œβ”€β”€ src/ +β”‚ β”œβ”€β”€ assets/ +β”‚ β”œβ”€β”€ content/ +β”‚ β”‚ β”œβ”€β”€ docs/ +β”‚ β”‚ └── config.ts +β”‚ └── env.d.ts +β”œβ”€β”€ astro.config.mjs +β”œβ”€β”€ package.json +└── tsconfig.json +``` + +Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name. + +Images can be added to `src/assets/` and embedded in Markdown with a relative link. + +Static assets, like favicons, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## πŸ‘€ Want to learn more? + +Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat). diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..bea52ac --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,44 @@ +import { defineConfig } from 'astro/config'; +import starlight from '@astrojs/starlight'; +import starlightTypeDoc, { typeDocSidebarGroup } from 'starlight-typedoc'; +import starlightVersions from 'starlight-versions'; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + starlight({ + plugins: [ + // Generate the documentation. + starlightTypeDoc({ + entryPoints: ['./shoukaku/index.ts'], + tsconfig: './shoukaku/tsconfig.json', + sidebar: { + collapsed: false, + label: "API Reference", + }, + }), + starlightVersions({ + versions: [ + { slug: '4.0.1' }, + { slug: '3.4.2' }, + ], + }), + ], + title: 'Shoukaku Docs', + social: { + github: 'https://github.com/shipgirlproject/shoukaku', + discord: 'https://discord.gg/FVqbtGu', + }, + sidebar: [ + { + label: 'Guides', + autogenerate: { directory: 'guides' }, + }, + typeDocSidebarGroup, + ], + editLink: { + baseUrl: "https://github.com/shipgirlproject/shoukaku-docs/edit/main/" + } + }), + ], +}); diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 0000000..1533397 Binary files /dev/null and b/bun.lockb differ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9899885 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7714 @@ +{ + "name": "shoukaku-docs", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "version": "0.0.1", + "dependencies": { + "@astrojs/check": "^0.7.0", + "@astrojs/starlight": "^0.24.5", + "astro": "^4.10.2", + "sharp": "^0.32.5", + "typescript": "^5.5.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@astrojs/check": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.7.0.tgz", + "integrity": "sha512-UTqwOeKNu9IYZmJXEeWnQuTdSd/pX58Hl4TUARsMlT97SVDL//kLBE4T/ctxRz6J573N87oE5ddtW/uOOnQTug==", + "dependencies": { + "@astrojs/language-server": "^2.10.0", + "chokidar": "^3.5.3", + "fast-glob": "^3.3.1", + "kleur": "^4.1.5", + "yargs": "^17.7.2" + }, + "bin": { + "astro-check": "dist/bin.js" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.8.1.tgz", + "integrity": "sha512-NGfPAgU/9rvDEwsXu82RI1AxiivaxtEYBK9saW1f+2fTHUUqCJQ27HYtb2akG2QxCmFikgZ9zk26BEWgiHho1Q==" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.4.1.tgz", + "integrity": "sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==" + }, + "node_modules/@astrojs/language-server": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.10.0.tgz", + "integrity": "sha512-crHXpqYfA5qWioiuZnZFpTsNItgBlF1f0S9MzDYS7/pfCALkHNJ7K3w9U/j0uMKymsT4hC7BfMaX0DYlfdSzHg==", + "dependencies": { + "@astrojs/compiler": "^2.7.0", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@volar/kit": "~2.2.3", + "@volar/language-core": "~2.2.3", + "@volar/language-server": "~2.2.3", + "@volar/language-service": "~2.2.3", + "@volar/typescript": "~2.2.3", + "fast-glob": "^3.2.12", + "volar-service-css": "0.0.45", + "volar-service-emmet": "0.0.45", + "volar-service-html": "0.0.45", + "volar-service-prettier": "0.0.45", + "volar-service-typescript": "0.0.45", + "volar-service-typescript-twoslash-queries": "0.0.45", + "vscode-html-languageservice": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.1.1.tgz", + "integrity": "sha512-rkWWjR9jVo0LAMxQ2+T19RKbQUa7NwBGhFj03bAz3hGf3blqeBIXs1NSPpizshO5kZzcOqKe8OlG6XpYO8esHg==", + "dependencies": { + "@astrojs/prism": "3.1.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.1", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.1.0", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.0", + "remark-gfm": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.0", + "remark-smartypants": "^3.0.1", + "shiki": "^1.9.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1", + "vfile": "^6.0.1" + } + }, + "node_modules/@astrojs/mdx": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-3.1.2.tgz", + "integrity": "sha512-0EizCWhUi0wdYPm31kNOHsOrGmn8pEJy+YEGQlHWt4Flg2NYfV7nWZuYG8KxoRSK/W397vPhyHYrITCYo7JMYw==", + "dependencies": { + "@astrojs/markdown-remark": "5.1.1", + "@mdx-js/mdx": "^3.0.1", + "acorn": "^8.12.0", + "es-module-lexer": "^1.5.4", + "estree-util-visit": "^2.0.0", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "hast-util-to-html": "^9.0.1", + "kleur": "^4.1.5", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.0", + "remark-smartypants": "^3.0.1", + "source-map": "^0.7.4", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.1" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + }, + "peerDependencies": { + "astro": "^4.8.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz", + "integrity": "sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==", + "dependencies": { + "prismjs": "^1.29.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.1.6.tgz", + "integrity": "sha512-1Qp2NvAzVImqA6y+LubKi1DVhve/hXXgFvB0szxiipzh7BvtuKe4oJJ9dXSqaubaTkt4nMa6dv6RCCAYeB6xaQ==", + "dependencies": { + "sitemap": "^7.1.2", + "stream-replace-string": "^2.0.0", + "zod": "^3.23.8" + } + }, + "node_modules/@astrojs/starlight": { + "version": "0.24.5", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.24.5.tgz", + "integrity": "sha512-DDI8NpLzk+ReBudhAV09OhO5DxD+KN4Nnp3YlG6kwn/F8fmywNTNgY7VW67Z8aad+A/85OOiQOtq9wIFNRy3YA==", + "dependencies": { + "@astrojs/mdx": "^3.1.0", + "@astrojs/sitemap": "^3.1.5", + "@pagefind/default-ui": "^1.0.3", + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.35.3", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.1", + "hast-util-select": "^6.0.2", + "hast-util-to-string": "^3.0.0", + "hastscript": "^9.0.0", + "mdast-util-directive": "^3.0.0", + "mdast-util-to-markdown": "^2.1.0", + "pagefind": "^1.0.3", + "rehype": "^13.0.1", + "rehype-format": "^5.0.0", + "remark-directive": "^3.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.1" + }, + "peerDependencies": { + "astro": "^4.8.6" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.1.0.tgz", + "integrity": "sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==", + "dependencies": { + "ci-info": "^4.0.0", + "debug": "^4.3.4", + "dlv": "^1.1.3", + "dset": "^3.1.3", + "is-docker": "^3.0.0", + "is-wsl": "^3.0.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz", + "integrity": "sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.1.0.tgz", + "integrity": "sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.0.tgz", + "integrity": "sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==" + }, + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==" + }, + "node_modules/@emnapi/runtime": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz", + "integrity": "sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@expressive-code/core": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.35.3.tgz", + "integrity": "sha512-SYamcarAjufYhbuK/kfvJSvAXLsfnM7DKc78R7Dq4B73R5bKQK2m5zR0l57tXr4yp2C5Z8lu5xZncdwWxcmPdg==", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.35.3.tgz", + "integrity": "sha512-QYytMq6IsaHgTofQ5b6d+CnbxkqLdikSF2hC+IL/ZZwPYHYZoUlmjIwmJZhY4/hHqJGELrtZsyVdlt06RntgmA==", + "dependencies": { + "@expressive-code/core": "^0.35.3" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.35.3.tgz", + "integrity": "sha512-aFQBPepv0zhVXqJFAvfQ4vXYv/meJKiqmEEKSxdjAfwXllIV49PDlnGEXmbGYjR4hUQQjbfDgzAbrbfePc3YVQ==", + "dependencies": { + "@expressive-code/core": "^0.35.3", + "shiki": "^1.1.7" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.35.3.tgz", + "integrity": "sha512-gDdnQrfDRXw5Y+PKHJDkpAUdf2pthYOthGcgy3JB8GOTQ3EL1h+755Ct/bGc4MR6jn+dgnQP47uHMWQaccvN6Q==", + "dependencies": { + "@expressive-code/core": "^0.35.3" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.4.tgz", + "integrity": "sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.2" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.4.tgz", + "integrity": "sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.2" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=11", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.2.tgz", + "integrity": "sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=10.13", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.2.tgz", + "integrity": "sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.2.tgz", + "integrity": "sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.2.tgz", + "integrity": "sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.2.tgz", + "integrity": "sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.2.tgz", + "integrity": "sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.2.tgz", + "integrity": "sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.4.tgz", + "integrity": "sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.2" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.4.tgz", + "integrity": "sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.2" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.4.tgz", + "integrity": "sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.31", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.2" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.4.tgz", + "integrity": "sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.2" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.4.tgz", + "integrity": "sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.4.tgz", + "integrity": "sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.2" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.4.tgz", + "integrity": "sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.1.1" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.4.tgz", + "integrity": "sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.4.tgz", + "integrity": "sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "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==", + "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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.1.0.tgz", + "integrity": "sha512-SLsXNLtSilGZjvqis8sX42fBWsWAVkcDh1oerxwqbac84HbiwxpxOC2jm8hRwcR0Z55HPZPWO77XeRix/8GwTg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.1.0.tgz", + "integrity": "sha512-QjQSE/L5oS1C8N8GdljGaWtjCBMgMtfrPAoiCmINTu9Y9dp0ggAyXvF8K7Qg3VyIMYJ6v8vg2PN7Z3b+AaAqUA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.1.0.tgz", + "integrity": "sha512-+XiAJAK++C64nQcD7s3Prdmd5S92lT05fwjOxm0L1jj80jbL+tmvcqkkFnPpoqhnicIPgcAX/Y5W0HRZnBt35w==" + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.1.0.tgz", + "integrity": "sha512-8zjYCa2BtNEL7KnXtysPtBELCyv5DSQ4yHeK/nsEq6w4ToAMTBl0K06khqxdSGgjMSwwrxvLzq3so0LC5Q14dA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.1.0.tgz", + "integrity": "sha512-4lsg6VB7A6PWTwaP8oSmXV4O9H0IHX7AlwTDcfyT+YJo/sPXOVjqycD5cdBgqNLfUk8B9bkWcTDCRmJbHrKeCw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.1.0.tgz", + "integrity": "sha512-OboCM76BcMKT9IoSfZuFhiqMRgTde8x4qDDvKulFmycgiJrlL5WnIqBHJLQxZq+o2KyZpoHF97iwsGAm8c32sQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.10.0.tgz", + "integrity": "sha512-BZcr6FCmPfP6TXaekvujZcnkFmJHZ/Yglu97r/9VjzVndQA56/F4WjUKtJRQUnK59Wi7p/UTAOekMfCJv7jnYg==" + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "20.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", + "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@volar/kit": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.2.5.tgz", + "integrity": "sha512-Bmn0UCaT43xUGGRwcmFG9lKhiCCLjRT4ScSLLPn5C9ltUcSGnIFFDlbZZa1PreHYHq25/4zkXt9Ap32klAh17w==", + "dependencies": { + "@volar/language-service": "2.2.5", + "@volar/typescript": "2.2.5", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.2.5.tgz", + "integrity": "sha512-2htyAuxRrAgETmFeUhT4XLELk3LiEcqoW/B8YUXMF6BrGWLMwIR09MFaZYvrA2UhbdAeSyeQ726HaWSWkexUcQ==", + "dependencies": { + "@volar/source-map": "2.2.5" + } + }, + "node_modules/@volar/language-server": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.2.5.tgz", + "integrity": "sha512-PV/jkUkI+m72HTXwnY7hsGqLY3VNi96ZRoWFRzVC9QG/853bixxjveXPJIiydMJ9I739lO3kcj3hnGrF5Sm+HA==", + "dependencies": { + "@volar/language-core": "2.2.5", + "@volar/language-service": "2.2.5", + "@volar/snapshot-document": "2.2.5", + "@volar/typescript": "2.2.5", + "@vscode/l10n": "^0.0.16", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.2.5.tgz", + "integrity": "sha512-a97e/0uCe+uSu23F4zvgvldqJtZe6jugQeEHWjTfhgOEO8+Be0t5CZNNVItQqmPyAsD8eElg0S/cP6uxvCmCSQ==", + "dependencies": { + "@volar/language-core": "2.2.5", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/snapshot-document": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/snapshot-document/-/snapshot-document-2.2.5.tgz", + "integrity": "sha512-MTOvWVKxM7ugKO3Amffkv2pND03fe2JtfygYaputqjVFML7YxtTXj8SPnI2pODLeSwOKzDYL6Q8r5j6Y5AgUzQ==", + "dependencies": { + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11" + } + }, + "node_modules/@volar/source-map": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.2.5.tgz", + "integrity": "sha512-wrOEIiZNf4E+PWB0AxyM4tfhkfldPsb3bxg8N6FHrxJH2ohar7aGu48e98bp3pR9HUA7P/pR9VrLmkTrgCCnWQ==", + "dependencies": { + "muggle-string": "^0.4.0" + } + }, + "node_modules/@volar/typescript": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.2.5.tgz", + "integrity": "sha512-eSV/n75+ppfEVugMC/salZsI44nXDPAyL6+iTYCNLtiLHGJsnMv9GwiDMujrvAUj/aLQyqRJgYtXRoxop2clCw==", + "dependencies": { + "@volar/language-core": "2.2.5", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.9.3.tgz", + "integrity": "sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" + }, + "node_modules/@vscode/l10n": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz", + "integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==" + }, + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "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==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/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==" + }, + "node_modules/ansi-align/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "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==" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.11.3.tgz", + "integrity": "sha512-SuZbB/71XVn+WqWNCe7XOfHuqhS+k4gj8+A3wluTZQrORGaHUFRn/f8F9Tu5yESQZB1q8UKhahvHwkTV3AdVsg==", + "dependencies": { + "@astrojs/compiler": "^2.8.1", + "@astrojs/internal-helpers": "0.4.1", + "@astrojs/markdown-remark": "5.1.1", + "@astrojs/telemetry": "3.1.0", + "@babel/core": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "@types/babel__core": "^7.20.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.12.0", + "aria-query": "^5.3.0", + "axobject-query": "^4.0.0", + "boxen": "^7.1.1", + "chokidar": "^3.6.0", + "ci-info": "^4.0.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^0.6.0", + "cssesc": "^3.0.0", + "debug": "^4.3.5", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.0.0", + "diff": "^5.2.0", + "dlv": "^1.1.3", + "dset": "^3.1.3", + "es-module-lexer": "^1.5.4", + "esbuild": "^0.21.5", + "estree-walker": "^3.0.3", + "execa": "^8.0.1", + "fast-glob": "^3.3.2", + "flattie": "^1.1.1", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "html-escaper": "^3.0.3", + "http-cache-semantics": "^4.1.1", + "js-yaml": "^4.1.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.10", + "mrmime": "^2.0.0", + "ora": "^8.0.1", + "p-limit": "^5.0.0", + "p-queue": "^8.0.1", + "path-to-regexp": "^6.2.2", + "preferred-pm": "^3.1.3", + "prompts": "^2.4.2", + "rehype": "^13.0.1", + "semver": "^7.6.2", + "shiki": "^1.9.0", + "string-width": "^7.1.0", + "strip-ansi": "^7.1.0", + "tsconfck": "^3.1.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.1", + "vite": "^5.3.1", + "vitefu": "^0.2.5", + "which-pm": "^2.2.0", + "yargs-parser": "^21.1.1", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.23.1" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "optionalDependencies": { + "sharp": "^0.33.3" + } + }, + "node_modules/astro-expressive-code": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.35.3.tgz", + "integrity": "sha512-f1L1m3J3EzZHDEox6TXmuKo5fTSbaNxE/HU0S0UQmvlCowtOKnU/LOsoDwsbQSYGKz+fdLRPsCjFMiKqEoyfcw==", + "dependencies": { + "rehype-expressive-code": "^0.35.3" + }, + "peerDependencies": { + "astro": "^4.0.0-beta || ^3.3.0" + } + }, + "node_modules/astro/node_modules/sharp": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.4.tgz", + "integrity": "sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.0" + }, + "engines": { + "libvips": ">=8.15.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.4", + "@img/sharp-darwin-x64": "0.33.4", + "@img/sharp-libvips-darwin-arm64": "1.0.2", + "@img/sharp-libvips-darwin-x64": "1.0.2", + "@img/sharp-libvips-linux-arm": "1.0.2", + "@img/sharp-libvips-linux-arm64": "1.0.2", + "@img/sharp-libvips-linux-s390x": "1.0.2", + "@img/sharp-libvips-linux-x64": "1.0.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2", + "@img/sharp-libvips-linuxmusl-x64": "1.0.2", + "@img/sharp-linux-arm": "0.33.4", + "@img/sharp-linux-arm64": "0.33.4", + "@img/sharp-linux-s390x": "0.33.4", + "@img/sharp-linux-x64": "0.33.4", + "@img/sharp-linuxmusl-arm64": "0.33.4", + "@img/sharp-linuxmusl-x64": "0.33.4", + "@img/sharp-wasm32": "0.33.4", + "@img/sharp-win32-ia32": "0.33.4", + "@img/sharp-win32-x64": "0.33.4" + } + }, + "node_modules/axobject-query": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/b4a": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bare-events": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz", + "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==", + "optional": true + }, + "node_modules/bare-fs": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.1.tgz", + "integrity": "sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==", + "optional": true, + "dependencies": { + "bare-events": "^2.0.0", + "bare-path": "^2.0.0", + "bare-stream": "^2.0.0" + } + }, + "node_modules/bare-os": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.0.tgz", + "integrity": "sha512-v8DTT08AS/G0F9xrhyLtepoo9EJBJ85FRSMbu1pQUlAf6A8T0tEEQGMVObWeqpjhSPXsE0VGlluFBJu2fdoTNg==", + "optional": true + }, + "node_modules/bare-path": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", + "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", + "optional": true, + "dependencies": { + "bare-os": "^2.1.0" + } + }, + "node_modules/bare-stream": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.1.3.tgz", + "integrity": "sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==", + "optional": true, + "dependencies": { + "streamx": "^2.18.0" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/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==" + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001638", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001638.tgz", + "integrity": "sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/ci-info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/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==" + }, + "node_modules/cliui/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==" + }, + "node_modules/cliui/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/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==", + "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/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/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==" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-selector-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.0.5.tgz", + "integrity": "sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.0.0.tgz", + "integrity": "sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dset": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", + "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.814", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.814.tgz", + "integrity": "sha512-GVulpHjFu1Y9ZvikvbArHmAhZXtm3wHlpjTMcXNGKl4IQ4jMQjlnz8yMQYYqdLHKi/jEL2+CBC2akWVCoIGUdw==" + }, + "node_modules/emmet": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.7.tgz", + "integrity": "sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==", + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/expressive-code": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.35.3.tgz", + "integrity": "sha512-XjWWUCxS4uQjPoRM98R7SNWWIYlFEaOeHm1piWv+c7coHCekuWno81thsc3g/UJ+DajNtOEsIQIAAcsBQZ8LMg==", + "dependencies": { + "@expressive-code/core": "^0.35.3", + "@expressive-code/plugin-frames": "^0.35.3", + "@expressive-code/plugin-shiki": "^0.35.3", + "@expressive-code/plugin-text-markers": "^0.35.3" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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==", + "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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", + "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.0.tgz", + "integrity": "sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.4.tgz", + "integrity": "sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.2.tgz", + "integrity": "sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "not": "^0.1.0", + "nth-check": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.1.tgz", + "integrity": "sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^9.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "dependencies": { + "inline-style-parser": "0.2.3" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", + "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.0.tgz", + "integrity": "sha512-KlClZ3/Qy5UgvpvVvDomGhnQhNWH5INE8GwvSIQ9CWt1K0zbbXrl7eN5bWaafOZgtmO3jMPwUqmrmEwinhPq1w==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "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==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", + "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "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==" + }, + "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==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/load-yaml-file/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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "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==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", + "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "engines": { + "node": ">=10" + } + }, + "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==" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-abi": { + "version": "3.65.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz", + "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/not": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/not/-/not-0.1.0.tgz", + "integrity": "sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==" + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.0.1.tgz", + "integrity": "sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", + "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", + "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pagefind": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.1.0.tgz", + "integrity": "sha512-1nmj0/vfYcMxNEQj0YDRp6bTVv9hI7HLdPhK/vBBYlrnwjATndQvHyicj5Y7pUHrpCFZpFnLVQXIF829tpFmaw==", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.1.0", + "@pagefind/darwin-x64": "1.1.0", + "@pagefind/linux-arm64": "1.1.0", + "@pagefind/linux-x64": "1.1.0", + "@pagefind/windows-x64": "1.1.0" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==" + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "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==", + "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==", + "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==", + "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==", + "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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/preferred-pm": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.3.tgz", + "integrity": "sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==", + "dependencies": { + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/preferred-pm/node_modules/which-pm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", + "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "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==", + "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/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rehype": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz", + "integrity": "sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-expressive-code": { + "version": "0.35.3", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.35.3.tgz", + "integrity": "sha512-kj43Rg+WzYUs8RRr6XyBr60pnrIZEgbmn9yJoV6qka1UDpcx7r8icn6Q2uSAgaLtlEUy+HCPgQJraOZrA53LOQ==", + "dependencies": { + "expressive-code": "^0.35.3" + } + }, + "node_modules/rehype-format": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.0.tgz", + "integrity": "sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "rehype-minify-whitespace": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-minify-whitespace": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.0.tgz", + "integrity": "sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz", + "integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.0.tgz", + "integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.1.tgz", + "integrity": "sha512-qyshfCl2eLO0i0558e79ZJsfojC5wjnYLByjt0FmjJQN6aYwcRxpoj784LZJSoWCdnA2ubh5rLNGb8Uur/wDng==", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.1.0.tgz", + "integrity": "sha512-LDPXg95346bqFZnDMHo0S7Rq5p64+B+N8Vz733+wPMDtwb9rCOs9LIdIEhrUOU+TAywX9St+ocQWJt8wrzivcQ==", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "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==", + "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.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.10.0.tgz", + "integrity": "sha512-YD2sXQ+TMD/F9BimV9Jn0wj35pqOvywvOG/3PB6hGHyGKlM7TJ9tyJ02jOb2kF8F0HfJwKNYrh3sW7jEcuRlXA==", + "dependencies": { + "@shikijs/core": "1.10.0" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "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/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "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": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==" + }, + "node_modules/streamx": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz", + "integrity": "sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==", + "dependencies": { + "fast-fifo": "^1.3.2", + "queue-tick": "^1.0.1", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", + "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar-fs": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", + "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/text-decoder": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.0.tgz", + "integrity": "sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.1.tgz", + "integrity": "sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "optional": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==" + }, + "node_modules/typescript": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", + "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.3.tgz", + "integrity": "sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.2.tgz", + "integrity": "sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/volar-service-css": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.45.tgz", + "integrity": "sha512-f+AlUI1+kESbcZSVaNJVAnK0c/9Da5StoxzPqA5/8VqUHJWNdubWNnwG5xpFVTfgh6pgTcey3UBhBfHytFaIOg==", + "dependencies": { + "vscode-css-languageservice": "^6.2.10", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.2.3" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.45.tgz", + "integrity": "sha512-9nLXSDkR1vA/3fQkFEsSXAu3XovQxOpTkVG2jilQgfek/K1ZLkaA/WMhN/TtmPmQg4NxE9Ni6mA5udBQ5gVXIA==", + "dependencies": { + "@emmetio/css-parser": "^0.4.0", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.2" + }, + "peerDependencies": { + "@volar/language-service": "~2.2.3" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.45.tgz", + "integrity": "sha512-tLTJqfy1v5C4nmeAsfekFIKPl4r4qDMyL0L9MWywr/EApZzPCsbeUGxCqdzxSMC2q7PMCfX2i167txDo+J0LVA==", + "dependencies": { + "vscode-html-languageservice": "npm:@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.2.3" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html/node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==" + }, + "node_modules/volar-service-html/node_modules/vscode-html-languageservice": { + "name": "@johnsoncodehk/vscode-html-languageservice", + "version": "5.2.0-34a5462", + "resolved": "https://registry.npmjs.org/@johnsoncodehk/vscode-html-languageservice/-/vscode-html-languageservice-5.2.0-34a5462.tgz", + "integrity": "sha512-etqLfpSJ5zaw76KUNF603be6d6QsiQPmaHr9FKEp4zhLZJzWCCMH6Icak7MtLUFLZLMpL761mZNImi/joBo1ZA==", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.45.tgz", + "integrity": "sha512-+mBS2EsDgp/kunKEBnHvhBwIQm5v2ahw4NKpKdg4sTpXy3UxqHt+Fq/wRYQ7Z8LlNVNRVfp75ThjM+w2zaZBAw==", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.2.3", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.45.tgz", + "integrity": "sha512-i/mMIIAMastJ2kgPo3qvX0Rrl7NyxhIYZ0ug/B4ambZcLPI1vzBgS2fmvyWX3jhBYHh8NmbAotFj+0Y9JtN47A==", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.5.4", + "typescript-auto-import-cache": "^0.3.1", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0" + }, + "peerDependencies": { + "@volar/language-service": "~2.2.3" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.45.tgz", + "integrity": "sha512-KrPUUvKggZgV9mrDpstCzmf20irgv0ooMv+FGDzIIQUkya+d2+nSS8Mx2h9FvsYgLccUVw5jU3Rhwhd3pv/7qg==", + "peerDependencies": { + "@volar/language-service": "~2.2.3" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.0.tgz", + "integrity": "sha512-nU92imtkgzpCL0xikrIb8WvedV553F2BENzgz23wFuok/HLN5BeQmroMy26pUwFxV2eV8oNRmYCUv8iO7kSMhw==", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vscode-css-languageservice/node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==" + }, + "node_modules/vscode-html-languageservice": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.3.0.tgz", + "integrity": "sha512-C4Z3KsP5Ih+fjHpiBc5jxmvCl+4iEwvXegIrzu2F5pktbWvQaBT3YkVPk8N+QlSSMk8oCG6PKtZ/Sq2YHb5e8g==", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vscode-html-languageservice/node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==" + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.2.0.tgz", + "integrity": "sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/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==" + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/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==" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==" + }, + "node_modules/yargs/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.0.tgz", + "integrity": "sha512-cMojmlnwkAgIXqga+2sXshlgrrcI0QEPJ5n58pEvtuFo4PaekfomlCudArDD7hj8Hkswjl0/x4eu4q+Xa0WFgQ==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.1.tgz", + "integrity": "sha512-oT9INvydob1XV0v1d2IadrR74rLtDInLvDFfAa1CG0Pmg/vxATk7I2gSelfj271mbzeM4Da0uuDQE/Nkj3DWNw==", + "peerDependencies": { + "zod": "^3.23.3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..66e53ea --- /dev/null +++ b/package.json @@ -0,0 +1,31 @@ +{ + "name": "shoukaku-docs", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/check": "^0.7.0", + "@astrojs/starlight": "^0.24.5", + "astro": "^4.10.2", + "sharp": "^0.32.5", + "starlight-package-managers": "^0.6.0", + "starlight-typedoc": "^0.13.0", + "starlight-versions": "^0.1.0", + "typescript": "^5.5.2" + }, + "devDependencies": { + "@typescript-eslint/parser": "^7.14.1", + "eslint": "^8.56.0", + "eslint-plugin-astro": "^1.2.2", + "eslint-plugin-jsx-a11y": "^6.9.0", + "prettier": "^3.3.2", + "prettier-config-standard": "^7.0.0", + "prettier-plugin-astro": "^0.14.0" + } +} \ No newline at end of file diff --git a/prettier.config.cjs b/prettier.config.cjs new file mode 100644 index 0000000..1d3eabf --- /dev/null +++ b/prettier.config.cjs @@ -0,0 +1,14 @@ +/** @type {import("prettier").Config} */ +module.exports = { + ...require('prettier-config-standard'), + pluginSearchDirs: [__dirname], + plugins: [require.resolve('prettier-plugin-astro')], + overrides: [ + { + files: '*.astro', + options: { + parser: 'astro' + } + } + ] +} \ No newline at end of file diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..cba5ac1 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/shoukaku b/shoukaku index 6468e25..761f40f 160000 --- a/shoukaku +++ b/shoukaku @@ -1 +1 @@ -Subproject commit 6468e258183d4279de6991b75c68720f170b5d8c +Subproject commit 761f40f7c0b54473070fa1c40602d1504a8bf167 diff --git a/src/assets/3.4.2/shoukaku.png b/src/assets/3.4.2/shoukaku.png new file mode 100644 index 0000000..853515a Binary files /dev/null and b/src/assets/3.4.2/shoukaku.png differ diff --git a/src/assets/4.0.1/shoukaku.webp b/src/assets/4.0.1/shoukaku.webp new file mode 100644 index 0000000..5514903 Binary files /dev/null and b/src/assets/4.0.1/shoukaku.webp differ diff --git a/src/assets/shoukaku.webp b/src/assets/shoukaku.webp new file mode 100644 index 0000000..5514903 Binary files /dev/null and b/src/assets/shoukaku.webp differ diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 0000000..9567855 --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,8 @@ +import { defineCollection } from 'astro:content'; +import { docsSchema } from '@astrojs/starlight/schema'; +import { docsVersionsSchema } from 'starlight-versions/schema'; + +export const collections = { + docs: defineCollection({ schema: docsSchema() }), + versions: defineCollection({ type: 'data', schema: docsVersionsSchema() }), +}; diff --git a/src/content/docs/3.4.2/api/README.md b/src/content/docs/3.4.2/api/README.md new file mode 100644 index 0000000..6d04277 --- /dev/null +++ b/src/content/docs/3.4.2/api/README.md @@ -0,0 +1,68 @@ +--- +editUrl: false +next: false +prev: false +title: shoukaku +slug: 3.4.2/api/readme +--- + +## Namespaces + +* [Connectors](/3.4.2/api/namespaces/connectors/readme/) +* [Constants](/3.4.2/api/namespaces/constants/readme/) +* [Utils](/3.4.2/api/namespaces/utils/readme/) + +## Classes + +* [Connection](/3.4.2/api/classes/connection/) +* [Connector](/3.4.2/api/classes/connector/) +* [Filters](/3.4.2/api/classes/filters/) +* [Node](/3.4.2/api/classes/node/) +* [Player](/3.4.2/api/classes/player/) +* [Rest](/3.4.2/api/classes/rest/) +* [Shoukaku](/3.4.2/api/classes/shoukaku/) + +## Interfaces + +* [Address](/3.4.2/api/interfaces/address/) +* [Band](/3.4.2/api/interfaces/band/) +* [ChannelMixSettings](/3.4.2/api/interfaces/channelmixsettings/) +* [ConnectorMethods](/3.4.2/api/interfaces/connectormethods/) +* [DistortionSettings](/3.4.2/api/interfaces/distortionsettings/) +* [Exception](/3.4.2/api/interfaces/exception/) +* [FilterOptions](/3.4.2/api/interfaces/filteroptions/) +* [FreqSettings](/3.4.2/api/interfaces/freqsettings/) +* [KaraokeSettings](/3.4.2/api/interfaces/karaokesettings/) +* [LavalinkResponse](/3.4.2/api/interfaces/lavalinkresponse/) +* [LowPassSettings](/3.4.2/api/interfaces/lowpasssettings/) +* [MergedShoukakuOptions](/3.4.2/api/interfaces/mergedshoukakuoptions/) +* [NodeOption](/3.4.2/api/interfaces/nodeoption/) +* [NodeStats](/3.4.2/api/interfaces/nodestats/) +* [NonResumableHeaders](/3.4.2/api/interfaces/nonresumableheaders/) +* [PlayOptions](/3.4.2/api/interfaces/playoptions/) +* [PlayPayload](/3.4.2/api/interfaces/playpayload/) +* [PlayerEvent](/3.4.2/api/interfaces/playerevent/) +* [PlayerUpdate](/3.4.2/api/interfaces/playerupdate/) +* [ResumableHeaders](/3.4.2/api/interfaces/resumableheaders/) +* [ResumeOptions](/3.4.2/api/interfaces/resumeoptions/) +* [RotationSettings](/3.4.2/api/interfaces/rotationsettings/) +* [RoutePlanner](/3.4.2/api/interfaces/routeplanner/) +* [ServerUpdate](/3.4.2/api/interfaces/serverupdate/) +* [ShoukakuOptions](/3.4.2/api/interfaces/shoukakuoptions/) +* [StateUpdatePartial](/3.4.2/api/interfaces/stateupdatepartial/) +* [Structures](/3.4.2/api/interfaces/structures/) +* [TimescaleSettings](/3.4.2/api/interfaces/timescalesettings/) +* [Track](/3.4.2/api/interfaces/track/) +* [TrackEndEvent](/3.4.2/api/interfaces/trackendevent/) +* [TrackExceptionEvent](/3.4.2/api/interfaces/trackexceptionevent/) +* [TrackStartEvent](/3.4.2/api/interfaces/trackstartevent/) +* [TrackStuckEvent](/3.4.2/api/interfaces/trackstuckevent/) +* [VoiceChannelOptions](/3.4.2/api/interfaces/voicechanneloptions/) +* [WebSocketClosedEvent](/3.4.2/api/interfaces/websocketclosedevent/) + +## Type Aliases + +* [LoadType](/3.4.2/api/type-aliases/loadtype/) +* [PlayerEventType](/3.4.2/api/type-aliases/playereventtype/) +* [Severity](/3.4.2/api/type-aliases/severity/) +* [TrackEndReason](/3.4.2/api/type-aliases/trackendreason/) diff --git a/src/content/docs/3.4.2/api/classes/Connection.md b/src/content/docs/3.4.2/api/classes/Connection.md new file mode 100644 index 0000000..13e9b15 --- /dev/null +++ b/src/content/docs/3.4.2/api/classes/Connection.md @@ -0,0 +1,1693 @@ +--- +editUrl: false +next: false +prev: false +title: Connection +slug: 3.4.2/apiclasses/connection +--- + +Represents a connection to a Discord voice channel + +## Extends + +* `EventEmitter` + +## Constructors + +### new Connection() + +> **new Connection**(`player`, `options`): [`Connection`](/3.4.2/api/classes/connection/) + +#### Parameters + +β€’ **player**: [`Player`](/3.4.2/api/classes/player/) + +Shoukaku Player class + +β€’ **options**: [`VoiceChannelOptions`](/3.4.2/api/interfaces/voicechanneloptions/) + +#### Returns + +[`Connection`](/3.4.2/api/classes/connection/) + +#### Overrides + +`EventEmitter.constructor` + +#### Defined in + +[src/guild/Connection.ts:85](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L85) + +## Properties + +### channelId + +> **channelId**: `null` | `string` + +ID of the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:40](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L40) + +*** + +### deafened + +> **deafened**: `boolean` + +Deafen status in connected voice channel + +#### Defined in + +[src/guild/Connection.ts:60](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L60) + +*** + +### guildId + +> **guildId**: `string` + +ID of Guild that contains the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:36](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L36) + +*** + +### moved + +> **moved**: `boolean` + +Boolean that indicates if voice channel changed since initial connection + +#### Defined in + +[src/guild/Connection.ts:68](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L68) + +*** + +### muted + +> **muted**: `boolean` + +Mute status in connected voice channel + +#### Defined in + +[src/guild/Connection.ts:56](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L56) + +*** + +### player + +> `readonly` **player**: [`Player`](/3.4.2/api/classes/player/) + +An instance of the Player class + +#### Defined in + +[src/guild/Connection.ts:32](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L32) + +*** + +### reconnecting + +> **reconnecting**: `boolean` + +Boolean that indicates if this instance is reconnecting + +#### Defined in + +[src/guild/Connection.ts:72](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L72) + +*** + +### region + +> **region**: `null` | `string` + +Region of connected voice channel + +#### Defined in + +[src/guild/Connection.ts:52](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L52) + +*** + +### sessionId + +> **sessionId**: `null` | `string` + +ID of current session + +#### Defined in + +[src/guild/Connection.ts:48](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L48) + +*** + +### shardId + +> **shardId**: `number` + +ID of the Shard that contains the guild that contains the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:44](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L44) + +*** + +### state + +> **state**: [`State`](/3.4.2/api/namespaces/constants/enumerations/state/) + +Connection state + +#### Defined in + +[src/guild/Connection.ts:64](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L64) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/3.4.2/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejectionSymbol` + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejections` + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Inherited from + +`EventEmitter.defaultMaxListeners` + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/3.4.2/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Inherited from + +`EventEmitter.errorMonitor` + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.[captureRejectionSymbol]` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.addListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### connect() + +> **connect**(`options`): `Promise`\<`void`> + +Connect the current bot user to a voice channel + +#### Parameters + +β€’ **options**: [`VoiceChannelOptions`](/3.4.2/api/interfaces/voicechanneloptions/) + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Connection.ts:145](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L145) + +*** + +### destroyLavalinkPlayer() + +> **destroyLavalinkPlayer**(): `void` + +Destroy the current Lavalink player + +#### Returns + +`void` + +#### Defined in + +[src/guild/Connection.ts:244](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L244) + +*** + +### disconnect() + +> **disconnect**(): `void` + +Disconnect the current bot user from the connected voice channel + +#### Returns + +`void` + +#### Defined in + +[src/guild/Connection.ts:124](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L124) + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Inherited from + +`EventEmitter.emit` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Inherited from + +`EventEmitter.eventNames` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/connection/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.listeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +> **off**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.removeListener()`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.off` + +#### Since + +v10.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:747 + +*** + +### on() + +> **on**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the end of the listeners array for the event +named `eventName`. No checks are made to see if the `listener` has already +been added. Multiple calls passing the same combination of `eventName` and +`listener` will result in the `listener` being added, and called, multiple times. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.on('foo', () => console.log('a')); +myEE.prependListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.on` + +#### Since + +v0.1.101 + +#### Defined in + +node\_modules/@types/node/events.d.ts:629 + +*** + +### once() + +> **once**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time** `listener` function for the event named `eventName`. The +next time `eventName` is triggered, this listener is removed and then invoked. + +```js +server.once('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependOnceListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.once('foo', () => console.log('a')); +myEE.prependOnceListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.once` + +#### Since + +v0.3.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:659 + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependOnceListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.rawListeners` + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeAllListeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### setDeaf() + +> **setDeaf**(`deaf`): `void` + +Set the deafen status for the current bot user + +#### Parameters + +β€’ **deaf**: `boolean` = `false` + +Boolean value to indicate whether to deafen or undeafen + +#### Returns + +`void` + +#### Default Value + +```ts +false +``` + +#### Defined in + +[src/guild/Connection.ts:106](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L106) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### setMute() + +> **setMute**(`mute`): `void` + +Set the mute status for the current bot user + +#### Parameters + +β€’ **mute**: `boolean` = `false` + +Boolean value to indicate whether to mute or unmute + +#### Returns + +`void` + +#### Default Value + +```ts +false +``` + +#### Defined in + +[src/guild/Connection.ts:116](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L116) + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Inherited from + +`EventEmitter.addAbortListener` + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.getEventListeners` + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Inherited from + +`EventEmitter.on` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Inherited from + +`EventEmitter.on` + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/3.4.2/api/classes/Connector.md b/src/content/docs/3.4.2/api/classes/Connector.md new file mode 100644 index 0000000..1268df4 --- /dev/null +++ b/src/content/docs/3.4.2/api/classes/Connector.md @@ -0,0 +1,103 @@ +--- +editUrl: false +next: false +prev: false +title: Connector +slug: 3.4.2/apiclasses/connector +--- + +## Extended by + +* [`DiscordJS`](/3.4.2/api/namespaces/connectors/classes/discordjs/) +* [`Eris`](/3.4.2/api/namespaces/connectors/classes/eris/) +* [`OceanicJS`](/3.4.2/api/namespaces/connectors/classes/oceanicjs/) + +## Constructors + +### new Connector() + +> **new Connector**(`client`): [`Connector`](/3.4.2/api/classes/connector/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`Connector`](/3.4.2/api/classes/connector/) + +#### Defined in + +[src/connectors/Connector.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L13) + +## Methods + +### getId() + +> `abstract` **getId**(): `string` + +#### Returns + +`string` + +#### Defined in + +[src/connectors/Connector.ts:34](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L34) + +*** + +### listen() + +> `abstract` **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Defined in + +[src/connectors/Connector.ts:38](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L38) + +*** + +### sendPacket() + +> `abstract` **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Defined in + +[src/connectors/Connector.ts:36](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L36) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/3.4.2/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/3.4.2/api/classes/connector/) + +#### Defined in + +[src/connectors/Connector.ts:18](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L18) diff --git a/src/content/docs/3.4.2/api/classes/Filters.md b/src/content/docs/3.4.2/api/classes/Filters.md new file mode 100644 index 0000000..5b1be7f --- /dev/null +++ b/src/content/docs/3.4.2/api/classes/Filters.md @@ -0,0 +1,129 @@ +--- +editUrl: false +next: false +prev: false +title: Filters +slug: 3.4.2/apiclasses/filters +--- + +Lavalink filters + +## Constructors + +### new Filters() + +> **new Filters**(`options`): [`Filters`](/3.4.2/api/classes/filters/) + +Options to initialize this filters instance with + +#### Parameters + +β€’ **options**: [`FilterOptions`](/3.4.2/api/interfaces/filteroptions/) = `{}` + +#### Returns + +[`Filters`](/3.4.2/api/classes/filters/) + +#### Defined in + +[src/guild/Player.ts:187](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L187) + +## Properties + +### channelMix + +> **channelMix**: `null` | [`ChannelMixSettings`](/3.4.2/api/interfaces/channelmixsettings/) + +#### Defined in + +[src/guild/Player.ts:172](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L172) + +*** + +### distortion + +> **distortion**: `null` | [`DistortionSettings`](/3.4.2/api/interfaces/distortionsettings/) + +#### Defined in + +[src/guild/Player.ts:171](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L171) + +*** + +### equalizer + +> **equalizer**: [`Band`](/3.4.2/api/interfaces/band/)\[] + +#### Defined in + +[src/guild/Player.ts:165](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L165) + +*** + +### karaoke + +> **karaoke**: `null` | [`KaraokeSettings`](/3.4.2/api/interfaces/karaokesettings/) + +#### Defined in + +[src/guild/Player.ts:166](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L166) + +*** + +### lowPass + +> **lowPass**: `null` | [`LowPassSettings`](/3.4.2/api/interfaces/lowpasssettings/) + +#### Defined in + +[src/guild/Player.ts:173](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L173) + +*** + +### rotation + +> **rotation**: `null` | [`RotationSettings`](/3.4.2/api/interfaces/rotationsettings/) + +#### Defined in + +[src/guild/Player.ts:170](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L170) + +*** + +### timescale + +> **timescale**: `null` | [`TimescaleSettings`](/3.4.2/api/interfaces/timescalesettings/) + +#### Defined in + +[src/guild/Player.ts:167](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L167) + +*** + +### tremolo + +> **tremolo**: `null` | [`FreqSettings`](/3.4.2/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:168](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L168) + +*** + +### vibrato + +> **vibrato**: `null` | [`FreqSettings`](/3.4.2/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:169](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L169) + +*** + +### volume + +> **volume**: `number` + +#### Defined in + +[src/guild/Player.ts:164](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L164) diff --git a/src/content/docs/3.4.2/api/classes/Node.md b/src/content/docs/3.4.2/api/classes/Node.md new file mode 100644 index 0000000..23b81c6 --- /dev/null +++ b/src/content/docs/3.4.2/api/classes/Node.md @@ -0,0 +1,1659 @@ +--- +editUrl: false +next: false +prev: false +title: Node +slug: 3.4.2/apiclasses/node +--- + +Represents a Lavalink node + +## Extends + +* `EventEmitter` + +## Constructors + +### new Node() + +> **new Node**(`manager`, `options`): [`Node`](/3.4.2/api/classes/node/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +Shoukaku instance + +β€’ **options**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/) + +#### Returns + +[`Node`](/3.4.2/api/classes/node/) + +#### Overrides + +`EventEmitter.constructor` + +#### Defined in + +[src/node/Node.ts:125](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L125) + +## Properties + +### group? + +> `readonly` `optional` **group**: `string` + +Group in which this node is contained + +#### Defined in + +[src/node/Node.ts:84](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L84) + +*** + +### manager + +> `readonly` **manager**: [`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +Shoukaku class + +#### Defined in + +[src/node/Node.ts:64](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L64) + +*** + +### name + +> `readonly` **name**: `string` + +Name of this node + +#### Defined in + +[src/node/Node.ts:80](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L80) + +*** + +### players + +> `readonly` **players**: `Map`\<`string`, [`Player`](/3.4.2/api/classes/player/)> + +A map of guild ID to players + +#### Defined in + +[src/node/Node.ts:68](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L68) + +*** + +### queue + +> `readonly` **queue**: `Queue` + +Lavalink API message queue + +#### Defined in + +[src/node/Node.ts:76](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L76) + +*** + +### reconnects + +> **reconnects**: `number` + +The number of reconnects to Lavalink + +#### Defined in + +[src/node/Node.ts:96](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L96) + +*** + +### rest + +> `readonly` **rest**: [`Rest`](/3.4.2/api/classes/rest/) + +Lavalink rest API + +#### Defined in + +[src/node/Node.ts:72](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L72) + +*** + +### state + +> **state**: [`State`](/3.4.2/api/namespaces/constants/enumerations/state/) + +The state of this connection + +#### Defined in + +[src/node/Node.ts:100](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L100) + +*** + +### stats + +> **stats**: `null` | [`NodeStats`](/3.4.2/api/interfaces/nodestats/) + +Statistics from Lavalink + +#### Defined in + +[src/node/Node.ts:104](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L104) + +*** + +### ws + +> **ws**: `null` | `WebSocket` + +Websocket instance + +#### Defined in + +[src/node/Node.ts:108](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L108) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/3.4.2/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejectionSymbol` + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejections` + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Inherited from + +`EventEmitter.defaultMaxListeners` + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/3.4.2/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Inherited from + +`EventEmitter.errorMonitor` + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.[captureRejectionSymbol]` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.addListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### connect() + +> **connect**(): `void` + +Connect to Lavalink + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:166](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L166) + +*** + +### disconnect() + +> **disconnect**(`code`, `reason`?): `void` + +Disconnect from lavalink + +#### Parameters + +β€’ **code**: `number` + +Status code + +β€’ **reason?**: `string` + +Reason for disconnect + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:207](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L207) + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Inherited from + +`EventEmitter.emit` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Inherited from + +`EventEmitter.eventNames` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/node/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### joinChannel() + +> **joinChannel**(`options`): `Promise`\<[`Player`](/3.4.2/api/classes/player/)> + +Join a voice channel in a guild + +#### Parameters + +β€’ **options**: [`VoiceChannelOptions`](/3.4.2/api/interfaces/voicechanneloptions/) + +#### Returns + +`Promise`\<[`Player`](/3.4.2/api/classes/player/)> + +A promise that resolves to a player class + +#### Defined in + +[src/node/Node.ts:225](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L225) + +*** + +### leaveChannel() + +> **leaveChannel**(`guildId`): `void` + +Disconnect from connected voice channel + +#### Parameters + +β€’ **guildId**: `string` + +ID of guild that contains voice channel + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:256](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L256) + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.listeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +> **off**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.removeListener()`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.off` + +#### Since + +v10.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:747 + +*** + +### on() + +> **on**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the end of the listeners array for the event +named `eventName`. No checks are made to see if the `listener` has already +been added. Multiple calls passing the same combination of `eventName` and +`listener` will result in the `listener` being added, and called, multiple times. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.on('foo', () => console.log('a')); +myEE.prependListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.on` + +#### Since + +v0.1.101 + +#### Defined in + +node\_modules/@types/node/events.d.ts:629 + +*** + +### once() + +> **once**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time** `listener` function for the event named `eventName`. The +next time `eventName` is triggered, this listener is removed and then invoked. + +```js +server.once('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependOnceListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.once('foo', () => console.log('a')); +myEE.prependOnceListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.once` + +#### Since + +v0.3.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:659 + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependOnceListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.rawListeners` + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeAllListeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Inherited from + +`EventEmitter.addAbortListener` + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.getEventListeners` + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Inherited from + +`EventEmitter.on` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Inherited from + +`EventEmitter.on` + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/3.4.2/api/classes/Player.md b/src/content/docs/3.4.2/api/classes/Player.md new file mode 100644 index 0000000..5de4ac2 --- /dev/null +++ b/src/content/docs/3.4.2/api/classes/Player.md @@ -0,0 +1,2111 @@ +--- +editUrl: false +next: false +prev: false +title: Player +slug: 3.4.2/apiclasses/player +--- + +Wrapper object around Lavalink + +## Extends + +* `EventEmitter` + +## Constructors + +### new Player() + +> **new Player**(`node`, `options`): [`Player`](/3.4.2/api/classes/player/) + +#### Parameters + +β€’ **node**: [`Node`](/3.4.2/api/classes/node/) + +An instance of Node (Lavalink API wrapper) + +β€’ **options**: [`VoiceChannelOptions`](/3.4.2/api/interfaces/voicechanneloptions/) + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +#### Defined in + +[src/guild/Player.ts:293](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L293) + +## Properties + +### connection + +> `readonly` **connection**: [`Connection`](/3.4.2/api/classes/connection/) + +Discort voice channel that this player is connected to + +#### Defined in + +[src/guild/Player.ts:264](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L264) + +*** + +### filters + +> **filters**: [`Filters`](/3.4.2/api/classes/filters/) + +Filters on current track + +#### Defined in + +[src/guild/Player.ts:284](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L284) + +*** + +### node + +> **node**: [`Node`](/3.4.2/api/classes/node/) + +Lavalink node this player is connected to + +#### Defined in + +[src/guild/Player.ts:260](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L260) + +*** + +### paused + +> **paused**: `boolean` + +Pause status in current player + +#### Defined in + +[src/guild/Player.ts:272](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L272) + +*** + +### ping + +> **ping**: `number` + +Ping represents the number of milliseconds between heartbeat and ack. Could be `-1` if not connected + +#### Defined in + +[src/guild/Player.ts:276](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L276) + +*** + +### position + +> **position**: `number` + +Position in ms of current track + +#### Defined in + +[src/guild/Player.ts:280](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L280) + +*** + +### track + +> **track**: `null` | `string` + +ID of current track + +#### Defined in + +[src/guild/Player.ts:268](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L268) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/3.4.2/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/3.4.2/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### clearFilters() + +> **clearFilters**(): [`Player`](/3.4.2/api/classes/player/) + +Clear all filters applied to the currently playing track + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:530](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L530) + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/player/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### move() + +> **move**(`name`): [`Player`](/3.4.2/api/classes/player/) + +Move player to another node + +#### Parameters + +β€’ **name**: `string` + +Name of node to move to + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:309](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L309) + +*** + +### off() + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"end"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:244](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L244) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"stuck"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:245](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L245) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"closed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:246](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L246) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"start"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:247](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L247) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"exception"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:248](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L248) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"resumed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:249](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L249) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"update"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:250](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L250) + +*** + +### once() + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"end"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:237](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L237) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"stuck"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:238](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L238) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"closed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:239](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L239) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"start"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:240](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L240) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"exception"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:241](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L241) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"resumed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:242](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L242) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"update"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:243](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L243) + +*** + +### playTrack() + +> **playTrack**(`playable`): [`Player`](/3.4.2/api/classes/player/) + +Play a new track + +#### Parameters + +β€’ **playable**: [`PlayOptions`](/3.4.2/api/interfaces/playoptions/) + +Options for playing this track + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:328](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L328) + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### reset() + +> **reset**(): `void` + +Reset the track, position and filters on this instance to defaults + +#### Returns + +`void` + +#### Defined in + +[src/guild/Player.ts:590](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L590) + +*** + +### resume() + +> **resume**(`options`): [`Player`](/3.4.2/api/classes/player/) + +Resume the current track + +#### Parameters + +β€’ **options**: [`ResumeOptions`](/3.4.2/api/interfaces/resumeoptions/) = `{}` + +An object that conforms to ResumeOptions that specify behavior on resuming + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:545](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L545) + +*** + +### seekTo() + +> **seekTo**(`position`): [`Player`](/3.4.2/api/classes/player/) + +Seek to a specific time in the currently playing track + +#### Parameters + +β€’ **position**: `number` + +Position to seek to in milliseconds + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:383](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L383) + +*** + +### setChannelMix() + +> **setChannelMix**(`mix`): [`Player`](/3.4.2/api/classes/player/) + +Change the channel mix settings applied to the currently playing track + +#### Parameters + +β€’ **mix**: [`ChannelMixSettings`](/3.4.2/api/interfaces/channelmixsettings/) + +An object that conforms to ChannelMixSettings that defines how much the left and right channels affect each other (setting all factors to 0.5 causes both channels to get the same audio) + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:495](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L495) + +*** + +### setDistortion() + +> **setDistortion**(`distortion`): [`Player`](/3.4.2/api/classes/player/) + +Change the distortion settings applied to the currently playing track + +#### Parameters + +β€’ **distortion**: [`DistortionSettings`](/3.4.2/api/interfaces/distortionsettings/) + +An object that conforms to DistortionSettings that defines distortions in the audio + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:483](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L483) + +*** + +### setEqualizer() + +> **setEqualizer**(`bands`): [`Player`](/3.4.2/api/classes/player/) + +Change the equalizer settings applied to the currently playing track + +#### Parameters + +β€’ **bands**: [`Band`](/3.4.2/api/interfaces/band/)\[] + +An array of objects that conforms to the Bands type that define volumes at different frequencies + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:411](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L411) + +*** + +### setFilters() + +> **setFilters**(`options`): [`Player`](/3.4.2/api/classes/player/) + +Change the all filter settings applied to the currently playing track + +#### Parameters + +β€’ **options**: [`FilterOptions`](/3.4.2/api/interfaces/filteroptions/) + +An object that conforms to FilterOptions that defines all filters to apply/modify + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:519](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L519) + +*** + +### setKaraoke() + +> **setKaraoke**(`karaoke`?): [`Player`](/3.4.2/api/classes/player/) + +Change the karaoke settings applied to the currently playing track + +#### Parameters + +β€’ **karaoke?**: [`KaraokeSettings`](/3.4.2/api/interfaces/karaokesettings/) + +An object that conforms to the KaraokeSettings type that defines a range of frequencies to mute + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:423](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L423) + +*** + +### setLowPass() + +> **setLowPass**(`pass`): [`Player`](/3.4.2/api/classes/player/) + +Change the low pass settings applied to the currently playing track + +#### Parameters + +β€’ **pass**: [`LowPassSettings`](/3.4.2/api/interfaces/lowpasssettings/) + +An object that conforms to LowPassSettings that defines the amount of suppression on higher frequencies + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:507](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L507) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### setPaused() + +> **setPaused**(`pause`): [`Player`](/3.4.2/api/classes/player/) + +Pause or unpause the currently playing track + +#### Parameters + +β€’ **pause**: `boolean` = `true` + +Boolean value to specify whether to pause or unpause the current bot user + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:367](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L367) + +*** + +### setRotation() + +> **setRotation**(`rotation`?): [`Player`](/3.4.2/api/classes/player/) + +Change the rotation settings applied to the currently playing track + +#### Parameters + +β€’ **rotation?**: [`RotationSettings`](/3.4.2/api/interfaces/rotationsettings/) + +An object that conforms to the RotationSettings type that defines the frequency of audio rotating round the listener + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:471](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L471) + +*** + +### setTimescale() + +> **setTimescale**(`timescale`?): [`Player`](/3.4.2/api/classes/player/) + +Change the timescale settings applied to the currently playing track + +#### Parameters + +β€’ **timescale?**: [`TimescaleSettings`](/3.4.2/api/interfaces/timescalesettings/) + +An object that conforms to the TimescaleSettings type that defines the time signature to play the audio at + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:435](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L435) + +*** + +### setTremolo() + +> **setTremolo**(`tremolo`?): [`Player`](/3.4.2/api/classes/player/) + +Change the tremolo settings applied to the currently playing track + +#### Parameters + +β€’ **tremolo?**: [`FreqSettings`](/3.4.2/api/interfaces/freqsettings/) + +An object that conforms to the FreqSettings type that defines an ocillation in volume + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:447](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L447) + +*** + +### setVibrato() + +> **setVibrato**(`vibrato`?): [`Player`](/3.4.2/api/classes/player/) + +Change the vibrato settings applied to the currently playing track + +#### Parameters + +β€’ **vibrato?**: [`FreqSettings`](/3.4.2/api/interfaces/freqsettings/) + +An object that conforms to the FreqSettings type that defines an ocillation in pitch + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:459](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L459) + +*** + +### setVolume() + +> **setVolume**(`volume`): [`Player`](/3.4.2/api/classes/player/) + +Change the volume of the currently playing track + +#### Parameters + +β€’ **volume**: `number` + +Target volume as a decimal + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:398](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L398) + +*** + +### stopTrack() + +> **stopTrack**(): [`Player`](/3.4.2/api/classes/player/) + +Stop the currently playing track + +#### Returns + +[`Player`](/3.4.2/api/classes/player/) + +The current player instance + +#### Defined in + +[src/guild/Player.ts:352](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L352) + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 + +## Events + +### on() + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the current playing track ends + +##### Parameters + +β€’ **event**: `"end"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:206](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L206) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the current playing track gets stuck due to an error + +##### Parameters + +β€’ **event**: `"stuck"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:211](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L211) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the current websocket connection is closed + +##### Parameters + +β€’ **event**: `"closed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:216](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L216) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a new track starts + +##### Parameters + +β€’ **event**: `"start"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:221](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L221) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when there is an error caused by the current playing track + +##### Parameters + +β€’ **event**: `"exception"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:226](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L226) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the library manages to resume the player + +##### Parameters + +β€’ **event**: `"resumed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:231](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L231) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a playerUpdate even is recieved from Lavalink + +##### Parameters + +β€’ **event**: `"update"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:236](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L236) diff --git a/src/content/docs/3.4.2/api/classes/Rest.md b/src/content/docs/3.4.2/api/classes/Rest.md new file mode 100644 index 0000000..eb59e0b --- /dev/null +++ b/src/content/docs/3.4.2/api/classes/Rest.md @@ -0,0 +1,79 @@ +--- +editUrl: false +next: false +prev: false +title: Rest +slug: 3.4.2/apiclasses/rest +--- + +Wrapper around Lavalink REST API + +## Constructors + +### new Rest() + +> **new Rest**(`node`, `options`): [`Rest`](/3.4.2/api/classes/rest/) + +#### Parameters + +β€’ **node**: [`Node`](/3.4.2/api/classes/node/) + +An instance of Node + +β€’ **options**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/) + +#### Returns + +[`Rest`](/3.4.2/api/classes/rest/) + +#### Defined in + +[src/node/Rest.ts:88](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L88) + +## Methods + +### decode() + +> **decode**(`track`): `Promise`\<`null` | [`Track`](/3.4.2/api/interfaces/track/)> + +Decode a track + +#### Parameters + +β€’ **track**: `string` + +Encoded track + +#### Returns + +`Promise`\<`null` | [`Track`](/3.4.2/api/interfaces/track/)> + +Promise that resolves to a track or void + +#### Defined in + +[src/node/Rest.ts:113](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L113) + +*** + +### resolve() + +> **resolve**(`identifier`): `Promise`\<`null` | [`LavalinkResponse`](/3.4.2/api/interfaces/lavalinkresponse/)> + +Resolve a track + +#### Parameters + +β€’ **identifier**: `string` + +Track ID + +#### Returns + +`Promise`\<`null` | [`LavalinkResponse`](/3.4.2/api/interfaces/lavalinkresponse/)> + +A promise that resolves to a Lavalink response or void + +#### Defined in + +[src/node/Rest.ts:99](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L99) diff --git a/src/content/docs/3.4.2/api/classes/Shoukaku.md b/src/content/docs/3.4.2/api/classes/Shoukaku.md new file mode 100644 index 0000000..b51c309 --- /dev/null +++ b/src/content/docs/3.4.2/api/classes/Shoukaku.md @@ -0,0 +1,1731 @@ +--- +editUrl: false +next: false +prev: false +title: Shoukaku +slug: 3.4.2/apiclasses/shoukaku +--- + +Main Shoukaku class + +## Extends + +* `EventEmitter` + +## Constructors + +### new Shoukaku() + +> **new Shoukaku**(`connector`, `nodes`, `options`): [`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +#### Parameters + +β€’ **connector**: [`Connector`](/3.4.2/api/classes/connector/) + +A Discord library connector + +β€’ **nodes**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/)\[] + +An array that conforms to the NodeOption type that specifies nodes to connect to + +β€’ **options**: [`ShoukakuOptions`](/3.4.2/api/interfaces/shoukakuoptions/) = `{}` + +#### Returns + +[`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +#### Defined in + +[src/Shoukaku.ts:191](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L191) + +## Properties + +### connector + +> `readonly` **connector**: [`Connector`](/3.4.2/api/classes/connector/) + +Discord library connector + +#### Defined in + +[src/Shoukaku.ts:163](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L163) + +*** + +### id + +> **id**: `null` | `string` + +Shoukaku instance identifier + +#### Defined in + +[src/Shoukaku.ts:175](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L175) + +*** + +### nodes + +> `readonly` **nodes**: `Map`\<`string`, [`Node`](/3.4.2/api/classes/node/)> + +Connected Lavalink nodes + +#### Defined in + +[src/Shoukaku.ts:171](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L171) + +*** + +### options + +> `readonly` **options**: [`MergedShoukakuOptions`](/3.4.2/api/interfaces/mergedshoukakuoptions/) + +Shoukaku options + +#### Defined in + +[src/Shoukaku.ts:167](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L167) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/3.4.2/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/3.4.2/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Accessors + +### players + +> `get` **players**(): `Map`\<`string`, [`Player`](/3.4.2/api/classes/player/)> + +Get a list of players + +#### Returns + +`Map`\<`string`, [`Player`](/3.4.2/api/classes/player/)> + +A map of guild IDs and players + +#### Defined in + +[src/Shoukaku.ts:205](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L205) + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### addNode() + +> **addNode**(`options`): `void` + +Add a Lavalink node to the pool of available nodes + +#### Parameters + +β€’ **options**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/) + +#### Returns + +`void` + +#### Defined in + +[src/Shoukaku.ts:221](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L221) + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/shoukaku/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### getNode() + +> **getNode**(`name`): `undefined` | [`Node`](/3.4.2/api/classes/node/) + +Select a Lavalink node from the pool of nodes + +#### Parameters + +β€’ **name**: `string` | `string`\[] = `'auto'` + +A specific node, an array of nodes, or the string `auto` + +#### Returns + +`undefined` | [`Node`](/3.4.2/api/classes/node/) + +A Lavalink node or undefined + +#### Defined in + +[src/Shoukaku.ts:251](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L251) + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"reconnecting"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:147](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L147) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"debug"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:148](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L148) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"error"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:149](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L149) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"ready"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:150](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L150) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"close"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:151](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L151) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"disconnect"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:152](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L152) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"raw"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:153](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L153) + +*** + +### once() + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"reconnecting"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:140](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L140) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"debug"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:141](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L141) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"error"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:142](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L142) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"ready"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:143](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L143) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"close"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:144](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L144) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"disconnect"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:145](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L145) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"raw"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:146](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L146) + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### removeNode() + +> **removeNode**(`name`, `reason`): `void` + +Remove a Lavalink node from the pool of available nodes + +#### Parameters + +β€’ **name**: `string` + +Name of the node + +β€’ **reason**: `string` = `'Remove node executed'` + +Reason of removing the node + +#### Returns + +`void` + +#### Defined in + +[src/Shoukaku.ts:239](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L239) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 + +## Events + +### on() + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when reconnect tries are occurring and how many tries are left + +##### Parameters + +β€’ **event**: `"reconnecting"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:109](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L109) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when data useful for debugging is produced + +##### Parameters + +β€’ **event**: `"debug"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:114](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L114) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when an error occurs + +##### Parameters + +β€’ **event**: `"error"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:119](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L119) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when Shoukaku is ready to recieve operations + +##### Parameters + +β€’ **event**: `"ready"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:124](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L124) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a websocket connection to Lavalink closes + +##### Parameters + +β€’ **event**: `"close"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:129](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L129) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a websocket connection to Lavalink disconnects + +##### Parameters + +β€’ **event**: `"disconnect"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:134](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L134) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a raw message is recived from Lavalink + +##### Parameters + +β€’ **event**: `"raw"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:139](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L139) diff --git a/src/content/docs/3.4.2/api/interfaces/Address.md b/src/content/docs/3.4.2/api/interfaces/Address.md new file mode 100644 index 0000000..19450ab --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/Address.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: Address +slug: 3.4.2/apiinterfaces/address +--- + +## Properties + +### address + +> **address**: `string` + +#### Defined in + +[src/node/Rest.ts:43](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L43) + +*** + +### failingTime + +> **failingTime**: `string` + +#### Defined in + +[src/node/Rest.ts:45](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L45) + +*** + +### failingTimestamp + +> **failingTimestamp**: `number` + +#### Defined in + +[src/node/Rest.ts:44](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L44) diff --git a/src/content/docs/3.4.2/api/interfaces/Band.md b/src/content/docs/3.4.2/api/interfaces/Band.md new file mode 100644 index 0000000..83923e6 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/Band.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: Band +slug: 3.4.2/apiinterfaces/band +--- + +## Properties + +### band + +> **band**: `number` + +#### Defined in + +[src/guild/Player.ts:42](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L42) + +*** + +### gain + +> **gain**: `number` + +#### Defined in + +[src/guild/Player.ts:43](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L43) diff --git a/src/content/docs/3.4.2/api/interfaces/ChannelMixSettings.md b/src/content/docs/3.4.2/api/interfaces/ChannelMixSettings.md new file mode 100644 index 0000000..65d3cea --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/ChannelMixSettings.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: ChannelMixSettings +slug: 3.4.2/apiinterfaces/channelmixsettings +--- + +## Properties + +### leftToLeft? + +> `optional` **leftToLeft**: `number` + +#### Defined in + +[src/guild/Player.ts:80](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L80) + +*** + +### leftToRight? + +> `optional` **leftToRight**: `number` + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L81) + +*** + +### rightToLeft? + +> `optional` **rightToLeft**: `number` + +#### Defined in + +[src/guild/Player.ts:82](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L82) + +*** + +### rightToRight? + +> `optional` **rightToRight**: `number` + +#### Defined in + +[src/guild/Player.ts:83](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L83) diff --git a/src/content/docs/3.4.2/api/interfaces/ConnectorMethods.md b/src/content/docs/3.4.2/api/interfaces/ConnectorMethods.md new file mode 100644 index 0000000..bccd4ca --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/ConnectorMethods.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: ConnectorMethods +slug: 3.4.2/apiinterfaces/connectormethods +--- + +## Properties + +### getId + +> **getId**: `any` + +#### Defined in + +[src/connectors/Connector.ts:7](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L7) + +*** + +### sendPacket + +> **sendPacket**: `any` + +#### Defined in + +[src/connectors/Connector.ts:6](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L6) diff --git a/src/content/docs/3.4.2/api/interfaces/DistortionSettings.md b/src/content/docs/3.4.2/api/interfaces/DistortionSettings.md new file mode 100644 index 0000000..fd4cf1f --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/DistortionSettings.md @@ -0,0 +1,87 @@ +--- +editUrl: false +next: false +prev: false +title: DistortionSettings +slug: 3.4.2/apiinterfaces/distortionsettings +--- + +## Properties + +### cosOffset? + +> `optional` **cosOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:71](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L71) + +*** + +### cosScale? + +> `optional` **cosScale**: `number` + +#### Defined in + +[src/guild/Player.ts:72](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L72) + +*** + +### offset? + +> `optional` **offset**: `number` + +#### Defined in + +[src/guild/Player.ts:75](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L75) + +*** + +### scale? + +> `optional` **scale**: `number` + +#### Defined in + +[src/guild/Player.ts:76](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L76) + +*** + +### sinOffset? + +> `optional` **sinOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:69](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L69) + +*** + +### sinScale? + +> `optional` **sinScale**: `number` + +#### Defined in + +[src/guild/Player.ts:70](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L70) + +*** + +### tanOffset? + +> `optional` **tanOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:73](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L73) + +*** + +### tanScale? + +> `optional` **tanScale**: `number` + +#### Defined in + +[src/guild/Player.ts:74](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L74) diff --git a/src/content/docs/3.4.2/api/interfaces/Exception.md b/src/content/docs/3.4.2/api/interfaces/Exception.md new file mode 100644 index 0000000..44856ec --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/Exception.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: Exception +slug: 3.4.2/apiinterfaces/exception +--- + +## Properties + +### cause + +> **cause**: `string` + +#### Defined in + +[src/guild/Player.ts:99](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L99) + +*** + +### message + +> **message**: `string` + +#### Defined in + +[src/guild/Player.ts:98](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L98) + +*** + +### severity + +> **severity**: [`Severity`](/3.4.2/api/type-aliases/severity/) + +#### Defined in + +[src/guild/Player.ts:97](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L97) diff --git a/src/content/docs/3.4.2/api/interfaces/FilterOptions.md b/src/content/docs/3.4.2/api/interfaces/FilterOptions.md new file mode 100644 index 0000000..d957863 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/FilterOptions.md @@ -0,0 +1,107 @@ +--- +editUrl: false +next: false +prev: false +title: FilterOptions +slug: 3.4.2/apiinterfaces/filteroptions +--- + +## Properties + +### channelMix? + +> `optional` **channelMix**: `null` | [`ChannelMixSettings`](/3.4.2/api/interfaces/channelmixsettings/) + +#### Defined in + +[src/guild/Player.ts:156](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L156) + +*** + +### distortion? + +> `optional` **distortion**: `null` | [`DistortionSettings`](/3.4.2/api/interfaces/distortionsettings/) + +#### Defined in + +[src/guild/Player.ts:155](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L155) + +*** + +### equalizer? + +> `optional` **equalizer**: [`Band`](/3.4.2/api/interfaces/band/)\[] + +#### Defined in + +[src/guild/Player.ts:149](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L149) + +*** + +### karaoke? + +> `optional` **karaoke**: `null` | [`KaraokeSettings`](/3.4.2/api/interfaces/karaokesettings/) + +#### Defined in + +[src/guild/Player.ts:150](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L150) + +*** + +### lowPass? + +> `optional` **lowPass**: `null` | [`LowPassSettings`](/3.4.2/api/interfaces/lowpasssettings/) + +#### Defined in + +[src/guild/Player.ts:157](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L157) + +*** + +### rotation? + +> `optional` **rotation**: `null` | [`RotationSettings`](/3.4.2/api/interfaces/rotationsettings/) + +#### Defined in + +[src/guild/Player.ts:154](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L154) + +*** + +### timescale? + +> `optional` **timescale**: `null` | [`TimescaleSettings`](/3.4.2/api/interfaces/timescalesettings/) + +#### Defined in + +[src/guild/Player.ts:151](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L151) + +*** + +### tremolo? + +> `optional` **tremolo**: `null` | [`FreqSettings`](/3.4.2/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:152](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L152) + +*** + +### vibrato? + +> `optional` **vibrato**: `null` | [`FreqSettings`](/3.4.2/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:153](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L153) + +*** + +### volume? + +> `optional` **volume**: `number` + +#### Defined in + +[src/guild/Player.ts:148](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L148) diff --git a/src/content/docs/3.4.2/api/interfaces/FreqSettings.md b/src/content/docs/3.4.2/api/interfaces/FreqSettings.md new file mode 100644 index 0000000..3505d0f --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/FreqSettings.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: FreqSettings +slug: 3.4.2/apiinterfaces/freqsettings +--- + +## Properties + +### depth? + +> `optional` **depth**: `number` + +#### Defined in + +[src/guild/Player.ts:61](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L61) + +*** + +### frequency? + +> `optional` **frequency**: `number` + +#### Defined in + +[src/guild/Player.ts:60](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L60) diff --git a/src/content/docs/3.4.2/api/interfaces/KaraokeSettings.md b/src/content/docs/3.4.2/api/interfaces/KaraokeSettings.md new file mode 100644 index 0000000..323ab91 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/KaraokeSettings.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: KaraokeSettings +slug: 3.4.2/apiinterfaces/karaokesettings +--- + +## Properties + +### filterBand? + +> `optional` **filterBand**: `number` + +#### Defined in + +[src/guild/Player.ts:49](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L49) + +*** + +### filterWidth? + +> `optional` **filterWidth**: `number` + +#### Defined in + +[src/guild/Player.ts:50](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L50) + +*** + +### level? + +> `optional` **level**: `number` + +#### Defined in + +[src/guild/Player.ts:47](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L47) + +*** + +### monoLevel? + +> `optional` **monoLevel**: `number` + +#### Defined in + +[src/guild/Player.ts:48](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L48) diff --git a/src/content/docs/3.4.2/api/interfaces/LavalinkResponse.md b/src/content/docs/3.4.2/api/interfaces/LavalinkResponse.md new file mode 100644 index 0000000..be1e67b --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/LavalinkResponse.md @@ -0,0 +1,45 @@ +--- +editUrl: false +next: false +prev: false +title: LavalinkResponse +slug: 3.4.2/apiinterfaces/lavalinkresponse +--- + +## Properties + +### loadType + +> **loadType**: [`LoadType`](/3.4.2/api/type-aliases/loadtype/) + +#### Defined in + +[src/node/Rest.ts:34](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L34) + +*** + +### playlistInfo + +> **playlistInfo**: `object` + +#### name? + +> `optional` **name**: `string` + +#### selectedTrack? + +> `optional` **selectedTrack**: `number` + +#### Defined in + +[src/node/Rest.ts:35](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L35) + +*** + +### tracks + +> **tracks**: [`Track`](/3.4.2/api/interfaces/track/)\[] + +#### Defined in + +[src/node/Rest.ts:39](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L39) diff --git a/src/content/docs/3.4.2/api/interfaces/LowPassSettings.md b/src/content/docs/3.4.2/api/interfaces/LowPassSettings.md new file mode 100644 index 0000000..85b9818 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/LowPassSettings.md @@ -0,0 +1,17 @@ +--- +editUrl: false +next: false +prev: false +title: LowPassSettings +slug: 3.4.2/apiinterfaces/lowpasssettings +--- + +## Properties + +### smoothing? + +> `optional` **smoothing**: `number` + +#### Defined in + +[src/guild/Player.ts:87](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L87) diff --git a/src/content/docs/3.4.2/api/interfaces/MergedShoukakuOptions.md b/src/content/docs/3.4.2/api/interfaces/MergedShoukakuOptions.md new file mode 100644 index 0000000..9ed4acc --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/MergedShoukakuOptions.md @@ -0,0 +1,117 @@ +--- +editUrl: false +next: false +prev: false +title: MergedShoukakuOptions +slug: 3.4.2/apiinterfaces/mergedshoukakuoptions +--- + +## Properties + +### alwaysSendResumeKey + +> **alwaysSendResumeKey**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:95](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L95) + +*** + +### moveOnDisconnect + +> **moveOnDisconnect**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:99](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L99) + +*** + +### reconnectInterval + +> **reconnectInterval**: `number` + +#### Defined in + +[src/Shoukaku.ts:97](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L97) + +*** + +### reconnectTries + +> **reconnectTries**: `number` + +#### Defined in + +[src/Shoukaku.ts:96](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L96) + +*** + +### restTimeout + +> **restTimeout**: `number` + +#### Defined in + +[src/Shoukaku.ts:98](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L98) + +*** + +### resume + +> **resume**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:91](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L91) + +*** + +### resumeByLibrary + +> **resumeByLibrary**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:94](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L94) + +*** + +### resumeKey + +> **resumeKey**: `string` + +#### Defined in + +[src/Shoukaku.ts:92](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L92) + +*** + +### resumeTimeout + +> **resumeTimeout**: `number` + +#### Defined in + +[src/Shoukaku.ts:93](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L93) + +*** + +### structures + +> **structures**: [`Structures`](/3.4.2/api/interfaces/structures/) + +#### Defined in + +[src/Shoukaku.ts:101](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L101) + +*** + +### userAgent + +> **userAgent**: `string` + +#### Defined in + +[src/Shoukaku.ts:100](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L100) diff --git a/src/content/docs/3.4.2/api/interfaces/NodeOption.md b/src/content/docs/3.4.2/api/interfaces/NodeOption.md new file mode 100644 index 0000000..e8c58f8 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/NodeOption.md @@ -0,0 +1,67 @@ +--- +editUrl: false +next: false +prev: false +title: NodeOption +slug: 3.4.2/apiinterfaces/nodeoption +--- + +## Properties + +### auth + +> **auth**: `string` + +Credentials to access Lavalnk + +#### Defined in + +[src/Shoukaku.ts:32](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L32) + +*** + +### group? + +> `optional` **group**: `string` + +Group of this node + +#### Defined in + +[src/Shoukaku.ts:40](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L40) + +*** + +### name + +> **name**: `string` + +Name of this node + +#### Defined in + +[src/Shoukaku.ts:24](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L24) + +*** + +### secure? + +> `optional` **secure**: `boolean` + +Whether to use secure protocols or not + +#### Defined in + +[src/Shoukaku.ts:36](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L36) + +*** + +### url + +> **url**: `string` + +URL of Lavalink + +#### Defined in + +[src/Shoukaku.ts:28](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L28) diff --git a/src/content/docs/3.4.2/api/interfaces/NodeStats.md b/src/content/docs/3.4.2/api/interfaces/NodeStats.md new file mode 100644 index 0000000..f067e5c --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/NodeStats.md @@ -0,0 +1,107 @@ +--- +editUrl: false +next: false +prev: false +title: NodeStats +slug: 3.4.2/apiinterfaces/nodestats +--- + +## Properties + +### cpu + +> **cpu**: `object` + +#### cores + +> **cores**: `number` + +#### lavalinkLoad + +> **lavalinkLoad**: `number` + +#### systemLoad + +> **systemLoad**: `number` + +#### Defined in + +[src/node/Node.ts:32](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L32) + +*** + +### frameStats + +> **frameStats**: `object` + +#### deficit + +> **deficit**: `number` + +#### nulled + +> **nulled**: `number` + +#### sent + +> **sent**: `number` + +#### Defined in + +[src/node/Node.ts:27](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L27) + +*** + +### memory + +> **memory**: `object` + +#### allocated + +> **allocated**: `number` + +#### free + +> **free**: `number` + +#### reservable + +> **reservable**: `number` + +#### used + +> **used**: `number` + +#### Defined in + +[src/node/Node.ts:21](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L21) + +*** + +### players + +> **players**: `number` + +#### Defined in + +[src/node/Node.ts:19](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L19) + +*** + +### playingPlayers + +> **playingPlayers**: `number` + +#### Defined in + +[src/node/Node.ts:20](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L20) + +*** + +### uptime + +> **uptime**: `number` + +#### Defined in + +[src/node/Node.ts:37](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L37) diff --git a/src/content/docs/3.4.2/api/interfaces/NonResumableHeaders.md b/src/content/docs/3.4.2/api/interfaces/NonResumableHeaders.md new file mode 100644 index 0000000..0c42e43 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/NonResumableHeaders.md @@ -0,0 +1,51 @@ +--- +editUrl: false +next: false +prev: false +title: NonResumableHeaders +slug: 3.4.2/apiinterfaces/nonresumableheaders +--- + +## Indexable + +\[`key`: `string`]: `string` + +## Properties + +### Authorization + +> **Authorization**: `string` + +#### Defined in + +[src/node/Node.ts:53](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L53) + +*** + +### Client-Name + +> **Client-Name**: `string` + +#### Defined in + +[src/node/Node.ts:51](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L51) + +*** + +### User-Agent + +> **User-Agent**: `string` + +#### Defined in + +[src/node/Node.ts:52](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L52) + +*** + +### User-Id + +> **User-Id**: `string` + +#### Defined in + +[src/node/Node.ts:54](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L54) diff --git a/src/content/docs/3.4.2/api/interfaces/PlayOptions.md b/src/content/docs/3.4.2/api/interfaces/PlayOptions.md new file mode 100644 index 0000000..703153f --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/PlayOptions.md @@ -0,0 +1,45 @@ +--- +editUrl: false +next: false +prev: false +title: PlayOptions +slug: 3.4.2/apiinterfaces/playoptions +--- + +Options when playing a new track + +## Properties + +### options? + +> `optional` **options**: `object` + +#### endTime? + +> `optional` **endTime**: `number` + +#### noReplace? + +> `optional` **noReplace**: `boolean` + +#### pause? + +> `optional` **pause**: `boolean` + +#### startTime? + +> `optional` **startTime**: `number` + +#### Defined in + +[src/guild/Player.ts:16](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L16) + +*** + +### track + +> **track**: `string` + +#### Defined in + +[src/guild/Player.ts:15](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L15) diff --git a/src/content/docs/3.4.2/api/interfaces/PlayPayload.md b/src/content/docs/3.4.2/api/interfaces/PlayPayload.md new file mode 100644 index 0000000..20ea137 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/PlayPayload.md @@ -0,0 +1,77 @@ +--- +editUrl: false +next: false +prev: false +title: PlayPayload +slug: 3.4.2/apiinterfaces/playpayload +--- + +## Properties + +### endTime? + +> `optional` **endTime**: `number` + +#### Defined in + +[src/guild/Player.ts:31](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L31) + +*** + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/guild/Player.ts:26](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L26) + +*** + +### noReplace + +> **noReplace**: `boolean` + +#### Defined in + +[src/guild/Player.ts:28](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L28) + +*** + +### op + +> **op**: `string` + +#### Defined in + +[src/guild/Player.ts:25](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L25) + +*** + +### pause + +> **pause**: `boolean` + +#### Defined in + +[src/guild/Player.ts:29](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L29) + +*** + +### startTime? + +> `optional` **startTime**: `number` + +#### Defined in + +[src/guild/Player.ts:30](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L30) + +*** + +### track + +> **track**: `string` + +#### Defined in + +[src/guild/Player.ts:27](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L27) diff --git a/src/content/docs/3.4.2/api/interfaces/PlayerEvent.md b/src/content/docs/3.4.2/api/interfaces/PlayerEvent.md new file mode 100644 index 0000000..6bb204b --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/PlayerEvent.md @@ -0,0 +1,45 @@ +--- +editUrl: false +next: false +prev: false +title: PlayerEvent +slug: 3.4.2/apiinterfaces/playerevent +--- + +## Extended by + +* [`TrackStartEvent`](/3.4.2/api/interfaces/trackstartevent/) +* [`TrackEndEvent`](/3.4.2/api/interfaces/trackendevent/) +* [`TrackStuckEvent`](/3.4.2/api/interfaces/trackstuckevent/) +* [`TrackExceptionEvent`](/3.4.2/api/interfaces/trackexceptionevent/) +* [`WebSocketClosedEvent`](/3.4.2/api/interfaces/websocketclosedevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/guild/Player.ts:93](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L93) + +*** + +### op + +> **op**: [`EVENT`](/3.4.2/api/namespaces/constants/enumerations/opcodes/#event) + +#### Defined in + +[src/guild/Player.ts:91](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L91) + +*** + +### type + +> **type**: [`PlayerEventType`](/3.4.2/api/type-aliases/playereventtype/) + +#### Defined in + +[src/guild/Player.ts:92](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L92) diff --git a/src/content/docs/3.4.2/api/interfaces/PlayerUpdate.md b/src/content/docs/3.4.2/api/interfaces/PlayerUpdate.md new file mode 100644 index 0000000..25e40bf --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/PlayerUpdate.md @@ -0,0 +1,49 @@ +--- +editUrl: false +next: false +prev: false +title: PlayerUpdate +slug: 3.4.2/apiinterfaces/playerupdate +--- + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/guild/Player.ts:144](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L144) + +*** + +### op + +> **op**: [`PLAYER_UPDATE`](/3.4.2/api/namespaces/constants/enumerations/opcodes/#player_update) + +#### Defined in + +[src/guild/Player.ts:138](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L138) + +*** + +### state + +> **state**: `object` + +#### connected + +> **connected**: `boolean` + +#### position? + +> `optional` **position**: `number` + +#### time + +> **time**: `number` + +#### Defined in + +[src/guild/Player.ts:139](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L139) diff --git a/src/content/docs/3.4.2/api/interfaces/ResumableHeaders.md b/src/content/docs/3.4.2/api/interfaces/ResumableHeaders.md new file mode 100644 index 0000000..45428c6 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/ResumableHeaders.md @@ -0,0 +1,61 @@ +--- +editUrl: false +next: false +prev: false +title: ResumableHeaders +slug: 3.4.2/apiinterfaces/resumableheaders +--- + +## Indexable + +\[`key`: `string`]: `string` + +## Properties + +### Authorization + +> **Authorization**: `string` + +#### Defined in + +[src/node/Node.ts:44](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L44) + +*** + +### Client-Name + +> **Client-Name**: `string` + +#### Defined in + +[src/node/Node.ts:42](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L42) + +*** + +### Resume-Key + +> **Resume-Key**: `string` + +#### Defined in + +[src/node/Node.ts:46](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L46) + +*** + +### User-Agent + +> **User-Agent**: `string` + +#### Defined in + +[src/node/Node.ts:43](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L43) + +*** + +### User-Id + +> **User-Id**: `string` + +#### Defined in + +[src/node/Node.ts:45](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L45) diff --git a/src/content/docs/3.4.2/api/interfaces/ResumeOptions.md b/src/content/docs/3.4.2/api/interfaces/ResumeOptions.md new file mode 100644 index 0000000..56d61dc --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/ResumeOptions.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: ResumeOptions +slug: 3.4.2/apiinterfaces/resumeoptions +--- + +## Properties + +### endtime? + +> `optional` **endtime**: `number` + +#### Defined in + +[src/guild/Player.ts:38](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L38) + +*** + +### noReplace? + +> `optional` **noReplace**: `boolean` + +#### Defined in + +[src/guild/Player.ts:35](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L35) + +*** + +### pause? + +> `optional` **pause**: `boolean` + +#### Defined in + +[src/guild/Player.ts:36](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L36) + +*** + +### startTime? + +> `optional` **startTime**: `number` + +#### Defined in + +[src/guild/Player.ts:37](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L37) diff --git a/src/content/docs/3.4.2/api/interfaces/RotationSettings.md b/src/content/docs/3.4.2/api/interfaces/RotationSettings.md new file mode 100644 index 0000000..31ed501 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/RotationSettings.md @@ -0,0 +1,17 @@ +--- +editUrl: false +next: false +prev: false +title: RotationSettings +slug: 3.4.2/apiinterfaces/rotationsettings +--- + +## Properties + +### rotationHz? + +> `optional` **rotationHz**: `number` + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L65) diff --git a/src/content/docs/3.4.2/api/interfaces/RoutePlanner.md b/src/content/docs/3.4.2/api/interfaces/RoutePlanner.md new file mode 100644 index 0000000..36c8062 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/RoutePlanner.md @@ -0,0 +1,93 @@ +--- +editUrl: false +next: false +prev: false +title: RoutePlanner +slug: 3.4.2/apiinterfaces/routeplanner +--- + +## Properties + +### blockIndex? + +> `optional` **blockIndex**: `string` + +#### Defined in + +[src/node/Rest.ts:60](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L60) + +*** + +### class? + +> `optional` **class**: `string` + +#### Defined in + +[src/node/Rest.ts:49](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L49) + +*** + +### currentAddress? + +> `optional` **currentAddress**: `string` + +#### Defined in + +[src/node/Rest.ts:59](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L59) + +*** + +### currentAddressIndex? + +> `optional` **currentAddressIndex**: `string` + +#### Defined in + +[src/node/Rest.ts:61](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L61) + +*** + +### details? + +> `optional` **details**: `object` + +#### failingAddresses + +> **failingAddresses**: [`Address`](/3.4.2/api/interfaces/address/)\[] + +#### ipBlock + +> **ipBlock**: `object` + +#### ipBlock.size + +> **size**: `string` + +#### ipBlock.type + +> **type**: `string` + +#### Defined in + +[src/node/Rest.ts:50](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L50) + +*** + +### ipIndex? + +> `optional` **ipIndex**: `string` + +#### Defined in + +[src/node/Rest.ts:58](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L58) + +*** + +### rotateIndex? + +> `optional` **rotateIndex**: `string` + +#### Defined in + +[src/node/Rest.ts:57](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L57) diff --git a/src/content/docs/3.4.2/api/interfaces/ServerUpdate.md b/src/content/docs/3.4.2/api/interfaces/ServerUpdate.md new file mode 100644 index 0000000..1d13377 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/ServerUpdate.md @@ -0,0 +1,39 @@ +--- +editUrl: false +next: false +prev: false +title: ServerUpdate +slug: 3.4.2/apiinterfaces/serverupdate +--- + +Represents the payload from a serverUpdate event + +## Properties + +### endpoint + +> **endpoint**: `string` + +#### Defined in + +[src/guild/Connection.ts:22](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L22) + +*** + +### guild\_id + +> **guild\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:21](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L21) + +*** + +### token + +> **token**: `string` + +#### Defined in + +[src/guild/Connection.ts:20](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L20) diff --git a/src/content/docs/3.4.2/api/interfaces/ShoukakuOptions.md b/src/content/docs/3.4.2/api/interfaces/ShoukakuOptions.md new file mode 100644 index 0000000..b76ae53 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/ShoukakuOptions.md @@ -0,0 +1,139 @@ +--- +editUrl: false +next: false +prev: false +title: ShoukakuOptions +slug: 3.4.2/apiinterfaces/shoukakuoptions +--- + +## Properties + +### alwaysSendResumeKey? + +> `optional` **alwaysSendResumeKey**: `boolean` + +Disables the first time initialization tracking of nodes, and just sends the resume key always (Note: Useful for people who save their players to redis and wants to resume sessions even at first boot) + +#### Defined in + +[src/Shoukaku.ts:63](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L63) + +*** + +### moveOnDisconnect? + +> `optional` **moveOnDisconnect**: `boolean` + +Whether to move players to a different Lavalink node when a node disconnects + +#### Defined in + +[src/Shoukaku.ts:79](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L79) + +*** + +### reconnectInterval? + +> `optional` **reconnectInterval**: `number` + +Timeout before trying to reconnect + +#### Defined in + +[src/Shoukaku.ts:71](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L71) + +*** + +### reconnectTries? + +> `optional` **reconnectTries**: `number` + +Number of times to try and reconnect to Lavalink before giving up + +#### Defined in + +[src/Shoukaku.ts:67](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L67) + +*** + +### restTimeout? + +> `optional` **restTimeout**: `number` + +Time to wait for a response from the Lavalink REST API before giving up + +#### Defined in + +[src/Shoukaku.ts:75](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L75) + +*** + +### resume? + +> `optional` **resume**: `boolean` + +Whether to resume a connection on disconnect to Lavalink (Server Side) (Note: DOES NOT RESUME WHEN THE LAVALINK SERVER DIES) + +#### Defined in + +[src/Shoukaku.ts:47](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L47) + +*** + +### resumeByLibrary? + +> `optional` **resumeByLibrary**: `boolean` + +Whether to resume the players by doing it in the library side (Client Side) (Note: TRIES TO RESUME REGARDLESS OF WHAT HAPPENED ON A LAVALINK SERVER) + +#### Defined in + +[src/Shoukaku.ts:59](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L59) + +*** + +### resumeKey? + +> `optional` **resumeKey**: `string` + +Resume key for Lavalink + +#### Defined in + +[src/Shoukaku.ts:51](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L51) + +*** + +### resumeTimeout? + +> `optional` **resumeTimeout**: `number` + +Time to wait before lavalink starts to destroy the players of the disconnected client + +#### Defined in + +[src/Shoukaku.ts:55](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L55) + +*** + +### structures? + +> `optional` **structures**: [`Structures`](/3.4.2/api/interfaces/structures/) + +Custom structures for shoukaku to use + +#### Defined in + +[src/Shoukaku.ts:87](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L87) + +*** + +### userAgent? + +> `optional` **userAgent**: `string` + +User Agent to use when making requests to Lavalink + +#### Defined in + +[src/Shoukaku.ts:83](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L83) diff --git a/src/content/docs/3.4.2/api/interfaces/StateUpdatePartial.md b/src/content/docs/3.4.2/api/interfaces/StateUpdatePartial.md new file mode 100644 index 0000000..6e5c1bd --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/StateUpdatePartial.md @@ -0,0 +1,49 @@ +--- +editUrl: false +next: false +prev: false +title: StateUpdatePartial +slug: 3.4.2/apiinterfaces/stateupdatepartial +--- + +Represents the partial payload from a stateUpdate event + +## Properties + +### channel\_id? + +> `optional` **channel\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:10](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L10) + +*** + +### self\_deaf + +> **self\_deaf**: `boolean` + +#### Defined in + +[src/guild/Connection.ts:12](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L12) + +*** + +### self\_mute + +> **self\_mute**: `boolean` + +#### Defined in + +[src/guild/Connection.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L13) + +*** + +### session\_id? + +> `optional` **session\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:11](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Connection.ts#L11) diff --git a/src/content/docs/3.4.2/api/interfaces/Structures.md b/src/content/docs/3.4.2/api/interfaces/Structures.md new file mode 100644 index 0000000..74721eb --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/Structures.md @@ -0,0 +1,31 @@ +--- +editUrl: false +next: false +prev: false +title: Structures +slug: 3.4.2/apiinterfaces/structures +--- + +## Properties + +### player? + +> `optional` **player**: [`Constructor`](/3.4.2/api/namespaces/utils/type-aliases/constructor/)\<[`Player`](/3.4.2/api/classes/player/)> + +A custom structure that extends the Player class + +#### Defined in + +[src/Shoukaku.ts:17](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L17) + +*** + +### rest? + +> `optional` **rest**: [`Constructor`](/3.4.2/api/namespaces/utils/type-aliases/constructor/)\<[`Rest`](/3.4.2/api/classes/rest/)> + +A custom structure that extends the Rest class + +#### Defined in + +[src/Shoukaku.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Shoukaku.ts#L13) diff --git a/src/content/docs/3.4.2/api/interfaces/TimescaleSettings.md b/src/content/docs/3.4.2/api/interfaces/TimescaleSettings.md new file mode 100644 index 0000000..823138d --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/TimescaleSettings.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: TimescaleSettings +slug: 3.4.2/apiinterfaces/timescalesettings +--- + +## Properties + +### pitch? + +> `optional` **pitch**: `number` + +#### Defined in + +[src/guild/Player.ts:55](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L55) + +*** + +### rate? + +> `optional` **rate**: `number` + +#### Defined in + +[src/guild/Player.ts:56](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L56) + +*** + +### speed? + +> `optional` **speed**: `number` + +#### Defined in + +[src/guild/Player.ts:54](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L54) diff --git a/src/content/docs/3.4.2/api/interfaces/Track.md b/src/content/docs/3.4.2/api/interfaces/Track.md new file mode 100644 index 0000000..444a1be --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/Track.md @@ -0,0 +1,63 @@ +--- +editUrl: false +next: false +prev: false +title: Track +slug: 3.4.2/apiinterfaces/track +--- + +## Properties + +### info + +> **info**: `object` + +#### author + +> **author**: `string` + +#### identifier + +> **identifier**: `string` + +#### isSeekable + +> **isSeekable**: `boolean` + +#### isStream + +> **isStream**: `boolean` + +#### length + +> **length**: `number` + +#### position + +> **position**: `number` + +#### sourceName + +> **sourceName**: `string` + +#### title + +> **title**: `string` + +#### uri + +> **uri**: `string` + +#### Defined in + +[src/node/Rest.ts:20](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L20) + +*** + +### track + +> **track**: `string` + +#### Defined in + +[src/node/Rest.ts:19](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L19) diff --git a/src/content/docs/3.4.2/api/interfaces/TrackEndEvent.md b/src/content/docs/3.4.2/api/interfaces/TrackEndEvent.md new file mode 100644 index 0000000..e85aaa2 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/TrackEndEvent.md @@ -0,0 +1,73 @@ +--- +editUrl: false +next: false +prev: false +title: TrackEndEvent +slug: 3.4.2/apiinterfaces/trackendevent +--- + +## Extends + +* [`PlayerEvent`](/3.4.2/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`guildId`](/3.4.2/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:93](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L93) + +*** + +### op + +> **op**: [`EVENT`](/3.4.2/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`op`](/3.4.2/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:91](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L91) + +*** + +### reason + +> **reason**: [`TrackEndReason`](/3.4.2/api/type-aliases/trackendreason/) + +#### Defined in + +[src/guild/Player.ts:110](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L110) + +*** + +### track + +> **track**: `string` + +#### Defined in + +[src/guild/Player.ts:109](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L109) + +*** + +### type + +> **type**: `"TrackEndEvent"` + +#### Overrides + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`type`](/3.4.2/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:108](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L108) diff --git a/src/content/docs/3.4.2/api/interfaces/TrackExceptionEvent.md b/src/content/docs/3.4.2/api/interfaces/TrackExceptionEvent.md new file mode 100644 index 0000000..d3c90b9 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/TrackExceptionEvent.md @@ -0,0 +1,73 @@ +--- +editUrl: false +next: false +prev: false +title: TrackExceptionEvent +slug: 3.4.2/apiinterfaces/trackexceptionevent +--- + +## Extends + +* [`PlayerEvent`](/3.4.2/api/interfaces/playerevent/) + +## Properties + +### error + +> **error**: `string` + +#### Defined in + +[src/guild/Player.ts:122](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L122) + +*** + +### exception? + +> `optional` **exception**: [`Exception`](/3.4.2/api/interfaces/exception/) + +#### Defined in + +[src/guild/Player.ts:121](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L121) + +*** + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`guildId`](/3.4.2/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:93](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L93) + +*** + +### op + +> **op**: [`EVENT`](/3.4.2/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`op`](/3.4.2/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:91](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L91) + +*** + +### type + +> **type**: `"TrackExceptionEvent"` + +#### Overrides + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`type`](/3.4.2/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:120](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L120) diff --git a/src/content/docs/3.4.2/api/interfaces/TrackStartEvent.md b/src/content/docs/3.4.2/api/interfaces/TrackStartEvent.md new file mode 100644 index 0000000..8a805df --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/TrackStartEvent.md @@ -0,0 +1,63 @@ +--- +editUrl: false +next: false +prev: false +title: TrackStartEvent +slug: 3.4.2/apiinterfaces/trackstartevent +--- + +## Extends + +* [`PlayerEvent`](/3.4.2/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`guildId`](/3.4.2/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:93](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L93) + +*** + +### op + +> **op**: [`EVENT`](/3.4.2/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`op`](/3.4.2/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:91](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L91) + +*** + +### track + +> **track**: `string` + +#### Defined in + +[src/guild/Player.ts:104](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L104) + +*** + +### type + +> **type**: `"TrackStartEvent"` + +#### Overrides + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`type`](/3.4.2/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:103](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L103) diff --git a/src/content/docs/3.4.2/api/interfaces/TrackStuckEvent.md b/src/content/docs/3.4.2/api/interfaces/TrackStuckEvent.md new file mode 100644 index 0000000..a750e16 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/TrackStuckEvent.md @@ -0,0 +1,73 @@ +--- +editUrl: false +next: false +prev: false +title: TrackStuckEvent +slug: 3.4.2/apiinterfaces/trackstuckevent +--- + +## Extends + +* [`PlayerEvent`](/3.4.2/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`guildId`](/3.4.2/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:93](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L93) + +*** + +### op + +> **op**: [`EVENT`](/3.4.2/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`op`](/3.4.2/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:91](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L91) + +*** + +### thresholdMs + +> **thresholdMs**: `number` + +#### Defined in + +[src/guild/Player.ts:116](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L116) + +*** + +### track + +> **track**: `string` + +#### Defined in + +[src/guild/Player.ts:115](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L115) + +*** + +### type + +> **type**: `"TrackStuckEvent"` + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`type`](/3.4.2/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:114](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L114) diff --git a/src/content/docs/3.4.2/api/interfaces/VoiceChannelOptions.md b/src/content/docs/3.4.2/api/interfaces/VoiceChannelOptions.md new file mode 100644 index 0000000..271d469 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/VoiceChannelOptions.md @@ -0,0 +1,57 @@ +--- +editUrl: false +next: false +prev: false +title: VoiceChannelOptions +slug: 3.4.2/apiinterfaces/voicechanneloptions +--- + +## Properties + +### channelId + +> **channelId**: `string` + +#### Defined in + +[src/node/Node.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L13) + +*** + +### deaf? + +> `optional` **deaf**: `boolean` + +#### Defined in + +[src/node/Node.ts:14](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L14) + +*** + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/node/Node.ts:11](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L11) + +*** + +### mute? + +> `optional` **mute**: `boolean` + +#### Defined in + +[src/node/Node.ts:15](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L15) + +*** + +### shardId + +> **shardId**: `number` + +#### Defined in + +[src/node/Node.ts:12](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Node.ts#L12) diff --git a/src/content/docs/3.4.2/api/interfaces/WebSocketClosedEvent.md b/src/content/docs/3.4.2/api/interfaces/WebSocketClosedEvent.md new file mode 100644 index 0000000..4e93329 --- /dev/null +++ b/src/content/docs/3.4.2/api/interfaces/WebSocketClosedEvent.md @@ -0,0 +1,83 @@ +--- +editUrl: false +next: false +prev: false +title: WebSocketClosedEvent +slug: 3.4.2/apiinterfaces/websocketclosedevent +--- + +## Extends + +* [`PlayerEvent`](/3.4.2/api/interfaces/playerevent/) + +## Properties + +### byRemote + +> **byRemote**: `boolean` + +#### Defined in + +[src/guild/Player.ts:133](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L133) + +*** + +### code + +> **code**: `number` + +#### Defined in + +[src/guild/Player.ts:132](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L132) + +*** + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`guildId`](/3.4.2/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:93](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L93) + +*** + +### op + +> **op**: [`EVENT`](/3.4.2/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`op`](/3.4.2/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:91](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L91) + +*** + +### reason + +> **reason**: `string` + +#### Defined in + +[src/guild/Player.ts:134](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L134) + +*** + +### type + +> **type**: `"WebSocketClosedEvent"` + +#### Overrides + +[`PlayerEvent`](/3.4.2/api/interfaces/playerevent/).[`type`](/3.4.2/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:131](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L131) diff --git a/src/content/docs/3.4.2/api/namespaces/Connectors/classes/DiscordJS.md b/src/content/docs/3.4.2/api/namespaces/Connectors/classes/DiscordJS.md new file mode 100644 index 0000000..9ceb9a8 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Connectors/classes/DiscordJS.md @@ -0,0 +1,121 @@ +--- +editUrl: false +next: false +prev: false +title: DiscordJS +slug: 3.4.2/apinamespacesconnectorsclasses/discordjs +--- + +## Extends + +* [`Connector`](/3.4.2/api/classes/connector/) + +## Constructors + +### new DiscordJS() + +> **new DiscordJS**(`client`): [`DiscordJS`](/3.4.2/api/namespaces/connectors/classes/discordjs/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`DiscordJS`](/3.4.2/api/namespaces/connectors/classes/discordjs/) + +#### Inherited from + +[`Connector`](/3.4.2/api/classes/connector/).[`constructor`](/3.4.2/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L13) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`getId`](/3.4.2/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:10](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/DiscordJS.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`listen`](/3.4.2/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:14](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/DiscordJS.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`sendPacket`](/3.4.2/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:6](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/DiscordJS.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/3.4.2/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/3.4.2/api/classes/connector/) + +#### Inherited from + +[`Connector`](/3.4.2/api/classes/connector/).[`set`](/3.4.2/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:18](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L18) diff --git a/src/content/docs/3.4.2/api/namespaces/Connectors/classes/Eris.md b/src/content/docs/3.4.2/api/namespaces/Connectors/classes/Eris.md new file mode 100644 index 0000000..40032a7 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Connectors/classes/Eris.md @@ -0,0 +1,121 @@ +--- +editUrl: false +next: false +prev: false +title: Eris +slug: 3.4.2/apinamespacesconnectorsclasses/eris +--- + +## Extends + +* [`Connector`](/3.4.2/api/classes/connector/) + +## Constructors + +### new Eris() + +> **new Eris**(`client`): [`Eris`](/3.4.2/api/namespaces/connectors/classes/eris/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`Eris`](/3.4.2/api/namespaces/connectors/classes/eris/) + +#### Inherited from + +[`Connector`](/3.4.2/api/classes/connector/).[`constructor`](/3.4.2/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L13) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`getId`](/3.4.2/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/Eris.ts:10](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/Eris.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`listen`](/3.4.2/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/Eris.ts:14](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/Eris.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`sendPacket`](/3.4.2/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/Eris.ts:6](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/Eris.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/3.4.2/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/3.4.2/api/classes/connector/) + +#### Inherited from + +[`Connector`](/3.4.2/api/classes/connector/).[`set`](/3.4.2/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:18](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L18) diff --git a/src/content/docs/3.4.2/api/namespaces/Connectors/classes/OceanicJS.md b/src/content/docs/3.4.2/api/namespaces/Connectors/classes/OceanicJS.md new file mode 100644 index 0000000..737ab1f --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Connectors/classes/OceanicJS.md @@ -0,0 +1,121 @@ +--- +editUrl: false +next: false +prev: false +title: OceanicJS +slug: 3.4.2/apinamespacesconnectorsclasses/oceanicjs +--- + +## Extends + +* [`Connector`](/3.4.2/api/classes/connector/) + +## Constructors + +### new OceanicJS() + +> **new OceanicJS**(`client`): [`OceanicJS`](/3.4.2/api/namespaces/connectors/classes/oceanicjs/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`OceanicJS`](/3.4.2/api/namespaces/connectors/classes/oceanicjs/) + +#### Inherited from + +[`Connector`](/3.4.2/api/classes/connector/).[`constructor`](/3.4.2/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L13) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`getId`](/3.4.2/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:10](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/OceanicJS.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`listen`](/3.4.2/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:14](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/OceanicJS.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/3.4.2/api/classes/connector/).[`sendPacket`](/3.4.2/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:6](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/libs/OceanicJS.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/3.4.2/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/3.4.2/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/3.4.2/api/classes/connector/) + +#### Inherited from + +[`Connector`](/3.4.2/api/classes/connector/).[`set`](/3.4.2/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:18](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/connectors/Connector.ts#L18) diff --git a/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/OPCodes.md b/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/OPCodes.md new file mode 100644 index 0000000..47dd610 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/OPCodes.md @@ -0,0 +1,127 @@ +--- +editUrl: false +next: false +prev: false +title: OPCodes +slug: 3.4.2/apinamespacesconstantsenumerations/opcodes +--- + +## Enumeration Members + +### CONFIGURE\_RESUMING + +> **CONFIGURE\_RESUMING**: `"configureResuming"` + +#### Defined in + +[src/Constants.ts:29](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L29) + +*** + +### DESTROY + +> **DESTROY**: `"destroy"` + +#### Defined in + +[src/Constants.ts:26](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L26) + +*** + +### EVENT + +> **EVENT**: `"event"` + +#### Defined in + +[src/Constants.ts:31](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L31) + +*** + +### FILTERS + +> **FILTERS**: `"filters"` + +#### Defined in + +[src/Constants.ts:25](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L25) + +*** + +### PAUSE + +> **PAUSE**: `"pause"` + +#### Defined in + +[src/Constants.ts:22](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L22) + +*** + +### PLAY + +> **PLAY**: `"play"` + +#### Defined in + +[src/Constants.ts:20](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L20) + +*** + +### PLAYER\_UPDATE + +> **PLAYER\_UPDATE**: `"playerUpdate"` + +#### Defined in + +[src/Constants.ts:28](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L28) + +*** + +### SEEK + +> **SEEK**: `"seek"` + +#### Defined in + +[src/Constants.ts:23](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L23) + +*** + +### STATS + +> **STATS**: `"stats"` + +#### Defined in + +[src/Constants.ts:30](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L30) + +*** + +### STOP + +> **STOP**: `"stop"` + +#### Defined in + +[src/Constants.ts:21](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L21) + +*** + +### VOICE\_UPDATE + +> **VOICE\_UPDATE**: `"voiceUpdate"` + +#### Defined in + +[src/Constants.ts:19](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L19) + +*** + +### VOLUME + +> **VOLUME**: `"volume"` + +#### Defined in + +[src/Constants.ts:24](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L24) diff --git a/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/State.md b/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/State.md new file mode 100644 index 0000000..6466417 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/State.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: State +slug: 3.4.2/apinamespacesconstantsenumerations/state +--- + +## Enumeration Members + +### CONNECTED + +> **CONNECTED**: `1` + +#### Defined in + +[src/Constants.ts:6](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L6) + +*** + +### CONNECTING + +> **CONNECTING**: `0` + +#### Defined in + +[src/Constants.ts:5](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L5) + +*** + +### DISCONNECTED + +> **DISCONNECTED**: `3` + +#### Defined in + +[src/Constants.ts:8](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L8) + +*** + +### DISCONNECTING + +> **DISCONNECTING**: `2` + +#### Defined in + +[src/Constants.ts:7](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L7) diff --git a/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/VoiceState.md b/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/VoiceState.md new file mode 100644 index 0000000..a730b41 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Constants/enumerations/VoiceState.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: VoiceState +slug: 3.4.2/apinamespacesconstantsenumerations/voicestate +--- + +## Enumeration Members + +### SESSION\_ENDPOINT\_MISSING + +> **SESSION\_ENDPOINT\_MISSING**: `2` + +#### Defined in + +[src/Constants.ts:14](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L14) + +*** + +### SESSION\_ID\_MISSING + +> **SESSION\_ID\_MISSING**: `1` + +#### Defined in + +[src/Constants.ts:13](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L13) + +*** + +### SESSION\_READY + +> **SESSION\_READY**: `0` + +#### Defined in + +[src/Constants.ts:12](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L12) diff --git a/src/content/docs/3.4.2/api/namespaces/Constants/variables/NodeDefaults.md b/src/content/docs/3.4.2/api/namespaces/Constants/variables/NodeDefaults.md new file mode 100644 index 0000000..d3ce435 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Constants/variables/NodeDefaults.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: NodeDefaults +slug: 3.4.2/apinamespacesconstantsvariables/nodedefaults +--- + +> `const` **NodeDefaults**: [`NodeOption`](/3.4.2/api/interfaces/nodeoption/) + +## Defined in + +[src/Constants.ts:48](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L48) diff --git a/src/content/docs/3.4.2/api/namespaces/Constants/variables/ShoukakuDefaults.md b/src/content/docs/3.4.2/api/namespaces/Constants/variables/ShoukakuDefaults.md new file mode 100644 index 0000000..793df30 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Constants/variables/ShoukakuDefaults.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: ShoukakuDefaults +slug: 3.4.2/apinamespacesconstantsvariables/shoukakudefaults +--- + +> `const` **ShoukakuDefaults**: [`ShoukakuOptions`](/3.4.2/api/interfaces/shoukakuoptions/) + +## Defined in + +[src/Constants.ts:34](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Constants.ts#L34) diff --git a/src/content/docs/3.4.2/api/namespaces/Utils/functions/mergeDefault.md b/src/content/docs/3.4.2/api/namespaces/Utils/functions/mergeDefault.md new file mode 100644 index 0000000..6c101e3 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Utils/functions/mergeDefault.md @@ -0,0 +1,35 @@ +--- +editUrl: false +next: false +prev: false +title: mergeDefault +slug: 3.4.2/apinamespacesutilsfunctions/mergedefault +--- + +> **mergeDefault**\<`T`>(`def`, `given`): `Required`\<`T`> + +Merge the default options to user input + +## Type Parameters + +β€’ **T** *extends* `object` + +## Parameters + +β€’ **def**: `T` + +Default options + +β€’ **given**: `T` + +User input + +## Returns + +`Required`\<`T`> + +Merged options + +## Defined in + +[src/Utils.ts:8](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Utils.ts#L8) diff --git a/src/content/docs/3.4.2/api/namespaces/Utils/functions/wait.md b/src/content/docs/3.4.2/api/namespaces/Utils/functions/wait.md new file mode 100644 index 0000000..599e617 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Utils/functions/wait.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: wait +slug: 3.4.2/apinamespacesutilsfunctions/wait +--- + +> **wait**(`ms`): `Promise`\<`void`> + +Wait for a specific amount of time (timeout) + +## Parameters + +β€’ **ms**: `number` + +Time to wait in milliseconds + +## Returns + +`Promise`\<`void`> + +A promise that resolves in x seconds + +## Defined in + +[src/Utils.ts:29](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Utils.ts#L29) diff --git a/src/content/docs/3.4.2/api/namespaces/Utils/type-aliases/Constructor.md b/src/content/docs/3.4.2/api/namespaces/Utils/type-aliases/Constructor.md new file mode 100644 index 0000000..a3d0ec8 --- /dev/null +++ b/src/content/docs/3.4.2/api/namespaces/Utils/type-aliases/Constructor.md @@ -0,0 +1,25 @@ +--- +editUrl: false +next: false +prev: false +title: Constructor +slug: 3.4.2/apinamespacesutilstype-aliases/constructor +--- + +> **Constructor**\<`T`>: (...`args`) => `T` + +## Type Parameters + +β€’ **T** + +## Parameters + +β€’ ...**args**: `any`\[] + +## Returns + +`T` + +## Defined in + +[src/Utils.ts:1](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/Utils.ts#L1) diff --git a/src/content/docs/3.4.2/api/type-aliases/LoadType.md b/src/content/docs/3.4.2/api/type-aliases/LoadType.md new file mode 100644 index 0000000..527f02e --- /dev/null +++ b/src/content/docs/3.4.2/api/type-aliases/LoadType.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: LoadType +slug: 3.4.2/apitype-aliases/loadtype +--- + +> **LoadType**: `"TRACK_LOADED"` | `"PLAYLIST_LOADED"` | `"SEARCH_RESULT"` | `"NO_MATCHES"` | `"LOAD_FAILED"` + +## Defined in + +[src/node/Rest.ts:5](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/node/Rest.ts#L5) diff --git a/src/content/docs/3.4.2/api/type-aliases/PlayerEventType.md b/src/content/docs/3.4.2/api/type-aliases/PlayerEventType.md new file mode 100644 index 0000000..d04065a --- /dev/null +++ b/src/content/docs/3.4.2/api/type-aliases/PlayerEventType.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: PlayerEventType +slug: 3.4.2/apitype-aliases/playereventtype +--- + +> **PlayerEventType**: `"TrackStartEvent"` | `"TrackEndEvent"` | `"TrackExceptionEvent"` | `"TrackStuckEvent"` | `"WebSocketClosedEvent"` + +## Defined in + +[src/guild/Player.ts:9](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L9) diff --git a/src/content/docs/3.4.2/api/type-aliases/Severity.md b/src/content/docs/3.4.2/api/type-aliases/Severity.md new file mode 100644 index 0000000..7939161 --- /dev/null +++ b/src/content/docs/3.4.2/api/type-aliases/Severity.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: Severity +slug: 3.4.2/apitype-aliases/severity +--- + +> **Severity**: `"COMMON"` | `"SUSPICIOUS"` | `"FAULT"` + +## Defined in + +[src/guild/Player.ts:8](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L8) diff --git a/src/content/docs/3.4.2/api/type-aliases/TrackEndReason.md b/src/content/docs/3.4.2/api/type-aliases/TrackEndReason.md new file mode 100644 index 0000000..cbe191d --- /dev/null +++ b/src/content/docs/3.4.2/api/type-aliases/TrackEndReason.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: TrackEndReason +slug: 3.4.2/apitype-aliases/trackendreason +--- + +> **TrackEndReason**: `"FINISHED"` | `"LOAD_FAILED"` | `"STOPPED"` | `"REPLACED"` | `"CLEANUP"` + +## Defined in + +[src/guild/Player.ts:7](https://github.com/shipgirlproject/shoukaku/blob/e7d94081cabbda7327dc04e467a45fcda49c24f2/src/guild/Player.ts#L7) diff --git a/src/content/docs/3.4.2/guides/1-getting-started.mdx b/src/content/docs/3.4.2/guides/1-getting-started.mdx new file mode 100644 index 0000000..81200d7 --- /dev/null +++ b/src/content/docs/3.4.2/guides/1-getting-started.mdx @@ -0,0 +1,93 @@ +--- +title: Getting Started +description: Get started with Shoukaku. +slug: 3.4.2/guides/1-getting-started +--- + +import { PackageManagers } from "starlight-package-managers"; +import { Tabs, TabItem, Steps, Aside } from '@astrojs/starlight/components'; + +Shoukaku is a stable, powerful and updated wrapper around [Lavalink](https://lavalink.dev/). It is Discord library agnostic, and can add support for new Discord libraries using connectors. + +## Set up Shoukaku + + + 1. Install Shoukaku using your favorite package manager. + + + + 2. Initialize the library using one of the connectors. + + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.Eris(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.OceanicJS(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + + + + +## Further reading + +* [Lavalink Docs](https://lavalink.dev) diff --git a/src/content/docs/3.4.2/guides/2-options.mdx b/src/content/docs/3.4.2/guides/2-options.mdx new file mode 100644 index 0000000..9162a28 --- /dev/null +++ b/src/content/docs/3.4.2/guides/2-options.mdx @@ -0,0 +1,19 @@ +--- +title: Configuration Options +description: Options for configuring behavior. +slug: 3.4.2/guides/2-options +--- + +Option | Type | Description +\--------|------|------------ +resume | boolean | Whether to resume a connection on disconnect to Lavalink (Server Side) (Note: DOES NOT RESUME WHEN THE LAVALINK SERVER DIES) | +resumeKey | string | Resume key for Lavalink | +resumeTimeout | number | Timeout before resuming a connection **in seconds** | +resumeByLibrary | boolean | Whether to resume the players by doing it in the library side (Client Side) (Note: TRIES TO RESUME REGARDLESS OF WHAT HAPPENED ON A LAVALINK SERVER) | +alwaysSendResumeKey | boolean | Disables the first time initialization tracking of nodes, and just sends the resume key always (Note: Useful for people who save their players to redis and wants to resume sessions even at first boot) | +reconnectTries | number | Number of times to try and reconnect to Lavalink before giving up | +reconnectInterval | number | Timeout before trying to reconnect **in milliseconds** | +restTimeout | number | Time to wait for a response from the Lavalink REST API before giving up **in milliseconds** | +moveOnDisconnect | boolean | Whether to move players to a different Lavalink node when a node disconnects | +userAgent | string | User Agent to use when making requests to Lavalink | +structures | Object\{rest?, player?} | Custom structures for shoukaku to use | diff --git a/src/content/docs/3.4.2/guides/3-common.mdx b/src/content/docs/3.4.2/guides/3-common.mdx new file mode 100644 index 0000000..118081a --- /dev/null +++ b/src/content/docs/3.4.2/guides/3-common.mdx @@ -0,0 +1,43 @@ +--- +title: Common Usage +description: Commonly used pieces of code. +slug: 3.4.2/guides/3-common +--- + +## Search and Join a Channel + +Get a Lavalink [node](/3.4.2/api/classes/node/) that you are connected to, which was [specified](/3.4.2/api/classes/shoukaku#parameters) when creating the [Shoukaku](/3.4.2/api/classes/shoukaku) instance. + +```js +const node = shoukaku.getNode(); +if (!node) return; +``` + +Search for a track, here we are searching via [SoundCloud](https://soundcloud.com), using the `scsearch:` prefix. The string after the prefix is the search query. + +```js +const result = await node.rest.resolve('scsearch:snowhalation'); +if (!result?.tracks.length) return; // no tracks +const metadata = result.tracks.shift(); // get the first trackl +``` + +Tell the Lavalink node to join a Discord voice channel. + +```js +const player = await node.joinChannel({ + guildId: 'your_guild_id', + channelId: 'your_channel_id', + shardId: 0 // if unsharded it will always be zero (depending on your library implementation) +}); +// player is created and ready, do your thing +``` + +## Play Track and change Playback Option + +Here we are changing the volume, you can do [other stuff](/3.4.2/api/classes/player#methods) as well. + +```js +player + .playTrack({ track: metadata.track }) + .setVolume(0.5); +``` diff --git a/src/content/docs/3.4.2/guides/4-plugins.mdx b/src/content/docs/3.4.2/guides/4-plugins.mdx new file mode 100644 index 0000000..b8cd3c0 --- /dev/null +++ b/src/content/docs/3.4.2/guides/4-plugins.mdx @@ -0,0 +1,36 @@ +--- +title: Plugins +description: Plugins to extend Shoukaku. +slug: 3.4.2/guides/4-plugins +--- + +## Plugins List + +Open a pull request to add your plugin here + +Name | Link | Description +\-------|----------|------------ +Kazagumo | [Github](https://github.com/Takiyo0/Kazagumo) | A Shoukaku wrapper that have built-in queue system +stone-deezer | [NPM](https://www.npmjs.com/package/stone-deezer) | A plugin to simplify deezer links and then play it from available sources (**REQUIRES [KAZAGUMO](https://github.com/Takiyo0/Kazagumo)**) + +## Creating Plugins + +Shoukaku has now official supports for plugins. However, implementing this is up to the developers that is interested on doing it + +Shoukaku support modification on Rest.ts and Player.ts + +To apply your plugin, put the extended classes on **ShoukakuOptions.structures**. + +```js +const { Client } = require('discord.js'); +const { Shoukaku, Rest, Connectors } = require('shoukaku'); +class CustomRest extends Rest { }; // extended structure of your choice +const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' +}]; +const ShoukakuOptions = { structures: { rest: CustomRest } } // pass the custom structure to Shoukaku +const client = new Client(); +const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), Nodes, ShoukakuOptions); +``` diff --git a/src/content/docs/3.4.2/index.mdx b/src/content/docs/3.4.2/index.mdx new file mode 100644 index 0000000..07c2bb1 --- /dev/null +++ b/src/content/docs/3.4.2/index.mdx @@ -0,0 +1,17 @@ +--- +title: Shoukaku Docs +description: A stable, powerful and updated wrapper around Lavalink. +hero: + tagline: A stable, powerful and updated wrapper around Lavalink. + image: + file: ../../../assets/3.4.2/shoukaku.png + actions: + - text: Getting Started + link: /3.4.2/guides/1-getting-started/ + icon: right-arrow + variant: primary + - text: API Reference + link: /3.4.2/api/classes/shoukaku/ + icon: external +slug: 3.4.2 +--- diff --git a/src/content/docs/4.0.1/api/README.md b/src/content/docs/4.0.1/api/README.md new file mode 100644 index 0000000..248c292 --- /dev/null +++ b/src/content/docs/4.0.1/api/README.md @@ -0,0 +1,85 @@ +--- +editUrl: false +next: false +prev: false +title: shoukaku +slug: 4.0.1/api/readme +--- + +## Namespaces + +* [Connectors](/4.0.1/api/namespaces/connectors/readme/) +* [Constants](/4.0.1/api/namespaces/constants/readme/) +* [Utils](/4.0.1/api/namespaces/utils/readme/) + +## Enumerations + +* [LoadType](/4.0.1/api/enumerations/loadtype/) + +## Classes + +* [Connection](/4.0.1/api/classes/connection/) +* [Connector](/4.0.1/api/classes/connector/) +* [Node](/4.0.1/api/classes/node/) +* [Player](/4.0.1/api/classes/player/) +* [Rest](/4.0.1/api/classes/rest/) +* [Shoukaku](/4.0.1/api/classes/shoukaku/) + +## Interfaces + +* [Address](/4.0.1/api/interfaces/address/) +* [Band](/4.0.1/api/interfaces/band/) +* [ChannelMixSettings](/4.0.1/api/interfaces/channelmixsettings/) +* [ConnectorMethods](/4.0.1/api/interfaces/connectormethods/) +* [DistortionSettings](/4.0.1/api/interfaces/distortionsettings/) +* [EmptyResult](/4.0.1/api/interfaces/emptyresult/) +* [ErrorResult](/4.0.1/api/interfaces/errorresult/) +* [Exception](/4.0.1/api/interfaces/exception/) +* [FilterOptions](/4.0.1/api/interfaces/filteroptions/) +* [FreqSettings](/4.0.1/api/interfaces/freqsettings/) +* [KaraokeSettings](/4.0.1/api/interfaces/karaokesettings/) +* [LavalinkPlayer](/4.0.1/api/interfaces/lavalinkplayer/) +* [LavalinkPlayerVoice](/4.0.1/api/interfaces/lavalinkplayervoice/) +* [LavalinkPlayerVoiceOptions](/4.0.1/api/interfaces/lavalinkplayervoiceoptions/) +* [LowPassSettings](/4.0.1/api/interfaces/lowpasssettings/) +* [NodeOption](/4.0.1/api/interfaces/nodeoption/) +* [NodeStats](/4.0.1/api/interfaces/nodestats/) +* [NonResumableHeaders](/4.0.1/api/interfaces/nonresumableheaders/) +* [PlayOptions](/4.0.1/api/interfaces/playoptions/) +* [PlayerEvent](/4.0.1/api/interfaces/playerevent/) +* [PlayerUpdate](/4.0.1/api/interfaces/playerupdate/) +* [Playlist](/4.0.1/api/interfaces/playlist/) +* [PlaylistResult](/4.0.1/api/interfaces/playlistresult/) +* [ResumableHeaders](/4.0.1/api/interfaces/resumableheaders/) +* [ResumeOptions](/4.0.1/api/interfaces/resumeoptions/) +* [RotationSettings](/4.0.1/api/interfaces/rotationsettings/) +* [RoutePlanner](/4.0.1/api/interfaces/routeplanner/) +* [SearchResult](/4.0.1/api/interfaces/searchresult/) +* [ServerUpdate](/4.0.1/api/interfaces/serverupdate/) +* [SessionInfo](/4.0.1/api/interfaces/sessioninfo/) +* [ShoukakuOptions](/4.0.1/api/interfaces/shoukakuoptions/) +* [StateUpdatePartial](/4.0.1/api/interfaces/stateupdatepartial/) +* [Structures](/4.0.1/api/interfaces/structures/) +* [TimescaleSettings](/4.0.1/api/interfaces/timescalesettings/) +* [Track](/4.0.1/api/interfaces/track/) +* [TrackEndEvent](/4.0.1/api/interfaces/trackendevent/) +* [TrackExceptionEvent](/4.0.1/api/interfaces/trackexceptionevent/) +* [TrackResult](/4.0.1/api/interfaces/trackresult/) +* [TrackStartEvent](/4.0.1/api/interfaces/trackstartevent/) +* [TrackStuckEvent](/4.0.1/api/interfaces/trackstuckevent/) +* [UpdatePlayerInfo](/4.0.1/api/interfaces/updateplayerinfo/) +* [UpdatePlayerOptions](/4.0.1/api/interfaces/updateplayeroptions/) +* [VoiceChannelOptions](/4.0.1/api/interfaces/voicechanneloptions/) +* [WebSocketClosedEvent](/4.0.1/api/interfaces/websocketclosedevent/) + +## Type Aliases + +* [LavalinkResponse](/4.0.1/api/type-aliases/lavalinkresponse/) +* [NodeInfo](/4.0.1/api/type-aliases/nodeinfo/) +* [PlayerEventType](/4.0.1/api/type-aliases/playereventtype/) +* [Severity](/4.0.1/api/type-aliases/severity/) +* [TrackEndReason](/4.0.1/api/type-aliases/trackendreason/) + +## Variables + +* [AllowedPackets](/4.0.1/api/variables/allowedpackets/) diff --git a/src/content/docs/4.0.1/api/classes/Connection.md b/src/content/docs/4.0.1/api/classes/Connection.md new file mode 100644 index 0000000..716c963 --- /dev/null +++ b/src/content/docs/4.0.1/api/classes/Connection.md @@ -0,0 +1,1655 @@ +--- +editUrl: false +next: false +prev: false +title: Connection +slug: 4.0.1/apiclasses/connection +--- + +Represents a connection to a Discord voice channel + +## Extends + +* `EventEmitter` + +## Constructors + +### new Connection() + +> **new Connection**(`manager`, `options`): [`Connection`](/4.0.1/api/classes/connection/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +The manager of this connection + +β€’ **options**: [`VoiceChannelOptions`](/4.0.1/api/interfaces/voicechanneloptions/) + +The options to pass in connection creation + +#### Returns + +[`Connection`](/4.0.1/api/classes/connection/) + +#### Overrides + +`EventEmitter.constructor` + +#### Defined in + +[src/guild/Connection.ts:87](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L87) + +## Properties + +### channelId + +> **channelId**: `null` | `string` + +ID of the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:39](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L39) + +*** + +### deafened + +> **deafened**: `boolean` + +Deafen status in connected voice channel + +#### Defined in + +[src/guild/Connection.ts:52](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L52) + +*** + +### guildId + +> **guildId**: `string` + +ID of Guild that contains the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:35](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L35) + +*** + +### lastChannelId + +> **lastChannelId**: `null` | `string` + +ID of the last channelId connected to + +#### Defined in + +[src/guild/Connection.ts:56](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L56) + +*** + +### lastRegion + +> **lastRegion**: `null` | `string` + +Last region of the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:68](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L68) + +*** + +### manager + +> **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +The manager where this connection is on + +#### Defined in + +[src/guild/Connection.ts:31](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L31) + +*** + +### muted + +> **muted**: `boolean` + +Mute status in connected voice channel + +#### Defined in + +[src/guild/Connection.ts:48](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L48) + +*** + +### region + +> **region**: `null` | `string` + +Region of connected voice channel + +#### Defined in + +[src/guild/Connection.ts:64](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L64) + +*** + +### serverUpdate + +> **serverUpdate**: `null` | [`ServerUpdate`](/4.0.1/api/interfaces/serverupdate/) + +Cached serverUpdate event from Lavalink + +#### Defined in + +[src/guild/Connection.ts:72](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L72) + +*** + +### sessionId + +> **sessionId**: `null` | `string` + +ID of current session + +#### Defined in + +[src/guild/Connection.ts:60](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L60) + +*** + +### shardId + +> **shardId**: `number` + +ID of the Shard that contains the guild that contains the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:44](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L44) + +*** + +### state + +> **state**: [`State`](/4.0.1/api/namespaces/constants/enumerations/state/) + +Connection state + +#### Defined in + +[src/guild/Connection.ts:76](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L76) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/4.0.1/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejectionSymbol` + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejections` + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Inherited from + +`EventEmitter.defaultMaxListeners` + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/4.0.1/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Inherited from + +`EventEmitter.errorMonitor` + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.[captureRejectionSymbol]` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.addListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Inherited from + +`EventEmitter.emit` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Inherited from + +`EventEmitter.eventNames` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/connection/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.listeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +> **off**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.removeListener()`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.off` + +#### Since + +v10.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:747 + +*** + +### on() + +> **on**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the end of the listeners array for the event +named `eventName`. No checks are made to see if the `listener` has already +been added. Multiple calls passing the same combination of `eventName` and +`listener` will result in the `listener` being added, and called, multiple times. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.on('foo', () => console.log('a')); +myEE.prependListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.on` + +#### Since + +v0.1.101 + +#### Defined in + +node\_modules/@types/node/events.d.ts:629 + +*** + +### once() + +> **once**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time** `listener` function for the event named `eventName`. The +next time `eventName` is triggered, this listener is removed and then invoked. + +```js +server.once('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependOnceListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.once('foo', () => console.log('a')); +myEE.prependOnceListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.once` + +#### Since + +v0.3.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:659 + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependOnceListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.rawListeners` + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeAllListeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### setDeaf() + +> **setDeaf**(`deaf`): `void` + +Set the deafen status for the current bot user + +#### Parameters + +β€’ **deaf**: `boolean` = `false` + +Boolean value to indicate whether to deafen or undeafen + +#### Returns + +`void` + +#### Default Value + +```ts +false +``` + +#### Defined in + +[src/guild/Connection.ts:108](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L108) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### setMute() + +> **setMute**(`mute`): `void` + +Set the mute status for the current bot user + +#### Parameters + +β€’ **mute**: `boolean` = `false` + +Boolean value to indicate whether to mute or unmute + +#### Returns + +`void` + +#### Default Value + +```ts +false +``` + +#### Defined in + +[src/guild/Connection.ts:118](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L118) + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Inherited from + +`EventEmitter.addAbortListener` + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.getEventListeners` + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Inherited from + +`EventEmitter.on` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Inherited from + +`EventEmitter.on` + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/4.0.1/api/classes/Connector.md b/src/content/docs/4.0.1/api/classes/Connector.md new file mode 100644 index 0000000..e78f304 --- /dev/null +++ b/src/content/docs/4.0.1/api/classes/Connector.md @@ -0,0 +1,103 @@ +--- +editUrl: false +next: false +prev: false +title: Connector +slug: 4.0.1/apiclasses/connector +--- + +## Extended by + +* [`DiscordJS`](/4.0.1/api/namespaces/connectors/classes/discordjs/) +* [`Eris`](/4.0.1/api/namespaces/connectors/classes/eris/) +* [`OceanicJS`](/4.0.1/api/namespaces/connectors/classes/oceanicjs/) + +## Constructors + +### new Connector() + +> **new Connector**(`client`): [`Connector`](/4.0.1/api/classes/connector/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`Connector`](/4.0.1/api/classes/connector/) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> `abstract` **getId**(): `string` + +#### Returns + +`string` + +#### Defined in + +[src/connectors/Connector.ts:41](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L41) + +*** + +### listen() + +> `abstract` **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Defined in + +[src/connectors/Connector.ts:45](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L45) + +*** + +### sendPacket() + +> `abstract` **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Defined in + +[src/connectors/Connector.ts:43](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L43) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/4.0.1/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/4.0.1/api/classes/connector/) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/4.0.1/api/classes/Node.md b/src/content/docs/4.0.1/api/classes/Node.md new file mode 100644 index 0000000..13b809b --- /dev/null +++ b/src/content/docs/4.0.1/api/classes/Node.md @@ -0,0 +1,1651 @@ +--- +editUrl: false +next: false +prev: false +title: Node +slug: 4.0.1/apiclasses/node +--- + +Represents a Lavalink node + +## Extends + +* `EventEmitter` + +## Constructors + +### new Node() + +> **new Node**(`manager`, `options`): [`Node`](/4.0.1/api/classes/node/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +Shoukaku instance + +β€’ **options**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/) + +Options on creating this node + +#### Returns + +[`Node`](/4.0.1/api/classes/node/) + +#### Overrides + +`EventEmitter.constructor` + +#### Defined in + +[src/node/Node.ts:146](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L146) + +## Properties + +### group? + +> `readonly` `optional` **group**: `string` + +Group in which this node is contained + +#### Defined in + +[src/node/Node.ts:92](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L92) + +*** + +### info + +> **info**: `null` | [`NodeInfo`](/4.0.1/api/type-aliases/nodeinfo/) + +Information about lavalink node + +#### Defined in + +[src/node/Node.ts:120](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L120) + +*** + +### manager + +> `readonly` **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +Shoukaku class + +#### Defined in + +[src/node/Node.ts:80](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L80) + +*** + +### name + +> `readonly` **name**: `string` + +Name of this node + +#### Defined in + +[src/node/Node.ts:88](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L88) + +*** + +### reconnects + +> **reconnects**: `number` + +The number of reconnects to Lavalink + +#### Defined in + +[src/node/Node.ts:108](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L108) + +*** + +### rest + +> `readonly` **rest**: [`Rest`](/4.0.1/api/classes/rest/) + +Lavalink rest API + +#### Defined in + +[src/node/Node.ts:84](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L84) + +*** + +### sessionId + +> **sessionId**: `null` | `string` + +SessionId of this Lavalink connection (not to be confused with Discord SessionId) + +#### Defined in + +[src/node/Node.ts:128](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L128) + +*** + +### state + +> **state**: [`State`](/4.0.1/api/namespaces/constants/enumerations/state/) + +The state of this connection + +#### Defined in + +[src/node/Node.ts:112](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L112) + +*** + +### stats + +> **stats**: `null` | [`NodeStats`](/4.0.1/api/interfaces/nodestats/) + +Statistics from Lavalink + +#### Defined in + +[src/node/Node.ts:116](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L116) + +*** + +### version + +> `readonly` **version**: `string` + +Websocket version this node will use + +#### Defined in + +[src/node/Node.ts:96](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L96) + +*** + +### ws + +> **ws**: `null` | `WebSocket` + +Websocket instance + +#### Defined in + +[src/node/Node.ts:124](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L124) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/4.0.1/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejectionSymbol` + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejections` + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Inherited from + +`EventEmitter.defaultMaxListeners` + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/4.0.1/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Inherited from + +`EventEmitter.errorMonitor` + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.[captureRejectionSymbol]` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.addListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### connect() + +> **connect**(): `void` + +Connect to Lavalink + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:196](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L196) + +*** + +### disconnect() + +> **disconnect**(`code`, `reason`?): `void` + +Disconnect from lavalink + +#### Parameters + +β€’ **code**: `number` + +Status code + +β€’ **reason?**: `string` + +Reason for disconnect + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:226](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L226) + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Inherited from + +`EventEmitter.emit` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### error() + +> **error**(`error`): `void` + +To emit error events easily + +#### Parameters + +β€’ **error**: `unknown` + +error message + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:318](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L318) + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Inherited from + +`EventEmitter.eventNames` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/node/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.listeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +> **off**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.removeListener()`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.off` + +#### Since + +v10.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:747 + +*** + +### on() + +> **on**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the end of the listeners array for the event +named `eventName`. No checks are made to see if the `listener` has already +been added. Multiple calls passing the same combination of `eventName` and +`listener` will result in the `listener` being added, and called, multiple times. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.on('foo', () => console.log('a')); +myEE.prependListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.on` + +#### Since + +v0.1.101 + +#### Defined in + +node\_modules/@types/node/events.d.ts:629 + +*** + +### once() + +> **once**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time** `listener` function for the event named `eventName`. The +next time `eventName` is triggered, this listener is removed and then invoked. + +```js +server.once('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependOnceListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.once('foo', () => console.log('a')); +myEE.prependOnceListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.once` + +#### Since + +v0.3.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:659 + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependOnceListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.rawListeners` + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeAllListeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Inherited from + +`EventEmitter.addAbortListener` + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Inherited from + +`EventEmitter.getEventListeners` + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Inherited from + +`EventEmitter.on` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Inherited from + +`EventEmitter.on` + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Inherited from + +`EventEmitter.once` + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/4.0.1/api/classes/Player.md b/src/content/docs/4.0.1/api/classes/Player.md new file mode 100644 index 0000000..fba97c7 --- /dev/null +++ b/src/content/docs/4.0.1/api/classes/Player.md @@ -0,0 +1,2171 @@ +--- +editUrl: false +next: false +prev: false +title: Player +slug: 4.0.1/apiclasses/player +--- + +Wrapper object around Lavalink + +## Extends + +* `EventEmitter` + +## Constructors + +### new Player() + +> **new Player**(`guildId`, `node`): [`Player`](/4.0.1/api/classes/player/) + +#### Parameters + +β€’ **guildId**: `string` + +β€’ **node**: [`Node`](/4.0.1/api/classes/node/) + +An instance of Node (Lavalink API wrapper) + +#### Returns + +[`Player`](/4.0.1/api/classes/player/) + +#### Defined in + +[src/guild/Player.ts:235](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L235) + +## Properties + +### filters + +> **filters**: [`FilterOptions`](/4.0.1/api/interfaces/filteroptions/) + +Filters on current track + +#### Defined in + +[src/guild/Player.ts:230](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L230) + +*** + +### guildId + +> `readonly` **guildId**: `string` + +GuildId of this player + +#### Defined in + +[src/guild/Player.ts:202](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L202) + +*** + +### node + +> **node**: [`Node`](/4.0.1/api/classes/node/) + +Lavalink node this player is connected to + +#### Defined in + +[src/guild/Player.ts:206](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L206) + +*** + +### paused + +> **paused**: `boolean` + +Pause status in current player + +#### Defined in + +[src/guild/Player.ts:218](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L218) + +*** + +### ping + +> **ping**: `number` + +Ping represents the number of milliseconds between heartbeat and ack. Could be `-1` if not connected + +#### Defined in + +[src/guild/Player.ts:222](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L222) + +*** + +### position + +> **position**: `number` + +Position in ms of current track + +#### Defined in + +[src/guild/Player.ts:226](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L226) + +*** + +### track + +> **track**: `null` | `string` + +ID of current track + +#### Defined in + +[src/guild/Player.ts:210](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L210) + +*** + +### volume + +> **volume**: `number` + +Global volume of the player + +#### Defined in + +[src/guild/Player.ts:214](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L214) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/4.0.1/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/4.0.1/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Accessors + +### data + +> `get` **data**(): [`UpdatePlayerInfo`](/4.0.1/api/interfaces/updateplayerinfo/) + +#### Returns + +[`UpdatePlayerInfo`](/4.0.1/api/interfaces/updateplayerinfo/) + +#### Defined in + +[src/guild/Player.ts:247](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L247) + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### clearFilters() + +> **clearFilters**(): `Promise`\<`void`> + +Clear all filters applied to the currently playing track + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:479](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L479) + +*** + +### destroy() + +> **destroy**(): `Promise`\<`void`> + +Destroys the player in remote lavalink side + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:295](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L295) + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/player/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### move() + +> **move**(`name`?): `Promise`\<`boolean`> + +Move player to another node + +#### Parameters + +β€’ **name?**: `string` + +#### Returns + +`Promise`\<`boolean`> + +true if the player was moved, false if not + +#### Defined in + +[src/guild/Player.ts:271](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L271) + +*** + +### off() + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"end"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:186](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L186) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"stuck"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:187](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L187) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"closed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:188](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L188) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"start"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:189](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L189) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"exception"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:190](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L190) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"resumed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:191](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L191) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"update"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:192](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L192) + +*** + +### onPlayerUpdate() + +> **onPlayerUpdate**(`json`): `void` + +Handle player update data + +#### Parameters + +β€’ **json** + +β€’ **json.state** + +β€’ **json.state.ping**: `number` + +β€’ **json.state.position**: `number` + +#### Returns + +`void` + +#### Defined in + +[src/guild/Player.ts:557](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L557) + +*** + +### once() + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"end"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:179](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L179) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"stuck"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:180](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L180) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"closed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:181](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L181) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"start"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:182](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L182) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"exception"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:183](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L183) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"resumed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:184](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L184) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"update"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:185](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L185) + +*** + +### playTrack() + +> **playTrack**(`playable`): `Promise`\<`void`> + +Play a new track + +#### Parameters + +β€’ **playable**: [`PlayOptions`](/4.0.1/api/interfaces/playoptions/) + +Options for playing this track + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:303](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L303) + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### resume() + +> **resume**(`options`): `Promise`\<`void`> + +Resumes the current track + +#### Parameters + +β€’ **options**: [`ResumeOptions`](/4.0.1/api/interfaces/resumeoptions/) = `{}` + +An object that conforms to ResumeOptions that specify behavior on resuming + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:498](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L498) + +*** + +### seekTo() + +> **seekTo**(`position`): `Promise`\<`void`> + +Seek to a specific time in the currently playing track + +#### Parameters + +β€’ **position**: `number` + +Position to seek to in milliseconds + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:353](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L353) + +*** + +### setChannelMix() + +> **setChannelMix**(`channelMix`): `Promise`\<`void`> + +Change the channel mix settings applied to the currently playing track + +#### Parameters + +β€’ **channelMix**: [`ChannelMixSettings`](/4.0.1/api/interfaces/channelmixsettings/) + +An object that conforms to ChannelMixSettings that defines how much the left and right channels affect each other (setting all factors to 0.5 causes both channels to get the same audio) + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:450](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L450) + +*** + +### setDistortion() + +> **setDistortion**(`distortion`): `Promise`\<`void`> + +Change the distortion settings applied to the currently playing track + +#### Parameters + +β€’ **distortion**: [`DistortionSettings`](/4.0.1/api/interfaces/distortionsettings/) + +An object that conforms to DistortionSettings that defines distortions in the audio + +#### Returns + +`Promise`\<`void`> + +The current player instance + +#### Defined in + +[src/guild/Player.ts:441](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L441) + +*** + +### setEqualizer() + +> **setEqualizer**(`equalizer`): `Promise`\<`void`> + +Change the equalizer settings applied to the currently playing track + +#### Parameters + +β€’ **equalizer**: [`Band`](/4.0.1/api/interfaces/band/)\[] + +An array of objects that conforms to the Bands type that define volumes at different frequencies + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:385](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L385) + +*** + +### setFilterVolume() + +> **setFilterVolume**(`volume`): `Promise`\<`void`> + +Sets the filter volume of the player + +#### Parameters + +β€’ **volume**: `number` + +Target volume 0.0-5.0 + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:377](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L377) + +*** + +### setFilters() + +> **setFilters**(`filters`): `Promise`\<`void`> + +Change the all filter settings applied to the currently playing track + +#### Parameters + +β€’ **filters**: [`FilterOptions`](/4.0.1/api/interfaces/filteroptions/) + +An object that conforms to FilterOptions that defines all filters to apply/modify + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:468](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L468) + +*** + +### setGlobalVolume() + +> **setGlobalVolume**(`volume`): `Promise`\<`void`> + +Sets the global volume of the player + +#### Parameters + +β€’ **volume**: `number` + +Target volume 0-1000 + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:365](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L365) + +*** + +### setKaraoke() + +> **setKaraoke**(`karaoke`?): `Promise`\<`void`> + +Change the karaoke settings applied to the currently playing track + +#### Parameters + +β€’ **karaoke?**: [`KaraokeSettings`](/4.0.1/api/interfaces/karaokesettings/) + +An object that conforms to the KaraokeSettings type that defines a range of frequencies to mute + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:395](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L395) + +*** + +### setLowPass() + +> **setLowPass**(`lowPass`): `Promise`\<`void`> + +Change the low pass settings applied to the currently playing track + +#### Parameters + +β€’ **lowPass**: [`LowPassSettings`](/4.0.1/api/interfaces/lowpasssettings/) + +An object that conforms to LowPassSettings that defines the amount of suppression on higher frequencies + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:459](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L459) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### setPaused() + +> **setPaused**(`paused`): `Promise`\<`void`> + +Pause or unpause the currently playing track + +#### Parameters + +β€’ **paused**: `boolean` = `true` + +Boolean value to specify whether to pause or unpause the current bot user + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:341](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L341) + +*** + +### setRotation() + +> **setRotation**(`rotation`?): `Promise`\<`void`> + +Change the rotation settings applied to the currently playing track + +#### Parameters + +β€’ **rotation?**: [`RotationSettings`](/4.0.1/api/interfaces/rotationsettings/) + +An object that conforms to the RotationSettings type that defines the frequency of audio rotating round the listener + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:431](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L431) + +*** + +### setTimescale() + +> **setTimescale**(`timescale`?): `Promise`\<`void`> + +Change the timescale settings applied to the currently playing track + +#### Parameters + +β€’ **timescale?**: [`TimescaleSettings`](/4.0.1/api/interfaces/timescalesettings/) + +An object that conforms to the TimescaleSettings type that defines the time signature to play the audio at + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:404](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L404) + +*** + +### setTremolo() + +> **setTremolo**(`tremolo`?): `Promise`\<`void`> + +Change the tremolo settings applied to the currently playing track + +#### Parameters + +β€’ **tremolo?**: [`FreqSettings`](/4.0.1/api/interfaces/freqsettings/) + +An object that conforms to the FreqSettings type that defines an oscillation in volume + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:413](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L413) + +*** + +### setVibrato() + +> **setVibrato**(`vibrato`?): `Promise`\<`void`> + +Change the vibrato settings applied to the currently playing track + +#### Parameters + +β€’ **vibrato?**: [`FreqSettings`](/4.0.1/api/interfaces/freqsettings/) + +An object that conforms to the FreqSettings type that defines an oscillation in pitch + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:422](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L422) + +*** + +### stopTrack() + +> **stopTrack**(): `Promise`\<`void`> + +Stop the currently playing track + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:328](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L328) + +*** + +### update() + +> **update**(`updatePlayer`): `Promise`\<`void`> + +If you want to update the whole player yourself, sends raw update player info to lavalink + +#### Parameters + +β€’ **updatePlayer**: [`UpdatePlayerInfo`](/4.0.1/api/interfaces/updateplayerinfo/) + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/guild/Player.ts:511](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L511) + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 + +## Events + +### on() + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the current playing track ends + +##### Parameters + +β€’ **event**: `"end"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:148](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L148) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the current playing track gets stuck due to an error + +##### Parameters + +β€’ **event**: `"stuck"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:153](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L153) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the current websocket connection is closed + +##### Parameters + +β€’ **event**: `"closed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:158](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L158) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a new track starts + +##### Parameters + +β€’ **event**: `"start"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:163](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L163) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when there is an error caused by the current playing track + +##### Parameters + +β€’ **event**: `"exception"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:168](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L168) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when the library manages to resume the player + +##### Parameters + +β€’ **event**: `"resumed"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:173](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L173) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a playerUpdate even is received from Lavalink + +##### Parameters + +β€’ **event**: `"update"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/guild/Player.ts:178](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L178) diff --git a/src/content/docs/4.0.1/api/classes/Rest.md b/src/content/docs/4.0.1/api/classes/Rest.md new file mode 100644 index 0000000..ee0010b --- /dev/null +++ b/src/content/docs/4.0.1/api/classes/Rest.md @@ -0,0 +1,269 @@ +--- +editUrl: false +next: false +prev: false +title: Rest +slug: 4.0.1/apiclasses/rest +--- + +Wrapper around Lavalink REST API + +## Constructors + +### new Rest() + +> **new Rest**(`node`, `options`): [`Rest`](/4.0.1/api/classes/rest/) + +#### Parameters + +β€’ **node**: [`Node`](/4.0.1/api/classes/node/) + +An instance of Node + +β€’ **options**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/) + +The options to initialize this rest class + +#### Returns + +[`Rest`](/4.0.1/api/classes/rest/) + +#### Defined in + +[src/node/Rest.ts:187](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L187) + +## Methods + +### decode() + +> **decode**(`track`): `Promise`\<`undefined` | [`Track`](/4.0.1/api/interfaces/track/)> + +Decode a track + +#### Parameters + +β€’ **track**: `string` + +Encoded track + +#### Returns + +`Promise`\<`undefined` | [`Track`](/4.0.1/api/interfaces/track/)> + +Promise that resolves to a track + +#### Defined in + +[src/node/Rest.ts:216](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L216) + +*** + +### destroyPlayer() + +> **destroyPlayer**(`guildId`): `Promise`\<`void`> + +Deletes a Lavalink player + +#### Parameters + +β€’ **guildId**: `string` + +guildId where this player is + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/node/Rest.ts:270](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L270) + +*** + +### getLavalinkInfo() + +> **getLavalinkInfo**(): `Promise`\<`undefined` | [`NodeInfo`](/4.0.1/api/type-aliases/nodeinfo/)> + +Get Lavalink info + +#### Returns + +`Promise`\<`undefined` | [`NodeInfo`](/4.0.1/api/type-aliases/nodeinfo/)> + +#### Defined in + +[src/node/Rest.ts:339](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L339) + +*** + +### getPlayer() + +> **getPlayer**(`guildId`): `Promise`\<`undefined` | [`LavalinkPlayer`](/4.0.1/api/interfaces/lavalinkplayer/)> + +Gets all the player with the specified sessionId + +#### Parameters + +β€’ **guildId**: `string` + +#### Returns + +`Promise`\<`undefined` | [`LavalinkPlayer`](/4.0.1/api/interfaces/lavalinkplayer/)> + +Promise that resolves to an array of Lavalink players + +#### Defined in + +[src/node/Rest.ts:240](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L240) + +*** + +### getPlayers() + +> **getPlayers**(): `Promise`\<[`LavalinkPlayer`](/4.0.1/api/interfaces/lavalinkplayer/)\[]> + +Gets all the player with the specified sessionId + +#### Returns + +`Promise`\<[`LavalinkPlayer`](/4.0.1/api/interfaces/lavalinkplayer/)\[]> + +Promise that resolves to an array of Lavalink players + +#### Defined in + +[src/node/Rest.ts:228](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L228) + +*** + +### getRoutePlannerStatus() + +> **getRoutePlannerStatus**(): `Promise`\<`undefined` | [`RoutePlanner`](/4.0.1/api/interfaces/routeplanner/)> + +Get routeplanner status from Lavalink + +#### Returns + +`Promise`\<`undefined` | [`RoutePlanner`](/4.0.1/api/interfaces/routeplanner/)> + +Promise that resolves to a routeplanner response + +#### Defined in + +[src/node/Rest.ts:312](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L312) + +*** + +### resolve() + +> **resolve**(`identifier`): `Promise`\<`undefined` | [`LavalinkResponse`](/4.0.1/api/type-aliases/lavalinkresponse/)> + +Resolve a track + +#### Parameters + +β€’ **identifier**: `string` + +Track ID + +#### Returns + +`Promise`\<`undefined` | [`LavalinkResponse`](/4.0.1/api/type-aliases/lavalinkresponse/)> + +A promise that resolves to a Lavalink response + +#### Defined in + +[src/node/Rest.ts:203](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L203) + +*** + +### stats() + +> **stats**(): `Promise`\<`undefined` | [`NodeStats`](/4.0.1/api/interfaces/nodestats/)> + +Gets the status of this node + +#### Returns + +`Promise`\<`undefined` | [`NodeStats`](/4.0.1/api/interfaces/nodestats/)> + +Promise that resolves to a node stats response + +#### Defined in + +[src/node/Rest.ts:300](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L300) + +*** + +### unmarkFailedAddress() + +> **unmarkFailedAddress**(`address`): `Promise`\<`void`> + +Release blacklisted IP address into pool of IPs + +#### Parameters + +β€’ **address**: `string` + +IP address + +#### Returns + +`Promise`\<`void`> + +#### Defined in + +[src/node/Rest.ts:324](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L324) + +*** + +### updatePlayer() + +> **updatePlayer**(`data`): `Promise`\<`undefined` | [`LavalinkPlayer`](/4.0.1/api/interfaces/lavalinkplayer/)> + +Updates a Lavalink player + +#### Parameters + +β€’ **data**: [`UpdatePlayerInfo`](/4.0.1/api/interfaces/updateplayerinfo/) + +SessionId from Discord + +#### Returns + +`Promise`\<`undefined` | [`LavalinkPlayer`](/4.0.1/api/interfaces/lavalinkplayer/)> + +Promise that resolves to a Lavalink player + +#### Defined in + +[src/node/Rest.ts:253](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L253) + +*** + +### updateSession() + +> **updateSession**(`resuming`?, `timeout`?): `Promise`\<`undefined` | [`SessionInfo`](/4.0.1/api/interfaces/sessioninfo/)> + +Updates the session with a resume boolean and timeout + +#### Parameters + +β€’ **resuming?**: `boolean` + +Whether resuming is enabled for this session or not + +β€’ **timeout?**: `number` + +Timeout to wait for resuming + +#### Returns + +`Promise`\<`undefined` | [`SessionInfo`](/4.0.1/api/interfaces/sessioninfo/)> + +Promise that resolves to a Lavalink player + +#### Defined in + +[src/node/Rest.ts:284](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L284) diff --git a/src/content/docs/4.0.1/api/classes/Shoukaku.md b/src/content/docs/4.0.1/api/classes/Shoukaku.md new file mode 100644 index 0000000..327317a --- /dev/null +++ b/src/content/docs/4.0.1/api/classes/Shoukaku.md @@ -0,0 +1,1715 @@ +--- +editUrl: false +next: false +prev: false +title: Shoukaku +slug: 4.0.1/apiclasses/shoukaku +--- + +Main Shoukaku class + +## Extends + +* `EventEmitter` + +## Constructors + +### new Shoukaku() + +> **new Shoukaku**(`connector`, `nodes`, `options`): [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +#### Parameters + +β€’ **connector**: [`Connector`](/4.0.1/api/classes/connector/) + +A Discord library connector + +β€’ **nodes**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/)\[] + +An array that conforms to the NodeOption type that specifies nodes to connect to + +β€’ **options**: [`ShoukakuOptions`](/4.0.1/api/interfaces/shoukakuoptions/) = `{}` + +Options to pass to create this Shoukaku instance + +#### Returns + +[`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +#### Defined in + +[src/Shoukaku.ts:194](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L194) + +## Properties + +### connections + +> `readonly` **connections**: `Map`\<`string`, [`Connection`](/4.0.1/api/classes/connection/)> + +Voice connections being handled + +#### Defined in + +[src/Shoukaku.ts:170](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L170) + +*** + +### connector + +> `readonly` **connector**: [`Connector`](/4.0.1/api/classes/connector/) + +Discord library connector + +#### Defined in + +[src/Shoukaku.ts:158](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L158) + +*** + +### id + +> **id**: `null` | `string` + +Shoukaku instance identifier + +#### Defined in + +[src/Shoukaku.ts:178](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L178) + +*** + +### nodes + +> `readonly` **nodes**: `Map`\<`string`, [`Node`](/4.0.1/api/classes/node/)> + +Connected Lavalink nodes + +#### Defined in + +[src/Shoukaku.ts:166](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L166) + +*** + +### options + +> `readonly` **options**: `Required`\<[`ShoukakuOptions`](/4.0.1/api/interfaces/shoukakuoptions/)> + +Shoukaku options + +#### Defined in + +[src/Shoukaku.ts:162](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L162) + +*** + +### players + +> `readonly` **players**: `Map`\<`string`, [`Player`](/4.0.1/api/classes/player/)> + +Players being handled + +#### Defined in + +[src/Shoukaku.ts:174](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L174) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/4.0.1/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for *all*`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects *all* `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/4.0.1/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol]\()? + +> `optional` **\[captureRejectionSymbol]**\<`K`>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### addNode() + +> **addNode**(`options`): `void` + +Add a Lavalink node to the pool of available nodes + +#### Parameters + +β€’ **options**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/) + +#### Returns + +`void` + +#### Defined in + +[src/Shoukaku.ts:213](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L213) + +*** + +### emit() + +> **emit**\<`K`>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` | `symbol`)\[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` | `symbol`)\[] + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/shoukaku/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"reconnecting"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:142](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L142) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"debug"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:143](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L143) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"error"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:144](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L144) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"ready"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:145](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L145) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"close"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:146](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L146) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"disconnect"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:147](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L147) + +#### off(event, listener) + +> **off**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"raw"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:148](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L148) + +*** + +### once() + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"reconnecting"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:135](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L135) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"debug"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:136](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L136) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"error"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:137](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L137) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"ready"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:138](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L138) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"close"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:139](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L139) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"disconnect"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:140](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L140) + +#### once(event, listener) + +> **once**(`event`, `listener`): `this` + +##### Parameters + +β€’ **event**: `"raw"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:141](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L141) + +*** + +### prependListener() + +> **prependListener**\<`K`>(`eventName`, `listener`): `this` + +Adds the `listener` function to the *beginning* of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the *beginning* of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`>(`eventName`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` | `symbol` + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered *after* the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` | `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### removeNode() + +> **removeNode**(`name`, `reason`): `void` + +Remove a Lavalink node from the pool of available nodes + +#### Parameters + +β€’ **name**: `string` + +Name of the node + +β€’ **reason**: `string` = `'Remove node executed'` + +Reason of removing the node + +#### Returns + +`void` + +#### Defined in + +[src/Shoukaku.ts:231](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L231) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution\[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`\[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +β€’ **name**: `string` | `symbol` + +#### Returns + +`Function`\[] + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> | `EventTarget` + +#### Returns + +`number` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution\[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +The emitter to query + +β€’ **eventName**: `string` | `symbol` + +The event name + +#### Returns + +`number` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`> + +β€’ **eventName**: `string` | `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`\[]> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`\[]> + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`> | `EventTarget`)\[] + +#### Returns + +`void` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 + +## Events + +### on() + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when reconnect tries are occurring and how many tries are left + +##### Parameters + +β€’ **event**: `"reconnecting"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:104](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L104) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when data useful for debugging is produced + +##### Parameters + +β€’ **event**: `"debug"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:109](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L109) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when an error occurs + +##### Parameters + +β€’ **event**: `"error"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:114](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L114) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when Shoukaku is ready to receive operations + +##### Parameters + +β€’ **event**: `"ready"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:119](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L119) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a websocket connection to Lavalink closes + +##### Parameters + +β€’ **event**: `"close"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:124](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L124) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a websocket connection to Lavalink disconnects + +##### Parameters + +β€’ **event**: `"disconnect"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:129](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L129) + +#### on(event, listener) + +> **on**(`event`, `listener`): `this` + +Emitted when a raw message is received from Lavalink + +##### Parameters + +β€’ **event**: `"raw"` + +β€’ **listener** + +##### Returns + +`this` + +##### Defined in + +[src/Shoukaku.ts:134](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L134) diff --git a/src/content/docs/4.0.1/api/enumerations/LoadType.md b/src/content/docs/4.0.1/api/enumerations/LoadType.md new file mode 100644 index 0000000..8337ce5 --- /dev/null +++ b/src/content/docs/4.0.1/api/enumerations/LoadType.md @@ -0,0 +1,57 @@ +--- +editUrl: false +next: false +prev: false +title: LoadType +slug: 4.0.1/apienumerations/loadtype +--- + +## Enumeration Members + +### EMPTY + +> **EMPTY**: `"empty"` + +#### Defined in + +[src/node/Rest.ts:12](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L12) + +*** + +### ERROR + +> **ERROR**: `"error"` + +#### Defined in + +[src/node/Rest.ts:13](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L13) + +*** + +### PLAYLIST + +> **PLAYLIST**: `"playlist"` + +#### Defined in + +[src/node/Rest.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L10) + +*** + +### SEARCH + +> **SEARCH**: `"search"` + +#### Defined in + +[src/node/Rest.ts:11](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L11) + +*** + +### TRACK + +> **TRACK**: `"track"` + +#### Defined in + +[src/node/Rest.ts:9](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L9) diff --git a/src/content/docs/4.0.1/api/interfaces/Address.md b/src/content/docs/4.0.1/api/interfaces/Address.md new file mode 100644 index 0000000..06b0914 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/Address.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: Address +slug: 4.0.1/apiinterfaces/address +--- + +## Properties + +### address + +> **address**: `string` + +#### Defined in + +[src/node/Rest.ts:78](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L78) + +*** + +### failingTime + +> **failingTime**: `string` + +#### Defined in + +[src/node/Rest.ts:80](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L80) + +*** + +### failingTimestamp + +> **failingTimestamp**: `number` + +#### Defined in + +[src/node/Rest.ts:79](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L79) diff --git a/src/content/docs/4.0.1/api/interfaces/Band.md b/src/content/docs/4.0.1/api/interfaces/Band.md new file mode 100644 index 0000000..54c7afc --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/Band.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: Band +slug: 4.0.1/apiinterfaces/band +--- + +## Properties + +### band + +> **band**: `number` + +#### Defined in + +[src/guild/Player.ts:32](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L32) + +*** + +### gain + +> **gain**: `number` + +#### Defined in + +[src/guild/Player.ts:33](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L33) diff --git a/src/content/docs/4.0.1/api/interfaces/ChannelMixSettings.md b/src/content/docs/4.0.1/api/interfaces/ChannelMixSettings.md new file mode 100644 index 0000000..1242b34 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/ChannelMixSettings.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: ChannelMixSettings +slug: 4.0.1/apiinterfaces/channelmixsettings +--- + +## Properties + +### leftToLeft? + +> `optional` **leftToLeft**: `number` + +#### Defined in + +[src/guild/Player.ts:70](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L70) + +*** + +### leftToRight? + +> `optional` **leftToRight**: `number` + +#### Defined in + +[src/guild/Player.ts:71](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L71) + +*** + +### rightToLeft? + +> `optional` **rightToLeft**: `number` + +#### Defined in + +[src/guild/Player.ts:72](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L72) + +*** + +### rightToRight? + +> `optional` **rightToRight**: `number` + +#### Defined in + +[src/guild/Player.ts:73](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L73) diff --git a/src/content/docs/4.0.1/api/interfaces/ConnectorMethods.md b/src/content/docs/4.0.1/api/interfaces/ConnectorMethods.md new file mode 100644 index 0000000..268a99d --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/ConnectorMethods.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: ConnectorMethods +slug: 4.0.1/apiinterfaces/connectormethods +--- + +## Properties + +### getId + +> **getId**: `any` + +#### Defined in + +[src/connectors/Connector.ts:7](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L7) + +*** + +### sendPacket + +> **sendPacket**: `any` + +#### Defined in + +[src/connectors/Connector.ts:6](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L6) diff --git a/src/content/docs/4.0.1/api/interfaces/DistortionSettings.md b/src/content/docs/4.0.1/api/interfaces/DistortionSettings.md new file mode 100644 index 0000000..a7f1be2 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/DistortionSettings.md @@ -0,0 +1,87 @@ +--- +editUrl: false +next: false +prev: false +title: DistortionSettings +slug: 4.0.1/apiinterfaces/distortionsettings +--- + +## Properties + +### cosOffset? + +> `optional` **cosOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:61](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L61) + +*** + +### cosScale? + +> `optional` **cosScale**: `number` + +#### Defined in + +[src/guild/Player.ts:62](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L62) + +*** + +### offset? + +> `optional` **offset**: `number` + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L65) + +*** + +### scale? + +> `optional` **scale**: `number` + +#### Defined in + +[src/guild/Player.ts:66](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L66) + +*** + +### sinOffset? + +> `optional` **sinOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:59](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L59) + +*** + +### sinScale? + +> `optional` **sinScale**: `number` + +#### Defined in + +[src/guild/Player.ts:60](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L60) + +*** + +### tanOffset? + +> `optional` **tanOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:63](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L63) + +*** + +### tanScale? + +> `optional` **tanScale**: `number` + +#### Defined in + +[src/guild/Player.ts:64](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L64) diff --git a/src/content/docs/4.0.1/api/interfaces/EmptyResult.md b/src/content/docs/4.0.1/api/interfaces/EmptyResult.md new file mode 100644 index 0000000..bf59124 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/EmptyResult.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: EmptyResult +slug: 4.0.1/apiinterfaces/emptyresult +--- + +## Properties + +### data + +> **data**: `object` + +#### Defined in + +[src/node/Rest.ts:67](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L67) + +*** + +### loadType + +> **loadType**: [`EMPTY`](/4.0.1/api/enumerations/loadtype/#empty) + +#### Defined in + +[src/node/Rest.ts:66](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L66) diff --git a/src/content/docs/4.0.1/api/interfaces/ErrorResult.md b/src/content/docs/4.0.1/api/interfaces/ErrorResult.md new file mode 100644 index 0000000..6a2f52e --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/ErrorResult.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: ErrorResult +slug: 4.0.1/apiinterfaces/errorresult +--- + +## Properties + +### data + +> **data**: [`Exception`](/4.0.1/api/interfaces/exception/) + +#### Defined in + +[src/node/Rest.ts:72](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L72) + +*** + +### loadType + +> **loadType**: [`ERROR`](/4.0.1/api/enumerations/loadtype/#error) + +#### Defined in + +[src/node/Rest.ts:71](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L71) diff --git a/src/content/docs/4.0.1/api/interfaces/Exception.md b/src/content/docs/4.0.1/api/interfaces/Exception.md new file mode 100644 index 0000000..189aac3 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/Exception.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: Exception +slug: 4.0.1/apiinterfaces/exception +--- + +## Properties + +### cause + +> **cause**: `string` + +#### Defined in + +[src/node/Rest.ts:47](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L47) + +*** + +### message + +> **message**: `string` + +#### Defined in + +[src/node/Rest.ts:45](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L45) + +*** + +### severity + +> **severity**: [`Severity`](/4.0.1/api/type-aliases/severity/) + +#### Defined in + +[src/node/Rest.ts:46](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L46) diff --git a/src/content/docs/4.0.1/api/interfaces/FilterOptions.md b/src/content/docs/4.0.1/api/interfaces/FilterOptions.md new file mode 100644 index 0000000..e5a9023 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/FilterOptions.md @@ -0,0 +1,107 @@ +--- +editUrl: false +next: false +prev: false +title: FilterOptions +slug: 4.0.1/apiinterfaces/filteroptions +--- + +## Properties + +### channelMix? + +> `optional` **channelMix**: `null` | [`ChannelMixSettings`](/4.0.1/api/interfaces/channelmixsettings/) + +#### Defined in + +[src/guild/Player.ts:139](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L139) + +*** + +### distortion? + +> `optional` **distortion**: `null` | [`DistortionSettings`](/4.0.1/api/interfaces/distortionsettings/) + +#### Defined in + +[src/guild/Player.ts:138](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L138) + +*** + +### equalizer? + +> `optional` **equalizer**: [`Band`](/4.0.1/api/interfaces/band/)\[] + +#### Defined in + +[src/guild/Player.ts:132](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L132) + +*** + +### karaoke? + +> `optional` **karaoke**: `null` | [`KaraokeSettings`](/4.0.1/api/interfaces/karaokesettings/) + +#### Defined in + +[src/guild/Player.ts:133](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L133) + +*** + +### lowPass? + +> `optional` **lowPass**: `null` | [`LowPassSettings`](/4.0.1/api/interfaces/lowpasssettings/) + +#### Defined in + +[src/guild/Player.ts:140](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L140) + +*** + +### rotation? + +> `optional` **rotation**: `null` | [`RotationSettings`](/4.0.1/api/interfaces/rotationsettings/) + +#### Defined in + +[src/guild/Player.ts:137](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L137) + +*** + +### timescale? + +> `optional` **timescale**: `null` | [`TimescaleSettings`](/4.0.1/api/interfaces/timescalesettings/) + +#### Defined in + +[src/guild/Player.ts:134](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L134) + +*** + +### tremolo? + +> `optional` **tremolo**: `null` | [`FreqSettings`](/4.0.1/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:135](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L135) + +*** + +### vibrato? + +> `optional` **vibrato**: `null` | [`FreqSettings`](/4.0.1/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:136](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L136) + +*** + +### volume? + +> `optional` **volume**: `number` + +#### Defined in + +[src/guild/Player.ts:131](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L131) diff --git a/src/content/docs/4.0.1/api/interfaces/FreqSettings.md b/src/content/docs/4.0.1/api/interfaces/FreqSettings.md new file mode 100644 index 0000000..2d5d10d --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/FreqSettings.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: FreqSettings +slug: 4.0.1/apiinterfaces/freqsettings +--- + +## Properties + +### depth? + +> `optional` **depth**: `number` + +#### Defined in + +[src/guild/Player.ts:51](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L51) + +*** + +### frequency? + +> `optional` **frequency**: `number` + +#### Defined in + +[src/guild/Player.ts:50](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L50) diff --git a/src/content/docs/4.0.1/api/interfaces/KaraokeSettings.md b/src/content/docs/4.0.1/api/interfaces/KaraokeSettings.md new file mode 100644 index 0000000..bdc75c0 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/KaraokeSettings.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: KaraokeSettings +slug: 4.0.1/apiinterfaces/karaokesettings +--- + +## Properties + +### filterBand? + +> `optional` **filterBand**: `number` + +#### Defined in + +[src/guild/Player.ts:39](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L39) + +*** + +### filterWidth? + +> `optional` **filterWidth**: `number` + +#### Defined in + +[src/guild/Player.ts:40](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L40) + +*** + +### level? + +> `optional` **level**: `number` + +#### Defined in + +[src/guild/Player.ts:37](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L37) + +*** + +### monoLevel? + +> `optional` **monoLevel**: `number` + +#### Defined in + +[src/guild/Player.ts:38](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L38) diff --git a/src/content/docs/4.0.1/api/interfaces/LavalinkPlayer.md b/src/content/docs/4.0.1/api/interfaces/LavalinkPlayer.md new file mode 100644 index 0000000..334b95f --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/LavalinkPlayer.md @@ -0,0 +1,67 @@ +--- +editUrl: false +next: false +prev: false +title: LavalinkPlayer +slug: 4.0.1/apiinterfaces/lavalinkplayer +--- + +## Properties + +### filters + +> **filters**: [`FilterOptions`](/4.0.1/api/interfaces/filteroptions/) + +#### Defined in + +[src/node/Rest.ts:115](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L115) + +*** + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/node/Rest.ts:110](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L110) + +*** + +### paused + +> **paused**: `boolean` + +#### Defined in + +[src/node/Rest.ts:113](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L113) + +*** + +### track? + +> `optional` **track**: [`Track`](/4.0.1/api/interfaces/track/) + +#### Defined in + +[src/node/Rest.ts:111](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L111) + +*** + +### voice + +> **voice**: [`LavalinkPlayerVoice`](/4.0.1/api/interfaces/lavalinkplayervoice/) + +#### Defined in + +[src/node/Rest.ts:114](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L114) + +*** + +### volume + +> **volume**: `number` + +#### Defined in + +[src/node/Rest.ts:112](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L112) diff --git a/src/content/docs/4.0.1/api/interfaces/LavalinkPlayerVoice.md b/src/content/docs/4.0.1/api/interfaces/LavalinkPlayerVoice.md new file mode 100644 index 0000000..63b18c8 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/LavalinkPlayerVoice.md @@ -0,0 +1,57 @@ +--- +editUrl: false +next: false +prev: false +title: LavalinkPlayerVoice +slug: 4.0.1/apiinterfaces/lavalinkplayervoice +--- + +## Properties + +### connected? + +> `optional` **connected**: `boolean` + +#### Defined in + +[src/node/Rest.ts:103](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L103) + +*** + +### endpoint + +> **endpoint**: `string` + +#### Defined in + +[src/node/Rest.ts:101](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L101) + +*** + +### ping? + +> `optional` **ping**: `number` + +#### Defined in + +[src/node/Rest.ts:104](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L104) + +*** + +### sessionId + +> **sessionId**: `string` + +#### Defined in + +[src/node/Rest.ts:102](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L102) + +*** + +### token + +> **token**: `string` + +#### Defined in + +[src/node/Rest.ts:100](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L100) diff --git a/src/content/docs/4.0.1/api/interfaces/LavalinkPlayerVoiceOptions.md b/src/content/docs/4.0.1/api/interfaces/LavalinkPlayerVoiceOptions.md new file mode 100644 index 0000000..0cc3393 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/LavalinkPlayerVoiceOptions.md @@ -0,0 +1,53 @@ +--- +editUrl: false +next: false +prev: false +title: LavalinkPlayerVoiceOptions +slug: 4.0.1/apiinterfaces/lavalinkplayervoiceoptions +--- + +## Extends + +* `Omit`\<[`LavalinkPlayerVoice`](/4.0.1/api/interfaces/lavalinkplayervoice/), `"connected"` | `"ping"`> + +## Properties + +### endpoint + +> **endpoint**: `string` + +#### Inherited from + +`Omit.endpoint` + +#### Defined in + +[src/node/Rest.ts:101](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L101) + +*** + +### sessionId + +> **sessionId**: `string` + +#### Inherited from + +`Omit.sessionId` + +#### Defined in + +[src/node/Rest.ts:102](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L102) + +*** + +### token + +> **token**: `string` + +#### Inherited from + +`Omit.token` + +#### Defined in + +[src/node/Rest.ts:100](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L100) diff --git a/src/content/docs/4.0.1/api/interfaces/LowPassSettings.md b/src/content/docs/4.0.1/api/interfaces/LowPassSettings.md new file mode 100644 index 0000000..203371a --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/LowPassSettings.md @@ -0,0 +1,17 @@ +--- +editUrl: false +next: false +prev: false +title: LowPassSettings +slug: 4.0.1/apiinterfaces/lowpasssettings +--- + +## Properties + +### smoothing? + +> `optional` **smoothing**: `number` + +#### Defined in + +[src/guild/Player.ts:77](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L77) diff --git a/src/content/docs/4.0.1/api/interfaces/NodeOption.md b/src/content/docs/4.0.1/api/interfaces/NodeOption.md new file mode 100644 index 0000000..aa2b04e --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/NodeOption.md @@ -0,0 +1,67 @@ +--- +editUrl: false +next: false +prev: false +title: NodeOption +slug: 4.0.1/apiinterfaces/nodeoption +--- + +## Properties + +### auth + +> **auth**: `string` + +Credentials to access Lavalink + +#### Defined in + +[src/Shoukaku.ts:33](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L33) + +*** + +### group? + +> `optional` **group**: `string` + +Group of this node + +#### Defined in + +[src/Shoukaku.ts:41](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L41) + +*** + +### name + +> **name**: `string` + +Name of this node + +#### Defined in + +[src/Shoukaku.ts:25](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L25) + +*** + +### secure? + +> `optional` **secure**: `boolean` + +Whether to use secure protocols or not + +#### Defined in + +[src/Shoukaku.ts:37](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L37) + +*** + +### url + +> **url**: `string` + +URL of Lavalink + +#### Defined in + +[src/Shoukaku.ts:29](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L29) diff --git a/src/content/docs/4.0.1/api/interfaces/NodeStats.md b/src/content/docs/4.0.1/api/interfaces/NodeStats.md new file mode 100644 index 0000000..4d31ff7 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/NodeStats.md @@ -0,0 +1,107 @@ +--- +editUrl: false +next: false +prev: false +title: NodeStats +slug: 4.0.1/apiinterfaces/nodestats +--- + +## Properties + +### cpu + +> **cpu**: `object` + +#### cores + +> **cores**: `number` + +#### lavalinkLoad + +> **lavalinkLoad**: `number` + +#### systemLoad + +> **systemLoad**: `number` + +#### Defined in + +[src/node/Node.ts:23](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L23) + +*** + +### frameStats + +> **frameStats**: `object` + +#### deficit + +> **deficit**: `number` + +#### nulled + +> **nulled**: `number` + +#### sent + +> **sent**: `number` + +#### Defined in + +[src/node/Node.ts:18](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L18) + +*** + +### memory + +> **memory**: `object` + +#### allocated + +> **allocated**: `number` + +#### free + +> **free**: `number` + +#### reservable + +> **reservable**: `number` + +#### used + +> **used**: `number` + +#### Defined in + +[src/node/Node.ts:12](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L12) + +*** + +### players + +> **players**: `number` + +#### Defined in + +[src/node/Node.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L10) + +*** + +### playingPlayers + +> **playingPlayers**: `number` + +#### Defined in + +[src/node/Node.ts:11](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L11) + +*** + +### uptime + +> **uptime**: `number` + +#### Defined in + +[src/node/Node.ts:28](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L28) diff --git a/src/content/docs/4.0.1/api/interfaces/NonResumableHeaders.md b/src/content/docs/4.0.1/api/interfaces/NonResumableHeaders.md new file mode 100644 index 0000000..40c0002 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/NonResumableHeaders.md @@ -0,0 +1,11 @@ +--- +editUrl: false +next: false +prev: false +title: NonResumableHeaders +slug: 4.0.1/apiinterfaces/nonresumableheaders +--- + +## Extends + +* `Omit`\<[`ResumableHeaders`](/4.0.1/api/interfaces/resumableheaders/), `"Session-Id"`> diff --git a/src/content/docs/4.0.1/api/interfaces/PlayOptions.md b/src/content/docs/4.0.1/api/interfaces/PlayOptions.md new file mode 100644 index 0000000..ae0e523 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/PlayOptions.md @@ -0,0 +1,49 @@ +--- +editUrl: false +next: false +prev: false +title: PlayOptions +slug: 4.0.1/apiinterfaces/playoptions +--- + +Options when playing a new track + +## Properties + +### options? + +> `optional` **options**: `object` + +#### endTime? + +> `optional` **endTime**: `number` + +#### noReplace? + +> `optional` **noReplace**: `boolean` + +#### pause? + +> `optional` **pause**: `boolean` + +#### startTime? + +> `optional` **startTime**: `number` + +#### volume? + +> `optional` **volume**: `number` + +#### Defined in + +[src/guild/Player.ts:15](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L15) + +*** + +### track + +> **track**: `string` + +#### Defined in + +[src/guild/Player.ts:14](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L14) diff --git a/src/content/docs/4.0.1/api/interfaces/PlayerEvent.md b/src/content/docs/4.0.1/api/interfaces/PlayerEvent.md new file mode 100644 index 0000000..492218e --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/PlayerEvent.md @@ -0,0 +1,45 @@ +--- +editUrl: false +next: false +prev: false +title: PlayerEvent +slug: 4.0.1/apiinterfaces/playerevent +--- + +## Extended by + +* [`TrackStartEvent`](/4.0.1/api/interfaces/trackstartevent/) +* [`TrackEndEvent`](/4.0.1/api/interfaces/trackendevent/) +* [`TrackStuckEvent`](/4.0.1/api/interfaces/trackstuckevent/) +* [`TrackExceptionEvent`](/4.0.1/api/interfaces/trackexceptionevent/) +* [`WebSocketClosedEvent`](/4.0.1/api/interfaces/websocketclosedevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/guild/Player.ts:83](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L83) + +*** + +### op + +> **op**: [`EVENT`](/4.0.1/api/namespaces/constants/enumerations/opcodes/#event) + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L81) + +*** + +### type + +> **type**: [`PlayerEventType`](/4.0.1/api/type-aliases/playereventtype/) + +#### Defined in + +[src/guild/Player.ts:82](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L82) diff --git a/src/content/docs/4.0.1/api/interfaces/PlayerUpdate.md b/src/content/docs/4.0.1/api/interfaces/PlayerUpdate.md new file mode 100644 index 0000000..4c5ad92 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/PlayerUpdate.md @@ -0,0 +1,49 @@ +--- +editUrl: false +next: false +prev: false +title: PlayerUpdate +slug: 4.0.1/apiinterfaces/playerupdate +--- + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/guild/Player.ts:127](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L127) + +*** + +### op + +> **op**: [`PLAYER_UPDATE`](/4.0.1/api/namespaces/constants/enumerations/opcodes/#player_update) + +#### Defined in + +[src/guild/Player.ts:121](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L121) + +*** + +### state + +> **state**: `object` + +#### connected + +> **connected**: `boolean` + +#### position? + +> `optional` **position**: `number` + +#### time + +> **time**: `number` + +#### Defined in + +[src/guild/Player.ts:122](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L122) diff --git a/src/content/docs/4.0.1/api/interfaces/Playlist.md b/src/content/docs/4.0.1/api/interfaces/Playlist.md new file mode 100644 index 0000000..89a9b5e --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/Playlist.md @@ -0,0 +1,55 @@ +--- +editUrl: false +next: false +prev: false +title: Playlist +slug: 4.0.1/apiinterfaces/playlist +--- + +## Properties + +### encoded + +> **encoded**: `string` + +#### Defined in + +[src/node/Rest.ts:35](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L35) + +*** + +### info + +> **info**: `object` + +#### name + +> **name**: `string` + +#### selectedTrack + +> **selectedTrack**: `number` + +#### Defined in + +[src/node/Rest.ts:36](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L36) + +*** + +### pluginInfo + +> **pluginInfo**: `unknown` + +#### Defined in + +[src/node/Rest.ts:40](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L40) + +*** + +### tracks + +> **tracks**: [`Track`](/4.0.1/api/interfaces/track/)\[] + +#### Defined in + +[src/node/Rest.ts:41](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L41) diff --git a/src/content/docs/4.0.1/api/interfaces/PlaylistResult.md b/src/content/docs/4.0.1/api/interfaces/PlaylistResult.md new file mode 100644 index 0000000..d1d77bf --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/PlaylistResult.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: PlaylistResult +slug: 4.0.1/apiinterfaces/playlistresult +--- + +## Properties + +### data + +> **data**: [`Playlist`](/4.0.1/api/interfaces/playlist/) + +#### Defined in + +[src/node/Rest.ts:57](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L57) + +*** + +### loadType + +> **loadType**: [`PLAYLIST`](/4.0.1/api/enumerations/loadtype/#playlist) + +#### Defined in + +[src/node/Rest.ts:56](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L56) diff --git a/src/content/docs/4.0.1/api/interfaces/ResumableHeaders.md b/src/content/docs/4.0.1/api/interfaces/ResumableHeaders.md new file mode 100644 index 0000000..70cbcf0 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/ResumableHeaders.md @@ -0,0 +1,61 @@ +--- +editUrl: false +next: false +prev: false +title: ResumableHeaders +slug: 4.0.1/apiinterfaces/resumableheaders +--- + +## Indexable + +\[`key`: `string`]: `string` + +## Properties + +### Authorization + +> **Authorization**: `string` + +#### Defined in + +[src/node/Node.ts:66](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L66) + +*** + +### Client-Name + +> **Client-Name**: `string` + +#### Defined in + +[src/node/Node.ts:64](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L64) + +*** + +### Session-Id + +> **Session-Id**: `string` + +#### Defined in + +[src/node/Node.ts:68](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L68) + +*** + +### User-Agent + +> **User-Agent**: `string` + +#### Defined in + +[src/node/Node.ts:65](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L65) + +*** + +### User-Id + +> **User-Id**: `string` + +#### Defined in + +[src/node/Node.ts:67](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L67) diff --git a/src/content/docs/4.0.1/api/interfaces/ResumeOptions.md b/src/content/docs/4.0.1/api/interfaces/ResumeOptions.md new file mode 100644 index 0000000..aed5b65 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/ResumeOptions.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: ResumeOptions +slug: 4.0.1/apiinterfaces/resumeoptions +--- + +## Properties + +### endTime? + +> `optional` **endTime**: `number` + +#### Defined in + +[src/guild/Player.ts:28](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L28) + +*** + +### noReplace? + +> `optional` **noReplace**: `boolean` + +#### Defined in + +[src/guild/Player.ts:25](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L25) + +*** + +### pause? + +> `optional` **pause**: `boolean` + +#### Defined in + +[src/guild/Player.ts:26](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L26) + +*** + +### startTime? + +> `optional` **startTime**: `number` + +#### Defined in + +[src/guild/Player.ts:27](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L27) diff --git a/src/content/docs/4.0.1/api/interfaces/RotationSettings.md b/src/content/docs/4.0.1/api/interfaces/RotationSettings.md new file mode 100644 index 0000000..ae48921 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/RotationSettings.md @@ -0,0 +1,17 @@ +--- +editUrl: false +next: false +prev: false +title: RotationSettings +slug: 4.0.1/apiinterfaces/rotationsettings +--- + +## Properties + +### rotationHz? + +> `optional` **rotationHz**: `number` + +#### Defined in + +[src/guild/Player.ts:55](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L55) diff --git a/src/content/docs/4.0.1/api/interfaces/RoutePlanner.md b/src/content/docs/4.0.1/api/interfaces/RoutePlanner.md new file mode 100644 index 0000000..d2e779c --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/RoutePlanner.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: RoutePlanner +slug: 4.0.1/apiinterfaces/routeplanner +--- + +## Properties + +### class + +> **class**: `null` | `"RotatingIpRoutePlanner"` | `"NanoIpRoutePlanner"` | `"RotatingNanoIpRoutePlanner"` | `"BalancingIpRoutePlanner"` + +#### Defined in + +[src/node/Rest.ts:84](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L84) + +*** + +### details + +> **details**: `null` | `object` + +#### Defined in + +[src/node/Rest.ts:85](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L85) diff --git a/src/content/docs/4.0.1/api/interfaces/SearchResult.md b/src/content/docs/4.0.1/api/interfaces/SearchResult.md new file mode 100644 index 0000000..6408b1e --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/SearchResult.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: SearchResult +slug: 4.0.1/apiinterfaces/searchresult +--- + +## Properties + +### data + +> **data**: [`Track`](/4.0.1/api/interfaces/track/)\[] + +#### Defined in + +[src/node/Rest.ts:62](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L62) + +*** + +### loadType + +> **loadType**: [`SEARCH`](/4.0.1/api/enumerations/loadtype/#search) + +#### Defined in + +[src/node/Rest.ts:61](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L61) diff --git a/src/content/docs/4.0.1/api/interfaces/ServerUpdate.md b/src/content/docs/4.0.1/api/interfaces/ServerUpdate.md new file mode 100644 index 0000000..42a0c26 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/ServerUpdate.md @@ -0,0 +1,39 @@ +--- +editUrl: false +next: false +prev: false +title: ServerUpdate +slug: 4.0.1/apiinterfaces/serverupdate +--- + +Represents the payload from a serverUpdate event + +## Properties + +### endpoint + +> **endpoint**: `string` + +#### Defined in + +[src/guild/Connection.ts:21](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L21) + +*** + +### guild\_id + +> **guild\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:20](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L20) + +*** + +### token + +> **token**: `string` + +#### Defined in + +[src/guild/Connection.ts:19](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L19) diff --git a/src/content/docs/4.0.1/api/interfaces/SessionInfo.md b/src/content/docs/4.0.1/api/interfaces/SessionInfo.md new file mode 100644 index 0000000..5c1ce38 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/SessionInfo.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: SessionInfo +slug: 4.0.1/apiinterfaces/sessioninfo +--- + +## Properties + +### resumingKey? + +> `optional` **resumingKey**: `string` + +#### Defined in + +[src/node/Rest.ts:136](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L136) + +*** + +### timeout + +> **timeout**: `number` + +#### Defined in + +[src/node/Rest.ts:137](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L137) diff --git a/src/content/docs/4.0.1/api/interfaces/ShoukakuOptions.md b/src/content/docs/4.0.1/api/interfaces/ShoukakuOptions.md new file mode 100644 index 0000000..3a96db9 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/ShoukakuOptions.md @@ -0,0 +1,149 @@ +--- +editUrl: false +next: false +prev: false +title: ShoukakuOptions +slug: 4.0.1/apiinterfaces/shoukakuoptions +--- + +## Properties + +### moveOnDisconnect? + +> `optional` **moveOnDisconnect**: `boolean` + +Whether to move players to a different Lavalink node when a node disconnects + +#### Defined in + +[src/Shoukaku.ts:72](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L72) + +*** + +### nodeResolver()? + +> `optional` **nodeResolver**: (`nodes`, `connection`?) => `undefined` | [`Node`](/4.0.1/api/classes/node/) + +Node Resolver to use if you want to customize it + +#### Parameters + +β€’ **nodes**: `Map`\<`string`, [`Node`](/4.0.1/api/classes/node/)> + +β€’ **connection?**: [`Connection`](/4.0.1/api/classes/connection/) + +#### Returns + +`undefined` | [`Node`](/4.0.1/api/classes/node/) + +#### Defined in + +[src/Shoukaku.ts:88](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L88) + +*** + +### reconnectInterval? + +> `optional` **reconnectInterval**: `number` + +Timeout before trying to reconnect + +#### Defined in + +[src/Shoukaku.ts:64](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L64) + +*** + +### reconnectTries? + +> `optional` **reconnectTries**: `number` + +Number of times to try and reconnect to Lavalink before giving up + +#### Defined in + +[src/Shoukaku.ts:60](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L60) + +*** + +### restTimeout? + +> `optional` **restTimeout**: `number` + +Time to wait for a response from the Lavalink REST API before giving up + +#### Defined in + +[src/Shoukaku.ts:68](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L68) + +*** + +### resume? + +> `optional` **resume**: `boolean` + +Whether to resume a connection on disconnect to Lavalink (Server Side) (Note: DOES NOT RESUME WHEN THE LAVALINK SERVER DIES) + +#### Defined in + +[src/Shoukaku.ts:48](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L48) + +*** + +### resumeByLibrary? + +> `optional` **resumeByLibrary**: `boolean` + +Whether to resume the players by doing it in the library side (Client Side) (Note: TRIES TO RESUME REGARDLESS OF WHAT HAPPENED ON A LAVALINK SERVER) + +#### Defined in + +[src/Shoukaku.ts:56](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L56) + +*** + +### resumeTimeout? + +> `optional` **resumeTimeout**: `number` + +Time to wait before lavalink starts to destroy the players of the disconnected client + +#### Defined in + +[src/Shoukaku.ts:52](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L52) + +*** + +### structures? + +> `optional` **structures**: [`Structures`](/4.0.1/api/interfaces/structures/) + +Custom structures for shoukaku to use + +#### Defined in + +[src/Shoukaku.ts:80](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L80) + +*** + +### userAgent? + +> `optional` **userAgent**: `string` + +User Agent to use when making requests to Lavalink + +#### Defined in + +[src/Shoukaku.ts:76](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L76) + +*** + +### voiceConnectionTimeout? + +> `optional` **voiceConnectionTimeout**: `number` + +Timeout before abort connection + +#### Defined in + +[src/Shoukaku.ts:84](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L84) diff --git a/src/content/docs/4.0.1/api/interfaces/StateUpdatePartial.md b/src/content/docs/4.0.1/api/interfaces/StateUpdatePartial.md new file mode 100644 index 0000000..c2d2b86 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/StateUpdatePartial.md @@ -0,0 +1,49 @@ +--- +editUrl: false +next: false +prev: false +title: StateUpdatePartial +slug: 4.0.1/apiinterfaces/stateupdatepartial +--- + +Represents the partial payload from a stateUpdate event + +## Properties + +### channel\_id? + +> `optional` **channel\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:9](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L9) + +*** + +### self\_deaf + +> **self\_deaf**: `boolean` + +#### Defined in + +[src/guild/Connection.ts:11](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L11) + +*** + +### self\_mute + +> **self\_mute**: `boolean` + +#### Defined in + +[src/guild/Connection.ts:12](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L12) + +*** + +### session\_id? + +> `optional` **session\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Connection.ts#L10) diff --git a/src/content/docs/4.0.1/api/interfaces/Structures.md b/src/content/docs/4.0.1/api/interfaces/Structures.md new file mode 100644 index 0000000..873767d --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/Structures.md @@ -0,0 +1,31 @@ +--- +editUrl: false +next: false +prev: false +title: Structures +slug: 4.0.1/apiinterfaces/structures +--- + +## Properties + +### player? + +> `optional` **player**: [`Constructor`](/4.0.1/api/namespaces/utils/type-aliases/constructor/)\<[`Player`](/4.0.1/api/classes/player/)> + +A custom structure that extends the Player class + +#### Defined in + +[src/Shoukaku.ts:18](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L18) + +*** + +### rest? + +> `optional` **rest**: [`Constructor`](/4.0.1/api/namespaces/utils/type-aliases/constructor/)\<[`Rest`](/4.0.1/api/classes/rest/)> + +A custom structure that extends the Rest class + +#### Defined in + +[src/Shoukaku.ts:14](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L14) diff --git a/src/content/docs/4.0.1/api/interfaces/TimescaleSettings.md b/src/content/docs/4.0.1/api/interfaces/TimescaleSettings.md new file mode 100644 index 0000000..b0ea2c9 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/TimescaleSettings.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: TimescaleSettings +slug: 4.0.1/apiinterfaces/timescalesettings +--- + +## Properties + +### pitch? + +> `optional` **pitch**: `number` + +#### Defined in + +[src/guild/Player.ts:45](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L45) + +*** + +### rate? + +> `optional` **rate**: `number` + +#### Defined in + +[src/guild/Player.ts:46](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L46) + +*** + +### speed? + +> `optional` **speed**: `number` + +#### Defined in + +[src/guild/Player.ts:44](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L44) diff --git a/src/content/docs/4.0.1/api/interfaces/Track.md b/src/content/docs/4.0.1/api/interfaces/Track.md new file mode 100644 index 0000000..fcc6bfa --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/Track.md @@ -0,0 +1,81 @@ +--- +editUrl: false +next: false +prev: false +title: Track +slug: 4.0.1/apiinterfaces/track +--- + +## Properties + +### encoded + +> **encoded**: `string` + +#### Defined in + +[src/node/Rest.ts:17](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L17) + +*** + +### info + +> **info**: `object` + +#### artworkUrl? + +> `optional` **artworkUrl**: `string` + +#### author + +> **author**: `string` + +#### identifier + +> **identifier**: `string` + +#### isSeekable + +> **isSeekable**: `boolean` + +#### isStream + +> **isStream**: `boolean` + +#### isrc? + +> `optional` **isrc**: `string` + +#### length + +> **length**: `number` + +#### position + +> **position**: `number` + +#### sourceName + +> **sourceName**: `string` + +#### title + +> **title**: `string` + +#### uri? + +> `optional` **uri**: `string` + +#### Defined in + +[src/node/Rest.ts:18](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L18) + +*** + +### pluginInfo + +> **pluginInfo**: `unknown` + +#### Defined in + +[src/node/Rest.ts:31](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L31) diff --git a/src/content/docs/4.0.1/api/interfaces/TrackEndEvent.md b/src/content/docs/4.0.1/api/interfaces/TrackEndEvent.md new file mode 100644 index 0000000..45e7412 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/TrackEndEvent.md @@ -0,0 +1,73 @@ +--- +editUrl: false +next: false +prev: false +title: TrackEndEvent +slug: 4.0.1/apiinterfaces/trackendevent +--- + +## Extends + +* [`PlayerEvent`](/4.0.1/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`guildId`](/4.0.1/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:83](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L83) + +*** + +### op + +> **op**: [`EVENT`](/4.0.1/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`op`](/4.0.1/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L81) + +*** + +### reason + +> **reason**: [`TrackEndReason`](/4.0.1/api/type-aliases/trackendreason/) + +#### Defined in + +[src/guild/Player.ts:94](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L94) + +*** + +### track + +> **track**: [`Track`](/4.0.1/api/interfaces/track/) + +#### Defined in + +[src/guild/Player.ts:93](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L93) + +*** + +### type + +> **type**: `"TrackEndEvent"` + +#### Overrides + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`type`](/4.0.1/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:92](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L92) diff --git a/src/content/docs/4.0.1/api/interfaces/TrackExceptionEvent.md b/src/content/docs/4.0.1/api/interfaces/TrackExceptionEvent.md new file mode 100644 index 0000000..99e258f --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/TrackExceptionEvent.md @@ -0,0 +1,63 @@ +--- +editUrl: false +next: false +prev: false +title: TrackExceptionEvent +slug: 4.0.1/apiinterfaces/trackexceptionevent +--- + +## Extends + +* [`PlayerEvent`](/4.0.1/api/interfaces/playerevent/) + +## Properties + +### exception + +> **exception**: [`Exception`](/4.0.1/api/interfaces/exception/) + +#### Defined in + +[src/guild/Player.ts:105](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L105) + +*** + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`guildId`](/4.0.1/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:83](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L83) + +*** + +### op + +> **op**: [`EVENT`](/4.0.1/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`op`](/4.0.1/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L81) + +*** + +### type + +> **type**: `"TrackExceptionEvent"` + +#### Overrides + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`type`](/4.0.1/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:104](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L104) diff --git a/src/content/docs/4.0.1/api/interfaces/TrackResult.md b/src/content/docs/4.0.1/api/interfaces/TrackResult.md new file mode 100644 index 0000000..191a209 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/TrackResult.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: TrackResult +slug: 4.0.1/apiinterfaces/trackresult +--- + +## Properties + +### data + +> **data**: [`Track`](/4.0.1/api/interfaces/track/) + +#### Defined in + +[src/node/Rest.ts:52](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L52) + +*** + +### loadType + +> **loadType**: [`TRACK`](/4.0.1/api/enumerations/loadtype/#track) + +#### Defined in + +[src/node/Rest.ts:51](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L51) diff --git a/src/content/docs/4.0.1/api/interfaces/TrackStartEvent.md b/src/content/docs/4.0.1/api/interfaces/TrackStartEvent.md new file mode 100644 index 0000000..6137cc0 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/TrackStartEvent.md @@ -0,0 +1,63 @@ +--- +editUrl: false +next: false +prev: false +title: TrackStartEvent +slug: 4.0.1/apiinterfaces/trackstartevent +--- + +## Extends + +* [`PlayerEvent`](/4.0.1/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`guildId`](/4.0.1/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:83](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L83) + +*** + +### op + +> **op**: [`EVENT`](/4.0.1/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`op`](/4.0.1/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L81) + +*** + +### track + +> **track**: [`Track`](/4.0.1/api/interfaces/track/) + +#### Defined in + +[src/guild/Player.ts:88](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L88) + +*** + +### type + +> **type**: `"TrackStartEvent"` + +#### Overrides + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`type`](/4.0.1/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:87](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L87) diff --git a/src/content/docs/4.0.1/api/interfaces/TrackStuckEvent.md b/src/content/docs/4.0.1/api/interfaces/TrackStuckEvent.md new file mode 100644 index 0000000..67dcef5 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/TrackStuckEvent.md @@ -0,0 +1,73 @@ +--- +editUrl: false +next: false +prev: false +title: TrackStuckEvent +slug: 4.0.1/apiinterfaces/trackstuckevent +--- + +## Extends + +* [`PlayerEvent`](/4.0.1/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`guildId`](/4.0.1/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:83](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L83) + +*** + +### op + +> **op**: [`EVENT`](/4.0.1/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`op`](/4.0.1/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L81) + +*** + +### thresholdMs + +> **thresholdMs**: `number` + +#### Defined in + +[src/guild/Player.ts:100](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L100) + +*** + +### track + +> **track**: [`Track`](/4.0.1/api/interfaces/track/) + +#### Defined in + +[src/guild/Player.ts:99](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L99) + +*** + +### type + +> **type**: `"TrackStuckEvent"` + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`type`](/4.0.1/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:98](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L98) diff --git a/src/content/docs/4.0.1/api/interfaces/UpdatePlayerInfo.md b/src/content/docs/4.0.1/api/interfaces/UpdatePlayerInfo.md new file mode 100644 index 0000000..4862c23 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/UpdatePlayerInfo.md @@ -0,0 +1,37 @@ +--- +editUrl: false +next: false +prev: false +title: UpdatePlayerInfo +slug: 4.0.1/apiinterfaces/updateplayerinfo +--- + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/node/Rest.ts:130](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L130) + +*** + +### noReplace? + +> `optional` **noReplace**: `boolean` + +#### Defined in + +[src/node/Rest.ts:132](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L132) + +*** + +### playerOptions + +> **playerOptions**: [`UpdatePlayerOptions`](/4.0.1/api/interfaces/updateplayeroptions/) + +#### Defined in + +[src/node/Rest.ts:131](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L131) diff --git a/src/content/docs/4.0.1/api/interfaces/UpdatePlayerOptions.md b/src/content/docs/4.0.1/api/interfaces/UpdatePlayerOptions.md new file mode 100644 index 0000000..28cfbd2 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/UpdatePlayerOptions.md @@ -0,0 +1,87 @@ +--- +editUrl: false +next: false +prev: false +title: UpdatePlayerOptions +slug: 4.0.1/apiinterfaces/updateplayeroptions +--- + +## Properties + +### encodedTrack? + +> `optional` **encodedTrack**: `null` | `string` + +#### Defined in + +[src/node/Rest.ts:119](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L119) + +*** + +### endTime? + +> `optional` **endTime**: `number` + +#### Defined in + +[src/node/Rest.ts:122](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L122) + +*** + +### filters? + +> `optional` **filters**: [`FilterOptions`](/4.0.1/api/interfaces/filteroptions/) + +#### Defined in + +[src/node/Rest.ts:125](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L125) + +*** + +### identifier? + +> `optional` **identifier**: `string` + +#### Defined in + +[src/node/Rest.ts:120](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L120) + +*** + +### paused? + +> `optional` **paused**: `boolean` + +#### Defined in + +[src/node/Rest.ts:124](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L124) + +*** + +### position? + +> `optional` **position**: `number` + +#### Defined in + +[src/node/Rest.ts:121](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L121) + +*** + +### voice? + +> `optional` **voice**: [`LavalinkPlayerVoiceOptions`](/4.0.1/api/interfaces/lavalinkplayervoiceoptions/) + +#### Defined in + +[src/node/Rest.ts:126](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L126) + +*** + +### volume? + +> `optional` **volume**: `number` + +#### Defined in + +[src/node/Rest.ts:123](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L123) diff --git a/src/content/docs/4.0.1/api/interfaces/VoiceChannelOptions.md b/src/content/docs/4.0.1/api/interfaces/VoiceChannelOptions.md new file mode 100644 index 0000000..a735521 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/VoiceChannelOptions.md @@ -0,0 +1,57 @@ +--- +editUrl: false +next: false +prev: false +title: VoiceChannelOptions +slug: 4.0.1/apiinterfaces/voicechanneloptions +--- + +## Properties + +### channelId + +> **channelId**: `string` + +#### Defined in + +[src/Shoukaku.ts:94](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L94) + +*** + +### deaf? + +> `optional` **deaf**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:95](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L95) + +*** + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/Shoukaku.ts:92](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L92) + +*** + +### mute? + +> `optional` **mute**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:96](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L96) + +*** + +### shardId + +> **shardId**: `number` + +#### Defined in + +[src/Shoukaku.ts:93](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Shoukaku.ts#L93) diff --git a/src/content/docs/4.0.1/api/interfaces/WebSocketClosedEvent.md b/src/content/docs/4.0.1/api/interfaces/WebSocketClosedEvent.md new file mode 100644 index 0000000..37b1ee6 --- /dev/null +++ b/src/content/docs/4.0.1/api/interfaces/WebSocketClosedEvent.md @@ -0,0 +1,83 @@ +--- +editUrl: false +next: false +prev: false +title: WebSocketClosedEvent +slug: 4.0.1/apiinterfaces/websocketclosedevent +--- + +## Extends + +* [`PlayerEvent`](/4.0.1/api/interfaces/playerevent/) + +## Properties + +### byRemote + +> **byRemote**: `boolean` + +#### Defined in + +[src/guild/Player.ts:116](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L116) + +*** + +### code + +> **code**: `number` + +#### Defined in + +[src/guild/Player.ts:115](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L115) + +*** + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`guildId`](/4.0.1/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:83](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L83) + +*** + +### op + +> **op**: [`EVENT`](/4.0.1/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`op`](/4.0.1/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L81) + +*** + +### reason + +> **reason**: `string` + +#### Defined in + +[src/guild/Player.ts:117](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L117) + +*** + +### type + +> **type**: `"WebSocketClosedEvent"` + +#### Overrides + +[`PlayerEvent`](/4.0.1/api/interfaces/playerevent/).[`type`](/4.0.1/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:114](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L114) diff --git a/src/content/docs/4.0.1/api/namespaces/Connectors/classes/DiscordJS.md b/src/content/docs/4.0.1/api/namespaces/Connectors/classes/DiscordJS.md new file mode 100644 index 0000000..3e84ce2 --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Connectors/classes/DiscordJS.md @@ -0,0 +1,121 @@ +--- +editUrl: false +next: false +prev: false +title: DiscordJS +slug: 4.0.1/apinamespacesconnectorsclasses/discordjs +--- + +## Extends + +* [`Connector`](/4.0.1/api/classes/connector/) + +## Constructors + +### new DiscordJS() + +> **new DiscordJS**(`client`): [`DiscordJS`](/4.0.1/api/namespaces/connectors/classes/discordjs/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`DiscordJS`](/4.0.1/api/namespaces/connectors/classes/discordjs/) + +#### Inherited from + +[`Connector`](/4.0.1/api/classes/connector/).[`constructor`](/4.0.1/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`getId`](/4.0.1/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/DiscordJS.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`listen`](/4.0.1/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:14](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/DiscordJS.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`sendPacket`](/4.0.1/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:6](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/DiscordJS.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/4.0.1/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/4.0.1/api/classes/connector/) + +#### Inherited from + +[`Connector`](/4.0.1/api/classes/connector/).[`set`](/4.0.1/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/4.0.1/api/namespaces/Connectors/classes/Eris.md b/src/content/docs/4.0.1/api/namespaces/Connectors/classes/Eris.md new file mode 100644 index 0000000..1f8189d --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Connectors/classes/Eris.md @@ -0,0 +1,121 @@ +--- +editUrl: false +next: false +prev: false +title: Eris +slug: 4.0.1/apinamespacesconnectorsclasses/eris +--- + +## Extends + +* [`Connector`](/4.0.1/api/classes/connector/) + +## Constructors + +### new Eris() + +> **new Eris**(`client`): [`Eris`](/4.0.1/api/namespaces/connectors/classes/eris/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`Eris`](/4.0.1/api/namespaces/connectors/classes/eris/) + +#### Inherited from + +[`Connector`](/4.0.1/api/classes/connector/).[`constructor`](/4.0.1/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`getId`](/4.0.1/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/Eris.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/Eris.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`listen`](/4.0.1/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/Eris.ts:14](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/Eris.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`sendPacket`](/4.0.1/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/Eris.ts:6](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/Eris.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/4.0.1/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/4.0.1/api/classes/connector/) + +#### Inherited from + +[`Connector`](/4.0.1/api/classes/connector/).[`set`](/4.0.1/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/4.0.1/api/namespaces/Connectors/classes/OceanicJS.md b/src/content/docs/4.0.1/api/namespaces/Connectors/classes/OceanicJS.md new file mode 100644 index 0000000..3a86829 --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Connectors/classes/OceanicJS.md @@ -0,0 +1,121 @@ +--- +editUrl: false +next: false +prev: false +title: OceanicJS +slug: 4.0.1/apinamespacesconnectorsclasses/oceanicjs +--- + +## Extends + +* [`Connector`](/4.0.1/api/classes/connector/) + +## Constructors + +### new OceanicJS() + +> **new OceanicJS**(`client`): [`OceanicJS`](/4.0.1/api/namespaces/connectors/classes/oceanicjs/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`OceanicJS`](/4.0.1/api/namespaces/connectors/classes/oceanicjs/) + +#### Inherited from + +[`Connector`](/4.0.1/api/classes/connector/).[`constructor`](/4.0.1/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`getId`](/4.0.1/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/OceanicJS.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/)\[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`listen`](/4.0.1/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:14](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/OceanicJS.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/4.0.1/api/classes/connector/).[`sendPacket`](/4.0.1/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:6](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/libs/OceanicJS.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/4.0.1/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/4.0.1/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/4.0.1/api/classes/connector/) + +#### Inherited from + +[`Connector`](/4.0.1/api/classes/connector/).[`set`](/4.0.1/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/OpCodes.md b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/OpCodes.md new file mode 100644 index 0000000..4f5eacc --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/OpCodes.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: OpCodes +slug: 4.0.1/apinamespacesconstantsenumerations/opcodes +--- + +## Enumeration Members + +### EVENT + +> **EVENT**: `"event"` + +#### Defined in + +[src/Constants.ts:23](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L23) + +*** + +### PLAYER\_UPDATE + +> **PLAYER\_UPDATE**: `"playerUpdate"` + +#### Defined in + +[src/Constants.ts:21](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L21) + +*** + +### READY + +> **READY**: `"ready"` + +#### Defined in + +[src/Constants.ts:24](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L24) + +*** + +### STATS + +> **STATS**: `"stats"` + +#### Defined in + +[src/Constants.ts:22](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L22) diff --git a/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/State.md b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/State.md new file mode 100644 index 0000000..d317bb7 --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/State.md @@ -0,0 +1,67 @@ +--- +editUrl: false +next: false +prev: false +title: State +slug: 4.0.1/apinamespacesconstantsenumerations/state +--- + +## Enumeration Members + +### CONNECTED + +> **CONNECTED**: `2` + +#### Defined in + +[src/Constants.ts:7](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L7) + +*** + +### CONNECTING + +> **CONNECTING**: `0` + +#### Defined in + +[src/Constants.ts:5](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L5) + +*** + +### DISCONNECTED + +> **DISCONNECTED**: `5` + +#### Defined in + +[src/Constants.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L10) + +*** + +### DISCONNECTING + +> **DISCONNECTING**: `4` + +#### Defined in + +[src/Constants.ts:9](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L9) + +*** + +### NEARLY + +> **NEARLY**: `1` + +#### Defined in + +[src/Constants.ts:6](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L6) + +*** + +### RECONNECTING + +> **RECONNECTING**: `3` + +#### Defined in + +[src/Constants.ts:8](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L8) diff --git a/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/Versions.md b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/Versions.md new file mode 100644 index 0000000..dec4eb0 --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/Versions.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: Versions +slug: 4.0.1/apinamespacesconstantsenumerations/versions +--- + +## Enumeration Members + +### REST\_VERSION + +> **REST\_VERSION**: `4` + +#### Defined in + +[src/Constants.ts:28](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L28) + +*** + +### WEBSOCKET\_VERSION + +> **WEBSOCKET\_VERSION**: `4` + +#### Defined in + +[src/Constants.ts:29](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L29) diff --git a/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/VoiceState.md b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/VoiceState.md new file mode 100644 index 0000000..a4a3359 --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Constants/enumerations/VoiceState.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: VoiceState +slug: 4.0.1/apinamespacesconstantsenumerations/voicestate +--- + +## Enumeration Members + +### SESSION\_ENDPOINT\_MISSING + +> **SESSION\_ENDPOINT\_MISSING**: `2` + +#### Defined in + +[src/Constants.ts:16](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L16) + +*** + +### SESSION\_FAILED\_UPDATE + +> **SESSION\_FAILED\_UPDATE**: `3` + +#### Defined in + +[src/Constants.ts:17](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L17) + +*** + +### SESSION\_ID\_MISSING + +> **SESSION\_ID\_MISSING**: `1` + +#### Defined in + +[src/Constants.ts:15](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L15) + +*** + +### SESSION\_READY + +> **SESSION\_READY**: `0` + +#### Defined in + +[src/Constants.ts:14](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L14) diff --git a/src/content/docs/4.0.1/api/namespaces/Constants/variables/NodeDefaults.md b/src/content/docs/4.0.1/api/namespaces/Constants/variables/NodeDefaults.md new file mode 100644 index 0000000..43789d8 --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Constants/variables/NodeDefaults.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: NodeDefaults +slug: 4.0.1/apinamespacesconstantsvariables/nodedefaults +--- + +> `const` **NodeDefaults**: [`NodeOption`](/4.0.1/api/interfaces/nodeoption/) + +## Defined in + +[src/Constants.ts:49](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L49) diff --git a/src/content/docs/4.0.1/api/namespaces/Constants/variables/ShoukakuDefaults.md b/src/content/docs/4.0.1/api/namespaces/Constants/variables/ShoukakuDefaults.md new file mode 100644 index 0000000..0b13dfd --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Constants/variables/ShoukakuDefaults.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: ShoukakuDefaults +slug: 4.0.1/apinamespacesconstantsvariables/shoukakudefaults +--- + +> `const` **ShoukakuDefaults**: `Required`\<[`ShoukakuOptions`](/4.0.1/api/interfaces/shoukakuoptions/)> + +## Defined in + +[src/Constants.ts:32](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Constants.ts#L32) diff --git a/src/content/docs/4.0.1/api/namespaces/Utils/functions/mergeDefault.md b/src/content/docs/4.0.1/api/namespaces/Utils/functions/mergeDefault.md new file mode 100644 index 0000000..3d4f7af --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Utils/functions/mergeDefault.md @@ -0,0 +1,35 @@ +--- +editUrl: false +next: false +prev: false +title: mergeDefault +slug: 4.0.1/apinamespacesutilsfunctions/mergedefault +--- + +> **mergeDefault**\<`T`>(`def`, `given`): `Required`\<`T`> + +Merge the default options to user input + +## Type Parameters + +β€’ **T** *extends* `object` + +## Parameters + +β€’ **def**: `T` + +Default options + +β€’ **given**: `T` + +User input + +## Returns + +`Required`\<`T`> + +Merged options + +## Defined in + +[src/Utils.ts:9](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Utils.ts#L9) diff --git a/src/content/docs/4.0.1/api/namespaces/Utils/functions/wait.md b/src/content/docs/4.0.1/api/namespaces/Utils/functions/wait.md new file mode 100644 index 0000000..ebdb41f --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Utils/functions/wait.md @@ -0,0 +1,27 @@ +--- +editUrl: false +next: false +prev: false +title: wait +slug: 4.0.1/apinamespacesutilsfunctions/wait +--- + +> **wait**(`ms`): `Promise`\<`void`> + +Wait for a specific amount of time (timeout) + +## Parameters + +β€’ **ms**: `number` + +Time to wait in milliseconds + +## Returns + +`Promise`\<`void`> + +A promise that resolves in x seconds + +## Defined in + +[src/Utils.ts:30](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Utils.ts#L30) diff --git a/src/content/docs/4.0.1/api/namespaces/Utils/type-aliases/Constructor.md b/src/content/docs/4.0.1/api/namespaces/Utils/type-aliases/Constructor.md new file mode 100644 index 0000000..e84ca8a --- /dev/null +++ b/src/content/docs/4.0.1/api/namespaces/Utils/type-aliases/Constructor.md @@ -0,0 +1,25 @@ +--- +editUrl: false +next: false +prev: false +title: Constructor +slug: 4.0.1/apinamespacesutilstype-aliases/constructor +--- + +> **Constructor**\<`T`>: (...`args`) => `T` + +## Type Parameters + +β€’ **T** + +## Parameters + +β€’ ...**args**: `any`\[] + +## Returns + +`T` + +## Defined in + +[src/Utils.ts:1](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/Utils.ts#L1) diff --git a/src/content/docs/4.0.1/api/type-aliases/LavalinkResponse.md b/src/content/docs/4.0.1/api/type-aliases/LavalinkResponse.md new file mode 100644 index 0000000..5e29604 --- /dev/null +++ b/src/content/docs/4.0.1/api/type-aliases/LavalinkResponse.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: LavalinkResponse +slug: 4.0.1/apitype-aliases/lavalinkresponse +--- + +> **LavalinkResponse**: [`TrackResult`](/4.0.1/api/interfaces/trackresult/) | [`PlaylistResult`](/4.0.1/api/interfaces/playlistresult/) | [`SearchResult`](/4.0.1/api/interfaces/searchresult/) | [`EmptyResult`](/4.0.1/api/interfaces/emptyresult/) | [`ErrorResult`](/4.0.1/api/interfaces/errorresult/) + +## Defined in + +[src/node/Rest.ts:75](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L75) diff --git a/src/content/docs/4.0.1/api/type-aliases/NodeInfo.md b/src/content/docs/4.0.1/api/type-aliases/NodeInfo.md new file mode 100644 index 0000000..7e74ee5 --- /dev/null +++ b/src/content/docs/4.0.1/api/type-aliases/NodeInfo.md @@ -0,0 +1,47 @@ +--- +editUrl: false +next: false +prev: false +title: NodeInfo +slug: 4.0.1/apitype-aliases/nodeinfo +--- + +> **NodeInfo**: `object` + +## Type declaration + +### buildTime + +> **buildTime**: `number` + +### filters + +> **filters**: `string`\[] + +### git + +> **git**: `NodeInfoGit` + +### jvm + +> **jvm**: `string` + +### lavaplayer + +> **lavaplayer**: `string` + +### plugins + +> **plugins**: `NodeInfoPlugin`\[] + +### sourceManagers + +> **sourceManagers**: `string`\[] + +### version + +> **version**: `NodeInfoVersion` + +## Defined in + +[src/node/Node.ts:51](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Node.ts#L51) diff --git a/src/content/docs/4.0.1/api/type-aliases/PlayerEventType.md b/src/content/docs/4.0.1/api/type-aliases/PlayerEventType.md new file mode 100644 index 0000000..901b4ac --- /dev/null +++ b/src/content/docs/4.0.1/api/type-aliases/PlayerEventType.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: PlayerEventType +slug: 4.0.1/apitype-aliases/playereventtype +--- + +> **PlayerEventType**: `"TrackStartEvent"` | `"TrackEndEvent"` | `"TrackExceptionEvent"` | `"TrackStuckEvent"` | `"WebSocketClosedEvent"` + +## Defined in + +[src/guild/Player.ts:8](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L8) diff --git a/src/content/docs/4.0.1/api/type-aliases/Severity.md b/src/content/docs/4.0.1/api/type-aliases/Severity.md new file mode 100644 index 0000000..c5826d0 --- /dev/null +++ b/src/content/docs/4.0.1/api/type-aliases/Severity.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: Severity +slug: 4.0.1/apitype-aliases/severity +--- + +> **Severity**: `"common"` | `"suspicious"` | `"fault"` + +## Defined in + +[src/node/Rest.ts:6](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/node/Rest.ts#L6) diff --git a/src/content/docs/4.0.1/api/type-aliases/TrackEndReason.md b/src/content/docs/4.0.1/api/type-aliases/TrackEndReason.md new file mode 100644 index 0000000..54eab17 --- /dev/null +++ b/src/content/docs/4.0.1/api/type-aliases/TrackEndReason.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: TrackEndReason +slug: 4.0.1/apitype-aliases/trackendreason +--- + +> **TrackEndReason**: `"finished"` | `"loadFailed"` | `"stopped"` | `"replaced"` | `"cleanup"` + +## Defined in + +[src/guild/Player.ts:7](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/guild/Player.ts#L7) diff --git a/src/content/docs/4.0.1/api/variables/AllowedPackets.md b/src/content/docs/4.0.1/api/variables/AllowedPackets.md new file mode 100644 index 0000000..6076ac2 --- /dev/null +++ b/src/content/docs/4.0.1/api/variables/AllowedPackets.md @@ -0,0 +1,13 @@ +--- +editUrl: false +next: false +prev: false +title: AllowedPackets +slug: 4.0.1/apivariables/allowedpackets +--- + +> `const` **AllowedPackets**: `string`\[] + +## Defined in + +[src/connectors/Connector.ts:10](https://github.com/shipgirlproject/shoukaku/blob/396aa531096eda327ade0f473f9807576e9ae9df/src/connectors/Connector.ts#L10) diff --git a/src/content/docs/4.0.1/guides/1-getting-started.mdx b/src/content/docs/4.0.1/guides/1-getting-started.mdx new file mode 100644 index 0000000..e8850b6 --- /dev/null +++ b/src/content/docs/4.0.1/guides/1-getting-started.mdx @@ -0,0 +1,95 @@ +--- +title: Getting Started +description: Get started with Shoukaku. +slug: 4.0.1/guides/1-getting-started +--- + +import { PackageManagers } from "starlight-package-managers"; +import { Tabs, TabItem, Steps, Aside } from '@astrojs/starlight/components'; + +Shoukaku is a stable, powerful and updated wrapper around [Lavalink](https://lavalink.dev/). It is Discord library agnostic, and can add support for new Discord libraries using connectors. + +## Set up Shoukaku + + + 1. Install Shoukaku using your favorite package manager. + + + + 2. Initialize the library using one of the connectors. + + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.Eris(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.OceanicJS(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + + + + +## Other Resources + +* [Lavalink Docs](https://lavalink.dev) +* Example implementation using Discord.JS: [Kongou](https://github.com/Deivu/Kongou) +* Get support on the [Discord server](https://discord.gg/FVqbtGu) diff --git a/src/content/docs/4.0.1/guides/2-options.mdx b/src/content/docs/4.0.1/guides/2-options.mdx new file mode 100644 index 0000000..4ed57f4 --- /dev/null +++ b/src/content/docs/4.0.1/guides/2-options.mdx @@ -0,0 +1,19 @@ +--- +title: Configuration Options +description: Options for configuring behavior. +slug: 4.0.1/guides/2-options +--- + +| Option | Type | Default | Description | +| ---------------------- | ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| resume | boolean | false | Whether to resume a connection on disconnect to Lavalink (Server Side) (Note: DOES NOT RESUME WHEN THE LAVALINK SERVER DIES) | +| resumeTimeout | number | 30 | Timeout before resuming a connection **in seconds** | +| resumeByLibrary | boolean | false | Whether to resume the players by doing it in the library side (Client Side) (Note: TRIES TO RESUME REGARDLESS OF WHAT HAPPENED ON A LAVALINK SERVER) | +| reconnectTries | number | 3 | Number of times to try and reconnect to Lavalink before giving up | +| reconnectInterval | number | 5 | Timeout before trying to reconnect **in seconds** | +| restTimeout | number | 60 | Time to wait for a response from the Lavalink REST API before giving up **in seconds** | +| moveOnDisconnect | boolean | false | Whether to move players to a different Lavalink node when a node disconnects | +| userAgent | string | (auto) | User Agent to use when making requests to Lavalink | +| structures | Object\{rest?, player?} | \{} | Custom structures for shoukaku to use | +| voiceConnectionTimeout | number | 15 | Timeout before abort connection **in seconds** | +| nodeResolver | function | function | Custom node resolver if you want to have your own method of getting the ideal node | diff --git a/src/content/docs/4.0.1/guides/3-common.mdx b/src/content/docs/4.0.1/guides/3-common.mdx new file mode 100644 index 0000000..6479905 --- /dev/null +++ b/src/content/docs/4.0.1/guides/3-common.mdx @@ -0,0 +1,74 @@ +--- +title: Common Usage +description: Commonly used pieces of code. +slug: 4.0.1/guides/3-common +--- + +import { Steps } from '@astrojs/starlight/components'; + +## Join a voice channel, search for a track, play the track, then disconnect after 30 seconds + + + 1. Tell Lavalink to join a Discord voice channel. + + ```js + const player = await shoukaku.joinVoiceChannel({ + guildId: "your_guild_id", + channelId: "your_channel_id", + shardId: 0, // if unsharded it will always be zero (depending on your library implementation) + }); + ``` + 2. Search for a track, here we are searching via [SoundCloud](https://soundcloud.com), using the `scsearch:` prefix. The string after the prefix is the search query. + + ```js + const result = await player.node.rest.resolve("scsearch:snowhalation"); + if (!result?.tracks.length) return; + const metadata = result.tracks.shift(); + ``` + 3. Tell Lavalink to play the searched track. + + ```js + await player.playTrack({ track: metadata.encoded }); + ``` + 4. After 30 seconds, tell Lavalink to leave the voice channel. + + ```js + setTimeout(() => shoukaku.leaveVoiceChannel(player.guildId), 30000).unref(); + ``` + + +## Playing a track and changing a playback option + +Here we are changing the volume, you can do [other stuff](/4.0.1/api/classes/player#methods) as well. + +```js +await player.playTrack({ track: metadata.encoded }); +await player.setGlobalVolume(50); +``` + +You can also update the player without using helper functions + +```js +await player.update({ ...playerOptions }); +``` + +## Custom function to get the ideal node + +When executing any action, an API endpoint is called on a Lavalink node. When there are many nodes passed in the configuration, some logic is used to select the node to perform actions on. + +```js +const shoukaku = new Shoukaku( + new Connectors.DiscordJS(client), + [{ ...yourNodeOptions }], + { + ...yourShoukakuOptions, + nodeResolver: (nodes, connection) => getYourIdealNode(nodes, connection), + } +); + +const player = await shoukaku.joinVoiceChannel({ + guildId: "your_guild_id", + channelId: "your_channel_id", + shardId: 0, +}); +``` diff --git a/src/content/docs/4.0.1/guides/4-plugins.mdx b/src/content/docs/4.0.1/guides/4-plugins.mdx new file mode 100644 index 0000000..8c096e5 --- /dev/null +++ b/src/content/docs/4.0.1/guides/4-plugins.mdx @@ -0,0 +1,22 @@ +--- +title: Plugins +description: Plugins to extend Shoukaku. +slug: 4.0.1/guides/4-plugins +--- + +import { Aside } from '@astrojs/starlight/components'; + +## Plugins List + +Open a pull request to add your plugin here + +| Name | Link | Description | +| ------------ | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| Kazagumo | [Github](https://github.com/Takiyo0/Kazagumo) | A Shoukaku wrapper that have built-in queue system | +| stone-deezer | [NPM](https://www.npmjs.com/package/stone-deezer) | A plugin to simplify deezer links and then play it from available sources (**REQUIRES [KAZAGUMO](https://github.com/Takiyo0/Kazagumo)**) | + +## Creating Plugins + + diff --git a/src/content/docs/4.0.1/guides/5-updating-from-v3.mdx b/src/content/docs/4.0.1/guides/5-updating-from-v3.mdx new file mode 100644 index 0000000..f338593 --- /dev/null +++ b/src/content/docs/4.0.1/guides/5-updating-from-v3.mdx @@ -0,0 +1,120 @@ +--- +title: Updating from v3 to v4 +description: Changes in your code when updating from v3. +slug: 4.0.1/guides/5-updating-from-v3 +--- + +There are some major changes in Shoukaku v4. Here is some major changes that need to be made to your code. + +## Common usage + +### Getting a node + +As node resolving is configurable in v4, the method to do so has changed. + +```diff +- const node = shoukaku.getNode(); ++ const node = shoukaku.options.nodeResolver(shoukaku.nodes); +``` + +### Joining voice channels + +You now join voice channels using the main Shoukaku class, and not on the Node class + +```diff +-const player = await node.joinChannel({ ++const player = await shoukaku.joinVoiceChannel({ + guildId: "your_guild_id", + channelId: "your_channel_id", + shardId: 0, // if unsharded it will always be zero (depending on your library implementation) +}); +``` + +### Resolving tracks + +You can also use the player.node property after connecting to a voice channel to resolve tracks, but the old method would still work. + +```diff +-const result = await node.rest.resolve("scsearch:snowhalation"); ++const result = await player.node.rest.resolve("scsearch:snowhalation"); +``` + +### Playing tracks + +Play the track using the encoded metadata. + +```diff +-player.playTrack({ track: metadata.track }) ++await player.playTrack({ track: metadata.encoded }); +``` + +### Leaving voice channels + +Similar to joining voice channels, it is also on the main Shoukaku class. + +```diff +-player.connection.disconnect(); ++await shoukaku.leaveVoiceChannel(player.guildId); +``` + +## Other changes + +### Player methods + +Player methods now return promises. + +```js +await player.playTrack(...data); +await player.stopTrack(); +``` + +### Volume + +There are 2 kinds of volumes you can set, global and filter. + +The global volume accepts 0-1000 as it's values + +```js +await player.setGlobalVolume(100); +``` + +To check the current global volume + +```js +console.log(player.volume); +``` + +The filter volume accepts 0.0-5.0 as it's values + +```js +await player.setFilterVolume(1.0); +``` + +To check the current filter volume (filters.volume can be undefined) + +```js +console.log(player.filters.volume); +``` + +### Internal changes + +New variable in shoukaku class, which handles the "connection data" of discord only + +```js +console.log(shoukaku.connections); +``` + +Players are moved from `node.players` to `shoukaku.players` + +```js +console.log(shoukaku.players); +``` + +You can supply a custom node resolver for your own way of getting an ideal node by supplying the nodeResolver option in Shoukaku options + +```js +const ShoukakuOptions = { + ...yourShoukakuOptions, + nodeResolver: (nodes, connection) => getYourIdealNode(nodes, connection), +}; +``` diff --git a/src/content/docs/4.0.1/index.mdx b/src/content/docs/4.0.1/index.mdx new file mode 100644 index 0000000..7b97a2b --- /dev/null +++ b/src/content/docs/4.0.1/index.mdx @@ -0,0 +1,17 @@ +--- +title: Shoukaku Docs +description: A stable, powerful and updated wrapper around Lavalink. +hero: + tagline: A stable, powerful and updated wrapper around Lavalink. + image: + file: ../../../assets/4.0.1/shoukaku.webp + actions: + - text: Getting Started + link: /4.0.1/guides/1-getting-started/ + icon: right-arrow + variant: primary + - text: API Reference + link: /4.0.1/api/classes/shoukaku/ + icon: external +slug: 4.0.1 +--- diff --git a/src/content/docs/api/README.md b/src/content/docs/api/README.md new file mode 100644 index 0000000..a08aa22 --- /dev/null +++ b/src/content/docs/api/README.md @@ -0,0 +1,87 @@ +--- +editUrl: false +next: false +prev: false +title: "shoukaku" +--- + +## Namespaces + +- [Connectors](/api/namespaces/connectors/readme/) +- [Constants](/api/namespaces/constants/readme/) +- [Utils](/api/namespaces/utils/readme/) + +## Enumerations + +- [LoadType](/api/enumerations/loadtype/) + +## Classes + +- [Connection](/api/classes/connection/) +- [Connector](/api/classes/connector/) +- [Node](/api/classes/node/) +- [Player](/api/classes/player/) +- [Rest](/api/classes/rest/) +- [Shoukaku](/api/classes/shoukaku/) + +## Interfaces + +- [Address](/api/interfaces/address/) +- [Band](/api/interfaces/band/) +- [ChannelMixSettings](/api/interfaces/channelmixsettings/) +- [ConnectorMethods](/api/interfaces/connectormethods/) +- [DistortionSettings](/api/interfaces/distortionsettings/) +- [EmptyResult](/api/interfaces/emptyresult/) +- [ErrorResult](/api/interfaces/errorresult/) +- [Exception](/api/interfaces/exception/) +- [FilterOptions](/api/interfaces/filteroptions/) +- [FreqSettings](/api/interfaces/freqsettings/) +- [KaraokeSettings](/api/interfaces/karaokesettings/) +- [LavalinkPlayer](/api/interfaces/lavalinkplayer/) +- [LavalinkPlayerVoice](/api/interfaces/lavalinkplayervoice/) +- [LavalinkPlayerVoiceOptions](/api/interfaces/lavalinkplayervoiceoptions/) +- [LowPassSettings](/api/interfaces/lowpasssettings/) +- [NodeOption](/api/interfaces/nodeoption/) +- [NodeStats](/api/interfaces/nodestats/) +- [NonResumableHeaders](/api/interfaces/nonresumableheaders/) +- [PlayerEvent](/api/interfaces/playerevent/) +- [PlayerEvents](/api/interfaces/playerevents/) +- [PlayerUpdate](/api/interfaces/playerupdate/) +- [Playlist](/api/interfaces/playlist/) +- [PlaylistResult](/api/interfaces/playlistresult/) +- [ResumableHeaders](/api/interfaces/resumableheaders/) +- [RotationSettings](/api/interfaces/rotationsettings/) +- [RoutePlanner](/api/interfaces/routeplanner/) +- [SearchResult](/api/interfaces/searchresult/) +- [ServerUpdate](/api/interfaces/serverupdate/) +- [SessionInfo](/api/interfaces/sessioninfo/) +- [ShoukakuEvents](/api/interfaces/shoukakuevents/) +- [ShoukakuOptions](/api/interfaces/shoukakuoptions/) +- [StateUpdatePartial](/api/interfaces/stateupdatepartial/) +- [Structures](/api/interfaces/structures/) +- [TimescaleSettings](/api/interfaces/timescalesettings/) +- [Track](/api/interfaces/track/) +- [TrackEndEvent](/api/interfaces/trackendevent/) +- [TrackExceptionEvent](/api/interfaces/trackexceptionevent/) +- [TrackResult](/api/interfaces/trackresult/) +- [TrackStartEvent](/api/interfaces/trackstartevent/) +- [TrackStuckEvent](/api/interfaces/trackstuckevent/) +- [UpdatePlayerInfo](/api/interfaces/updateplayerinfo/) +- [UpdatePlayerOptions](/api/interfaces/updateplayeroptions/) +- [UpdatePlayerTrackOptions](/api/interfaces/updateplayertrackoptions/) +- [VoiceChannelOptions](/api/interfaces/voicechanneloptions/) +- [WebSocketClosedEvent](/api/interfaces/websocketclosedevent/) + +## Type Aliases + +- [LavalinkResponse](/api/type-aliases/lavalinkresponse/) +- [NodeInfo](/api/type-aliases/nodeinfo/) +- [PlayOptions](/api/type-aliases/playoptions/) +- [PlayerEventType](/api/type-aliases/playereventtype/) +- [ResumeOptions](/api/type-aliases/resumeoptions/) +- [Severity](/api/type-aliases/severity/) +- [TrackEndReason](/api/type-aliases/trackendreason/) + +## Variables + +- [AllowedPackets](/api/variables/allowedpackets/) diff --git a/src/content/docs/api/classes/Connection.md b/src/content/docs/api/classes/Connection.md new file mode 100644 index 0000000..a9d8e51 --- /dev/null +++ b/src/content/docs/api/classes/Connection.md @@ -0,0 +1,1654 @@ +--- +editUrl: false +next: false +prev: false +title: "Connection" +--- + +Represents a connection to a Discord voice channel + +## Extends + +- `EventEmitter` + +## Constructors + +### new Connection() + +> **new Connection**(`manager`, `options`): [`Connection`](/api/classes/connection/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +The manager of this connection + +β€’ **options**: [`VoiceChannelOptions`](/api/interfaces/voicechanneloptions/) + +The options to pass in connection creation + +#### Returns + +[`Connection`](/api/classes/connection/) + +#### Overrides + +`EventEmitter.constructor` + +#### Defined in + +[src/guild/Connection.ts:86](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L86) + +## Properties + +### channelId + +> **channelId**: `null` \| `string` + +VoiceChannelId of the connection that is being managed by this instance + +#### Defined in + +[src/guild/Connection.ts:39](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L39) + +*** + +### deafened + +> **deafened**: `boolean` + +Deafen status in connected voice channel + +#### Defined in + +[src/guild/Connection.ts:52](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L52) + +*** + +### guildId + +> **guildId**: `string` + +GuildId of the connection that is being managed by this instance + +#### Defined in + +[src/guild/Connection.ts:35](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L35) + +*** + +### lastChannelId + +> **lastChannelId**: `null` \| `string` + +Id of the voice channel where this instance was connected before the current channelId + +#### Defined in + +[src/guild/Connection.ts:56](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L56) + +*** + +### lastRegion + +> **lastRegion**: `null` \| `string` + +Last region of the connected voice channel + +#### Defined in + +[src/guild/Connection.ts:68](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L68) + +*** + +### manager + +> **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +The manager where this connection is on + +#### Defined in + +[src/guild/Connection.ts:31](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L31) + +*** + +### muted + +> **muted**: `boolean` + +Mute status in connected voice channel + +#### Defined in + +[src/guild/Connection.ts:48](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L48) + +*** + +### region + +> **region**: `null` \| `string` + +Region of connected voice channel + +#### Defined in + +[src/guild/Connection.ts:64](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L64) + +*** + +### serverUpdate + +> **serverUpdate**: `null` \| [`ServerUpdate`](/api/interfaces/serverupdate/) + +Cached serverUpdate event from Lavalink + +#### Defined in + +[src/guild/Connection.ts:72](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L72) + +*** + +### sessionId + +> **sessionId**: `null` \| `string` + +Id of the currently active voice channel connection + +#### Defined in + +[src/guild/Connection.ts:60](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L60) + +*** + +### shardId + +> **shardId**: `number` + +ShardId where this connection sends data on + +#### Defined in + +[src/guild/Connection.ts:44](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L44) + +*** + +### state + +> **state**: [`State`](/api/namespaces/constants/enumerations/state/) + +Connection state + +#### Defined in + +[src/guild/Connection.ts:76](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L76) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejectionSymbol` + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejections` + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for _all_`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects _all_ `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Inherited from + +`EventEmitter.defaultMaxListeners` + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Inherited from + +`EventEmitter.errorMonitor` + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol\]()? + +> `optional` **\[captureRejectionSymbol\]**\<`K`\>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` \| `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.[captureRejectionSymbol]` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`\>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.addListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### emit() + +> **emit**\<`K`\>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Inherited from + +`EventEmitter.emit` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### eventNames() + +> **eventNames**(): (`string` \| `symbol`)[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` \| `symbol`)[] + +#### Inherited from + +`EventEmitter.eventNames` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/connection/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`\>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Inherited from + +`EventEmitter.listeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +> **off**\<`K`\>(`eventName`, `listener`): `this` + +Alias for `emitter.removeListener()`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.off` + +#### Since + +v10.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:747 + +*** + +### on() + +> **on**\<`K`\>(`eventName`, `listener`): `this` + +Adds the `listener` function to the end of the listeners array for the event +named `eventName`. No checks are made to see if the `listener` has already +been added. Multiple calls passing the same combination of `eventName` and +`listener` will result in the `listener` being added, and called, multiple times. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.on('foo', () => console.log('a')); +myEE.prependListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.on` + +#### Since + +v0.1.101 + +#### Defined in + +node\_modules/@types/node/events.d.ts:629 + +*** + +### once() + +> **once**\<`K`\>(`eventName`, `listener`): `this` + +Adds a **one-time** `listener` function for the event named `eventName`. The +next time `eventName` is triggered, this listener is removed and then invoked. + +```js +server.once('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependOnceListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.once('foo', () => console.log('a')); +myEE.prependOnceListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.once` + +#### Since + +v0.3.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:659 + +*** + +### prependListener() + +> **prependListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds the `listener` function to the _beginning_ of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependOnceListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Inherited from + +`EventEmitter.rawListeners` + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` \| `symbol` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeAllListeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`\>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered _after_ the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### setDeaf() + +> **setDeaf**(`deaf`): `void` + +Set the deafen status for the current bot user + +#### Parameters + +β€’ **deaf**: `boolean` = `false` + +Boolean value to indicate whether to deafen or undeafen + +#### Returns + +`void` + +#### Default Value + +```ts +false +``` + +#### Defined in + +[src/guild/Connection.ts:107](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L107) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### setMute() + +> **setMute**(`mute`): `void` + +Set the mute status for the current bot user + +#### Parameters + +β€’ **mute**: `boolean` = `false` + +Boolean value to indicate whether to mute or unmute + +#### Returns + +`void` + +#### Default Value + +```ts +false +``` + +#### Defined in + +[src/guild/Connection.ts:117](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L117) + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Inherited from + +`EventEmitter.addAbortListener` + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +β€’ **name**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Inherited from + +`EventEmitter.getEventListeners` + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +The emitter to query + +β€’ **eventName**: `string` \| `symbol` + +The event name + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Inherited from + +`EventEmitter.on` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +##### Inherited from + +`EventEmitter.on` + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Inherited from + +`EventEmitter.once` + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Inherited from + +`EventEmitter.once` + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`\> \| `EventTarget`)[] + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/api/classes/Connector.md b/src/content/docs/api/classes/Connector.md new file mode 100644 index 0000000..b436d74 --- /dev/null +++ b/src/content/docs/api/classes/Connector.md @@ -0,0 +1,103 @@ +--- +editUrl: false +next: false +prev: false +title: "Connector" +--- + +## Extended by + +- [`DiscordJS`](/api/namespaces/connectors/classes/discordjs/) +- [`Eris`](/api/namespaces/connectors/classes/eris/) +- [`OceanicJS`](/api/namespaces/connectors/classes/oceanicjs/) +- [`Seyfert`](/api/namespaces/connectors/classes/seyfert/) + +## Constructors + +### new Connector() + +> **new Connector**(`client`): [`Connector`](/api/classes/connector/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`Connector`](/api/classes/connector/) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> `abstract` **getId**(): `string` + +#### Returns + +`string` + +#### Defined in + +[src/connectors/Connector.ts:41](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L41) + +*** + +### listen() + +> `abstract` **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/api/interfaces/nodeoption/)[] + +#### Returns + +`void` + +#### Defined in + +[src/connectors/Connector.ts:45](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L45) + +*** + +### sendPacket() + +> `abstract` **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Defined in + +[src/connectors/Connector.ts:43](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L43) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/api/classes/connector/) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/api/classes/Node.md b/src/content/docs/api/classes/Node.md new file mode 100644 index 0000000..dbbbbee --- /dev/null +++ b/src/content/docs/api/classes/Node.md @@ -0,0 +1,1650 @@ +--- +editUrl: false +next: false +prev: false +title: "Node" +--- + +Represents a Lavalink node + +## Extends + +- `EventEmitter` + +## Constructors + +### new Node() + +> **new Node**(`manager`, `options`): [`Node`](/api/classes/node/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +Shoukaku instance + +β€’ **options**: [`NodeOption`](/api/interfaces/nodeoption/) + +Options on creating this node + +#### Returns + +[`Node`](/api/classes/node/) + +#### Overrides + +`EventEmitter.constructor` + +#### Defined in + +[src/node/Node.ts:146](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L146) + +## Properties + +### group? + +> `readonly` `optional` **group**: `string` + +Group in which this node is contained + +#### Defined in + +[src/node/Node.ts:92](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L92) + +*** + +### info + +> **info**: `null` \| [`NodeInfo`](/api/type-aliases/nodeinfo/) + +Information about lavalink node + +#### Defined in + +[src/node/Node.ts:120](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L120) + +*** + +### manager + +> `readonly` **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +Shoukaku class + +#### Defined in + +[src/node/Node.ts:80](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L80) + +*** + +### name + +> `readonly` **name**: `string` + +Name of this node + +#### Defined in + +[src/node/Node.ts:88](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L88) + +*** + +### reconnects + +> **reconnects**: `number` + +The number of reconnects to Lavalink + +#### Defined in + +[src/node/Node.ts:108](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L108) + +*** + +### rest + +> `readonly` **rest**: [`Rest`](/api/classes/rest/) + +Lavalink rest API + +#### Defined in + +[src/node/Node.ts:84](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L84) + +*** + +### sessionId + +> **sessionId**: `null` \| `string` + +SessionId of this Lavalink connection (not to be confused with Discord SessionId) + +#### Defined in + +[src/node/Node.ts:128](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L128) + +*** + +### state + +> **state**: [`State`](/api/namespaces/constants/enumerations/state/) + +The state of this connection + +#### Defined in + +[src/node/Node.ts:112](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L112) + +*** + +### stats + +> **stats**: `null` \| [`NodeStats`](/api/interfaces/nodestats/) + +Statistics from Lavalink + +#### Defined in + +[src/node/Node.ts:116](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L116) + +*** + +### version + +> `readonly` **version**: `string` + +Websocket version this node will use + +#### Defined in + +[src/node/Node.ts:96](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L96) + +*** + +### ws + +> **ws**: `null` \| `WebSocket` + +Websocket instance + +#### Defined in + +[src/node/Node.ts:124](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L124) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejectionSymbol` + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Inherited from + +`EventEmitter.captureRejections` + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for _all_`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects _all_ `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Inherited from + +`EventEmitter.defaultMaxListeners` + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Inherited from + +`EventEmitter.errorMonitor` + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol\]()? + +> `optional` **\[captureRejectionSymbol\]**\<`K`\>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` \| `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.[captureRejectionSymbol]` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`\>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.addListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### connect() + +> **connect**(): `void` + +Connect to Lavalink + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:196](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L196) + +*** + +### disconnect() + +> **disconnect**(`code`, `reason`?): `void` + +Disconnect from lavalink + +#### Parameters + +β€’ **code**: `number` + +Status code + +β€’ **reason?**: `string` + +Reason for disconnect + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:226](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L226) + +*** + +### emit() + +> **emit**\<`K`\>(`eventName`, ...`args`): `boolean` + +Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments +to each. + +Returns `true` if the event had listeners, `false` otherwise. + +```js +import { EventEmitter } from 'node:events'; +const myEmitter = new EventEmitter(); + +// First listener +myEmitter.on('event', function firstListener() { + console.log('Helloooo! first listener'); +}); +// Second listener +myEmitter.on('event', function secondListener(arg1, arg2) { + console.log(`event with parameters ${arg1}, ${arg2} in second listener`); +}); +// Third listener +myEmitter.on('event', function thirdListener(...args) { + const parameters = args.join(', '); + console.log(`event with parameters ${parameters} in third listener`); +}); + +console.log(myEmitter.listeners('event')); + +myEmitter.emit('event', 1, 2, 3, 4, 5); + +// Prints: +// [ +// [Function: firstListener], +// [Function: secondListener], +// [Function: thirdListener] +// ] +// Helloooo! first listener +// event with parameters 1, 2 in second listener +// event with parameters 1, 2, 3, 4, 5 in third listener +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`boolean` + +#### Inherited from + +`EventEmitter.emit` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:859 + +*** + +### error() + +> **error**(`error`): `void` + +To emit error events easily + +#### Parameters + +β€’ **error**: `unknown` + +error message + +#### Returns + +`void` + +#### Defined in + +[src/node/Node.ts:318](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L318) + +*** + +### eventNames() + +> **eventNames**(): (`string` \| `symbol`)[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` \| `symbol`)[] + +#### Inherited from + +`EventEmitter.eventNames` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/node/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`\>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Inherited from + +`EventEmitter.listeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +> **off**\<`K`\>(`eventName`, `listener`): `this` + +Alias for `emitter.removeListener()`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.off` + +#### Since + +v10.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:747 + +*** + +### on() + +> **on**\<`K`\>(`eventName`, `listener`): `this` + +Adds the `listener` function to the end of the listeners array for the event +named `eventName`. No checks are made to see if the `listener` has already +been added. Multiple calls passing the same combination of `eventName` and +`listener` will result in the `listener` being added, and called, multiple times. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.on('foo', () => console.log('a')); +myEE.prependListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.on` + +#### Since + +v0.1.101 + +#### Defined in + +node\_modules/@types/node/events.d.ts:629 + +*** + +### once() + +> **once**\<`K`\>(`eventName`, `listener`): `this` + +Adds a **one-time** `listener` function for the event named `eventName`. The +next time `eventName` is triggered, this listener is removed and then invoked. + +```js +server.once('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +By default, event listeners are invoked in the order they are added. The `emitter.prependOnceListener()` method can be used as an alternative to add the +event listener to the beginning of the listeners array. + +```js +import { EventEmitter } from 'node:events'; +const myEE = new EventEmitter(); +myEE.once('foo', () => console.log('a')); +myEE.prependOnceListener('foo', () => console.log('b')); +myEE.emit('foo'); +// Prints: +// b +// a +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.once` + +#### Since + +v0.3.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:659 + +*** + +### prependListener() + +> **prependListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds the `listener` function to the _beginning_ of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.prependOnceListener` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Inherited from + +`EventEmitter.rawListeners` + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` \| `symbol` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeAllListeners` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`\>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered _after_ the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.removeListener` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Inherited from + +`EventEmitter.addAbortListener` + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +β€’ **name**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Inherited from + +`EventEmitter.getEventListeners` + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.getMaxListeners` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +The emitter to query + +β€’ **eventName**: `string` \| `symbol` + +The event name + +#### Returns + +`number` + +#### Inherited from + +`EventEmitter.listenerCount` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Inherited from + +`EventEmitter.on` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +##### Inherited from + +`EventEmitter.on` + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Inherited from + +`EventEmitter.once` + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Inherited from + +`EventEmitter.once` + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`\> \| `EventTarget`)[] + +#### Returns + +`void` + +#### Inherited from + +`EventEmitter.setMaxListeners` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/api/classes/Player.md b/src/content/docs/api/classes/Player.md new file mode 100644 index 0000000..01ce298 --- /dev/null +++ b/src/content/docs/api/classes/Player.md @@ -0,0 +1,1806 @@ +--- +editUrl: false +next: false +prev: false +title: "Player" +--- + +Wrapper object around Lavalink + +## Extends + +- `EventEmitter` + +## Constructors + +### new Player() + +> **new Player**(`guildId`, `node`): [`Player`](/api/classes/player/) + +#### Parameters + +β€’ **guildId**: `string` + +β€’ **node**: [`Node`](/api/classes/node/) + +An instance of Node (Lavalink API wrapper) + +#### Returns + +[`Player`](/api/classes/player/) + +#### Defined in + +[src/guild/Player.ts:211](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L211) + +## Properties + +### filters + +> **filters**: [`FilterOptions`](/api/interfaces/filteroptions/) + +Filters on current track + +#### Defined in + +[src/guild/Player.ts:206](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L206) + +*** + +### guildId + +> `readonly` **guildId**: `string` + +GuildId of this player + +#### Defined in + +[src/guild/Player.ts:178](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L178) + +*** + +### node + +> **node**: [`Node`](/api/classes/node/) + +Lavalink node this player is connected to + +#### Defined in + +[src/guild/Player.ts:182](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L182) + +*** + +### paused + +> **paused**: `boolean` + +Pause status in current player + +#### Defined in + +[src/guild/Player.ts:194](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L194) + +*** + +### ping + +> **ping**: `number` + +Ping represents the number of milliseconds between heartbeat and ack. Could be `-1` if not connected + +#### Defined in + +[src/guild/Player.ts:198](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L198) + +*** + +### position + +> **position**: `number` + +Position in ms of current track + +#### Defined in + +[src/guild/Player.ts:202](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L202) + +*** + +### track + +> **track**: `null` \| `string` + +Base64 encoded data of the current track + +#### Defined in + +[src/guild/Player.ts:186](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L186) + +*** + +### volume + +> **volume**: `number` + +Global volume of the player + +#### Defined in + +[src/guild/Player.ts:190](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L190) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for _all_`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects _all_ `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Accessors + +### data + +> `get` **data**(): [`UpdatePlayerInfo`](/api/interfaces/updateplayerinfo/) + +#### Returns + +[`UpdatePlayerInfo`](/api/interfaces/updateplayerinfo/) + +#### Defined in + +[src/guild/Player.ts:223](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L223) + +## Methods + +### \[captureRejectionSymbol\]()? + +> `optional` **\[captureRejectionSymbol\]**\<`K`\>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` \| `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`\>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### clearFilters() + +> **clearFilters**(): `Promise`\<`void`\> + +Clear all filters applied to the currently playing track + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:414](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L414) + +*** + +### destroy() + +> **destroy**(): `Promise`\<`void`\> + +Destroys the player in remote lavalink side + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:278](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L278) + +*** + +### emit() + +> **emit**(`event`, ...`args`): `boolean` + +#### Parameters + +β€’ **event**: `string` \| `symbol` + +β€’ ...**args**: `unknown`[] + +#### Returns + +`boolean` + +#### Defined in + +[src/guild/Player.ts:167](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L167) + +*** + +### eventNames() + +> **eventNames**(): (`string` \| `symbol`)[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` \| `symbol`)[] + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/player/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### listenerCount() + +> **listenerCount**\<`K`\>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### move() + +> **move**(`name`?): `Promise`\<`boolean`\> + +Move player to another node + +#### Parameters + +β€’ **name?**: `string` + +Name of node to move to, or the default ideal node + +#### Returns + +`Promise`\<`boolean`\> + +true if the player was moved, false if not + +#### Defined in + +[src/guild/Player.ts:249](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L249) + +*** + +### off() + +> **off**\<`K`\>(`event`, `listener`): `this` + +#### Type Parameters + +β€’ **K** *extends* keyof [`PlayerEvents`](/api/interfaces/playerevents/) + +#### Parameters + +β€’ **event**: `K` + +β€’ **listener** + +#### Returns + +`this` + +#### Defined in + +[src/guild/Player.ts:166](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L166) + +*** + +### on() + +> **on**\<`K`\>(`event`, `listener`): `this` + +#### Type Parameters + +β€’ **K** *extends* keyof [`PlayerEvents`](/api/interfaces/playerevents/) + +#### Parameters + +β€’ **event**: `K` + +β€’ **listener** + +#### Returns + +`this` + +#### Defined in + +[src/guild/Player.ts:164](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L164) + +*** + +### onPlayerUpdate() + +> **onPlayerUpdate**(`json`): `void` + +Handle player update data + +#### Parameters + +β€’ **json** + +β€’ **json.state** + +β€’ **json.state.ping**: `number` + +β€’ **json.state.position**: `number` + +#### Returns + +`void` + +#### Defined in + +[src/guild/Player.ts:513](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L513) + +*** + +### once() + +> **once**\<`K`\>(`event`, `listener`): `this` + +#### Type Parameters + +β€’ **K** *extends* keyof [`PlayerEvents`](/api/interfaces/playerevents/) + +#### Parameters + +β€’ **event**: `K` + +β€’ **listener** + +#### Returns + +`this` + +#### Defined in + +[src/guild/Player.ts:165](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L165) + +*** + +### playTrack() + +> **playTrack**(`playerOptions`, `noReplace`): `Promise`\<`void`\> + +Play a new track + +#### Parameters + +β€’ **playerOptions**: [`PlayOptions`](/api/type-aliases/playoptions/) + +β€’ **noReplace**: `boolean` = `false` + +Set it to true if you don't want to replace the currently playing track + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:287](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L287) + +*** + +### prependListener() + +> **prependListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds the `listener` function to the _beginning_ of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` \| `symbol` + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`\>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered _after_ the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### resume() + +> **resume**(`options`, `noReplace`): `Promise`\<`void`\> + +Resumes the current track + +#### Parameters + +β€’ **options**: [`ResumeOptions`](/api/type-aliases/resumeoptions/) = `{}` + +An object that conforms to ResumeOptions that specify behavior on resuming + +β€’ **noReplace**: `boolean` = `false` + +Set it to true if you don't want to replace the currently playing track + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:434](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L434) + +*** + +### seekTo() + +> **seekTo**(`position`): `Promise`\<`void`\> + +Seek to a specific time in the currently playing track + +#### Parameters + +β€’ **position**: `number` + +Position to seek to in milliseconds + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:310](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L310) + +*** + +### setChannelMix() + +> **setChannelMix**(`channelMix`?): `Promise`\<`void`\> + +Change the channel mix settings applied to the currently playing track + +#### Parameters + +β€’ **channelMix?**: [`ChannelMixSettings`](/api/interfaces/channelmixsettings/) + +An object that conforms to ChannelMixSettings that defines how much the left and right channels affect each other (setting all factors to 0.5 causes both channels to get the same audio) + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:391](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L391) + +*** + +### setDistortion() + +> **setDistortion**(`distortion`?): `Promise`\<`void`\> + +Change the distortion settings applied to the currently playing track + +#### Parameters + +β€’ **distortion?**: [`DistortionSettings`](/api/interfaces/distortionsettings/) + +An object that conforms to DistortionSettings that defines distortions in the audio + +#### Returns + +`Promise`\<`void`\> + +The current player instance + +#### Defined in + +[src/guild/Player.ts:383](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L383) + +*** + +### setEqualizer() + +> **setEqualizer**(`equalizer`): `Promise`\<`void`\> + +Change the equalizer settings applied to the currently playing track + +#### Parameters + +β€’ **equalizer**: [`Band`](/api/interfaces/band/)[] + +An array of objects that conforms to the Bands type that define volumes at different frequencies + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:334](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L334) + +*** + +### setFilterVolume() + +> **setFilterVolume**(`volume`): `Promise`\<`void`\> + +Sets the filter volume of the player + +#### Parameters + +β€’ **volume**: `number` + +Target volume 0.0-5.0 + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:326](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L326) + +*** + +### setFilters() + +> **setFilters**(`filters`): `Promise`\<`void`\> + +Change the all filter settings applied to the currently playing track + +#### Parameters + +β€’ **filters**: [`FilterOptions`](/api/interfaces/filteroptions/) + +An object that conforms to FilterOptions that defines all filters to apply/modify + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:407](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L407) + +*** + +### setGlobalVolume() + +> **setGlobalVolume**(`volume`): `Promise`\<`void`\> + +Sets the global volume of the player + +#### Parameters + +β€’ **volume**: `number` + +Target volume 0-1000 + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:318](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L318) + +*** + +### setKaraoke() + +> **setKaraoke**(`karaoke`?): `Promise`\<`void`\> + +Change the karaoke settings applied to the currently playing track + +#### Parameters + +β€’ **karaoke?**: [`KaraokeSettings`](/api/interfaces/karaokesettings/) + +An object that conforms to the KaraokeSettings type that defines a range of frequencies to mute + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:342](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L342) + +*** + +### setLowPass() + +> **setLowPass**(`lowPass`?): `Promise`\<`void`\> + +Change the low pass settings applied to the currently playing track + +#### Parameters + +β€’ **lowPass?**: [`LowPassSettings`](/api/interfaces/lowpasssettings/) + +An object that conforms to LowPassSettings that defines the amount of suppression on higher frequencies + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:399](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L399) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### setPaused() + +> **setPaused**(`paused`): `Promise`\<`void`\> + +Pause or unpause the currently playing track + +#### Parameters + +β€’ **paused**: `boolean` = `true` + +Boolean value to specify whether to pause or unpause the current bot user + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:302](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L302) + +*** + +### setRotation() + +> **setRotation**(`rotation`?): `Promise`\<`void`\> + +Change the rotation settings applied to the currently playing track + +#### Parameters + +β€’ **rotation?**: [`RotationSettings`](/api/interfaces/rotationsettings/) + +An object that conforms to the RotationSettings type that defines the frequency of audio rotating round the listener + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:374](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L374) + +*** + +### setTimescale() + +> **setTimescale**(`timescale`?): `Promise`\<`void`\> + +Change the timescale settings applied to the currently playing track + +#### Parameters + +β€’ **timescale?**: [`TimescaleSettings`](/api/interfaces/timescalesettings/) + +An object that conforms to the TimescaleSettings type that defines the time signature to play the audio at + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:350](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L350) + +*** + +### setTremolo() + +> **setTremolo**(`tremolo`?): `Promise`\<`void`\> + +Change the tremolo settings applied to the currently playing track + +#### Parameters + +β€’ **tremolo?**: [`FreqSettings`](/api/interfaces/freqsettings/) + +An object that conforms to the FreqSettings type that defines an oscillation in volume + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:358](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L358) + +*** + +### setVibrato() + +> **setVibrato**(`vibrato`?): `Promise`\<`void`\> + +Change the vibrato settings applied to the currently playing track + +#### Parameters + +β€’ **vibrato?**: [`FreqSettings`](/api/interfaces/freqsettings/) + +An object that conforms to the FreqSettings type that defines an oscillation in pitch + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:366](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L366) + +*** + +### stopTrack() + +> **stopTrack**(): `Promise`\<`void`\> + +Stop the currently playing track + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:294](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L294) + +*** + +### update() + +> **update**(`playerOptions`, `noReplace`): `Promise`\<`void`\> + +If you want to update the whole player yourself, sends raw update player info to lavalink + +#### Parameters + +β€’ **playerOptions**: [`UpdatePlayerOptions`](/api/interfaces/updateplayeroptions/) + +Options to update the player data + +β€’ **noReplace**: `boolean` = `false` + +Set it to true if you don't want to replace the currently playing track + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/guild/Player.ts:456](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L456) + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +β€’ **name**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +#### Returns + +`number` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +The emitter to query + +β€’ **eventName**: `string` \| `symbol` + +The event name + +#### Returns + +`number` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`\> \| `EventTarget`)[] + +#### Returns + +`void` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/api/classes/Rest.md b/src/content/docs/api/classes/Rest.md new file mode 100644 index 0000000..5e53e3e --- /dev/null +++ b/src/content/docs/api/classes/Rest.md @@ -0,0 +1,268 @@ +--- +editUrl: false +next: false +prev: false +title: "Rest" +--- + +Wrapper around Lavalink REST API + +## Constructors + +### new Rest() + +> **new Rest**(`node`, `options`): [`Rest`](/api/classes/rest/) + +#### Parameters + +β€’ **node**: [`Node`](/api/classes/node/) + +An instance of Node + +β€’ **options**: [`NodeOption`](/api/interfaces/nodeoption/) + +The options to initialize this rest class + +#### Returns + +[`Rest`](/api/classes/rest/) + +#### Defined in + +[src/node/Rest.ts:192](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L192) + +## Methods + +### decode() + +> **decode**(`track`): `Promise`\<`undefined` \| [`Track`](/api/interfaces/track/)\> + +Decode a track + +#### Parameters + +β€’ **track**: `string` + +Encoded track + +#### Returns + +`Promise`\<`undefined` \| [`Track`](/api/interfaces/track/)\> + +Promise that resolves to a track + +#### Defined in + +[src/node/Rest.ts:221](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L221) + +*** + +### destroyPlayer() + +> **destroyPlayer**(`guildId`): `Promise`\<`void`\> + +Deletes a Lavalink player + +#### Parameters + +β€’ **guildId**: `string` + +guildId where this player is + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/node/Rest.ts:275](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L275) + +*** + +### getLavalinkInfo() + +> **getLavalinkInfo**(): `Promise`\<`undefined` \| [`NodeInfo`](/api/type-aliases/nodeinfo/)\> + +Get Lavalink info + +#### Returns + +`Promise`\<`undefined` \| [`NodeInfo`](/api/type-aliases/nodeinfo/)\> + +#### Defined in + +[src/node/Rest.ts:344](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L344) + +*** + +### getPlayer() + +> **getPlayer**(`guildId`): `Promise`\<`undefined` \| [`LavalinkPlayer`](/api/interfaces/lavalinkplayer/)\> + +Gets all the player with the specified sessionId + +#### Parameters + +β€’ **guildId**: `string` + +#### Returns + +`Promise`\<`undefined` \| [`LavalinkPlayer`](/api/interfaces/lavalinkplayer/)\> + +Promise that resolves to an array of Lavalink players + +#### Defined in + +[src/node/Rest.ts:245](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L245) + +*** + +### getPlayers() + +> **getPlayers**(): `Promise`\<[`LavalinkPlayer`](/api/interfaces/lavalinkplayer/)[]\> + +Gets all the player with the specified sessionId + +#### Returns + +`Promise`\<[`LavalinkPlayer`](/api/interfaces/lavalinkplayer/)[]\> + +Promise that resolves to an array of Lavalink players + +#### Defined in + +[src/node/Rest.ts:233](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L233) + +*** + +### getRoutePlannerStatus() + +> **getRoutePlannerStatus**(): `Promise`\<`undefined` \| [`RoutePlanner`](/api/interfaces/routeplanner/)\> + +Get routeplanner status from Lavalink + +#### Returns + +`Promise`\<`undefined` \| [`RoutePlanner`](/api/interfaces/routeplanner/)\> + +Promise that resolves to a routeplanner response + +#### Defined in + +[src/node/Rest.ts:317](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L317) + +*** + +### resolve() + +> **resolve**(`identifier`): `Promise`\<`undefined` \| [`LavalinkResponse`](/api/type-aliases/lavalinkresponse/)\> + +Resolve a track + +#### Parameters + +β€’ **identifier**: `string` + +Track ID + +#### Returns + +`Promise`\<`undefined` \| [`LavalinkResponse`](/api/type-aliases/lavalinkresponse/)\> + +A promise that resolves to a Lavalink response + +#### Defined in + +[src/node/Rest.ts:208](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L208) + +*** + +### stats() + +> **stats**(): `Promise`\<`undefined` \| [`NodeStats`](/api/interfaces/nodestats/)\> + +Gets the status of this node + +#### Returns + +`Promise`\<`undefined` \| [`NodeStats`](/api/interfaces/nodestats/)\> + +Promise that resolves to a node stats response + +#### Defined in + +[src/node/Rest.ts:305](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L305) + +*** + +### unmarkFailedAddress() + +> **unmarkFailedAddress**(`address`): `Promise`\<`void`\> + +Release blacklisted IP address into pool of IPs + +#### Parameters + +β€’ **address**: `string` + +IP address + +#### Returns + +`Promise`\<`void`\> + +#### Defined in + +[src/node/Rest.ts:329](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L329) + +*** + +### updatePlayer() + +> **updatePlayer**(`data`): `Promise`\<`undefined` \| [`LavalinkPlayer`](/api/interfaces/lavalinkplayer/)\> + +Updates a Lavalink player + +#### Parameters + +β€’ **data**: [`UpdatePlayerInfo`](/api/interfaces/updateplayerinfo/) + +SessionId from Discord + +#### Returns + +`Promise`\<`undefined` \| [`LavalinkPlayer`](/api/interfaces/lavalinkplayer/)\> + +Promise that resolves to a Lavalink player + +#### Defined in + +[src/node/Rest.ts:258](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L258) + +*** + +### updateSession() + +> **updateSession**(`resuming`?, `timeout`?): `Promise`\<`undefined` \| [`SessionInfo`](/api/interfaces/sessioninfo/)\> + +Updates the session with a resume boolean and timeout + +#### Parameters + +β€’ **resuming?**: `boolean` + +Whether resuming is enabled for this session or not + +β€’ **timeout?**: `number` + +Timeout to wait for resuming + +#### Returns + +`Promise`\<`undefined` \| [`SessionInfo`](/api/interfaces/sessioninfo/)\> + +Promise that resolves to a Lavalink player + +#### Defined in + +[src/node/Rest.ts:289](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L289) diff --git a/src/content/docs/api/classes/Shoukaku.md b/src/content/docs/api/classes/Shoukaku.md new file mode 100644 index 0000000..255751f --- /dev/null +++ b/src/content/docs/api/classes/Shoukaku.md @@ -0,0 +1,1406 @@ +--- +editUrl: false +next: false +prev: false +title: "Shoukaku" +--- + +Main Shoukaku class + +## Extends + +- `EventEmitter` + +## Constructors + +### new Shoukaku() + +> **new Shoukaku**(`connector`, `nodes`, `options`): [`Shoukaku`](/api/classes/shoukaku/) + +#### Parameters + +β€’ **connector**: [`Connector`](/api/classes/connector/) + +A Discord library connector + +β€’ **nodes**: [`NodeOption`](/api/interfaces/nodeoption/)[] + +An array that conforms to the NodeOption type that specifies nodes to connect to + +β€’ **options**: [`ShoukakuOptions`](/api/interfaces/shoukakuoptions/) = `{}` + +Options to pass to create this Shoukaku instance + +#### Returns + +[`Shoukaku`](/api/classes/shoukaku/) + +#### Defined in + +[src/Shoukaku.ts:187](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L187) + +## Properties + +### connections + +> `readonly` **connections**: `Map`\<`string`, [`Connection`](/api/classes/connection/)\> + +Voice connections being handled + +#### Defined in + +[src/Shoukaku.ts:163](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L163) + +*** + +### connector + +> `readonly` **connector**: [`Connector`](/api/classes/connector/) + +Discord library connector + +#### Defined in + +[src/Shoukaku.ts:151](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L151) + +*** + +### id + +> **id**: `null` \| `string` + +Shoukaku instance identifier + +#### Defined in + +[src/Shoukaku.ts:171](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L171) + +*** + +### nodes + +> `readonly` **nodes**: `Map`\<`string`, [`Node`](/api/classes/node/)\> + +Connected Lavalink nodes + +#### Defined in + +[src/Shoukaku.ts:159](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L159) + +*** + +### options + +> `readonly` **options**: `Required`\<[`ShoukakuOptions`](/api/interfaces/shoukakuoptions/)\> + +Shoukaku options + +#### Defined in + +[src/Shoukaku.ts:155](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L155) + +*** + +### players + +> `readonly` **players**: `Map`\<`string`, [`Player`](/api/classes/player/)\> + +Players being handled + +#### Defined in + +[src/Shoukaku.ts:167](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L167) + +*** + +### captureRejectionSymbol + +> `readonly` `static` **captureRejectionSymbol**: *typeof* [`captureRejectionSymbol`](/api/classes/connection/#capturerejectionsymbol) + +Value: `Symbol.for('nodejs.rejection')` + +See how to write a custom `rejection handler`. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:452 + +*** + +### captureRejections + +> `static` **captureRejections**: `boolean` + +Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) + +Change the default `captureRejections` option on all new `EventEmitter` objects. + +#### Since + +v13.4.0, v12.16.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:459 + +*** + +### defaultMaxListeners + +> `static` **defaultMaxListeners**: `number` + +By default, a maximum of `10` listeners can be registered for any single +event. This limit can be changed for individual `EventEmitter` instances +using the `emitter.setMaxListeners(n)` method. To change the default +for _all_`EventEmitter` instances, the `events.defaultMaxListeners` property +can be used. If this value is not a positive number, a `RangeError` is thrown. + +Take caution when setting the `events.defaultMaxListeners` because the +change affects _all_ `EventEmitter` instances, including those created before +the change is made. However, calling `emitter.setMaxListeners(n)` still has +precedence over `events.defaultMaxListeners`. + +This is not a hard limit. The `EventEmitter` instance will allow +more listeners to be added but will output a trace warning to stderr indicating +that a "possible EventEmitter memory leak" has been detected. For any single +`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to +temporarily avoid this warning: + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.setMaxListeners(emitter.getMaxListeners() + 1); +emitter.once('event', () => { + // do stuff + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); +}); +``` + +The `--trace-warnings` command-line flag can be used to display the +stack trace for such warnings. + +The emitted warning can be inspected with `process.on('warning')` and will +have the additional `emitter`, `type`, and `count` properties, referring to +the event emitter instance, the event's name and the number of attached +listeners, respectively. +Its `name` property is set to `'MaxListenersExceededWarning'`. + +#### Since + +v0.11.2 + +#### Defined in + +node\_modules/@types/node/events.d.ts:498 + +*** + +### errorMonitor + +> `readonly` `static` **errorMonitor**: *typeof* [`errorMonitor`](/api/classes/connection/#errormonitor) + +This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called. + +Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no +regular `'error'` listener is installed. + +#### Since + +v13.6.0, v12.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:445 + +## Methods + +### \[captureRejectionSymbol\]()? + +> `optional` **\[captureRejectionSymbol\]**\<`K`\>(`error`, `event`, ...`args`): `void` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **error**: `Error` + +β€’ **event**: `string` \| `symbol` + +β€’ ...**args**: `AnyRest` + +#### Returns + +`void` + +#### Defined in + +node\_modules/@types/node/events.d.ts:136 + +*** + +### addListener() + +> **addListener**\<`K`\>(`eventName`, `listener`): `this` + +Alias for `emitter.on(eventName, listener)`. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:597 + +*** + +### addNode() + +> **addNode**(`options`): `void` + +Add a Lavalink node to the pool of available nodes + +#### Parameters + +β€’ **options**: [`NodeOption`](/api/interfaces/nodeoption/) + +#### Returns + +`void` + +#### Defined in + +[src/Shoukaku.ts:215](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L215) + +*** + +### emit() + +> **emit**(`event`, ...`args`): `boolean` + +#### Parameters + +β€’ **event**: `string` \| `symbol` + +β€’ ...**args**: `any`[] + +#### Returns + +`boolean` + +#### Defined in + +[src/Shoukaku.ts:141](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L141) + +*** + +### eventNames() + +> **eventNames**(): (`string` \| `symbol`)[] + +Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or `Symbol`s. + +```js +import { EventEmitter } from 'node:events'; + +const myEE = new EventEmitter(); +myEE.on('foo', () => {}); +myEE.on('bar', () => {}); + +const sym = Symbol('symbol'); +myEE.on(sym, () => {}); + +console.log(myEE.eventNames()); +// Prints: [ 'foo', 'bar', Symbol(symbol) ] +``` + +#### Returns + +(`string` \| `symbol`)[] + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:922 + +*** + +### getIdealNode() + +> **getIdealNode**(`connection`?): `undefined` \| [`Node`](/api/classes/node/) + +Gets an ideal node based on the nodeResolver you provided + +#### Parameters + +β€’ **connection?**: [`Connection`](/api/classes/connection/) + +Optional connection class for ideal node selection, if you use it + +#### Returns + +`undefined` \| [`Node`](/api/classes/node/) + +An ideal node for you to do things with + +#### Defined in + +[src/Shoukaku.ts:203](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L203) + +*** + +### getMaxListeners() + +> **getMaxListeners**(): `number` + +Returns the current max listener value for the `EventEmitter` which is either +set by `emitter.setMaxListeners(n)` or defaults to [defaultMaxListeners](../../../../../../api/classes/shoukaku/#defaultmaxlisteners). + +#### Returns + +`number` + +#### Since + +v1.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:774 + +*** + +### joinVoiceChannel() + +> **joinVoiceChannel**(`options`): `Promise`\<[`Player`](/api/classes/player/)\> + +Joins a voice channel + +#### Parameters + +β€’ **options**: [`VoiceChannelOptions`](/api/interfaces/voicechanneloptions/) + +#### Returns + +`Promise`\<[`Player`](/api/classes/player/)\> + +The created player + +#### Defined in + +[src/Shoukaku.ts:248](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L248) + +*** + +### leaveVoiceChannel() + +> **leaveVoiceChannel**(`guildId`): `Promise`\<`void`\> + +Leaves a voice channel + +#### Parameters + +β€’ **guildId**: `string` + +The id of the guild you want to delete + +#### Returns + +`Promise`\<`void`\> + +The destroyed / disconnected player or undefined if none + +#### Defined in + +[src/Shoukaku.ts:284](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L284) + +*** + +### listenerCount() + +> **listenerCount**\<`K`\>(`eventName`, `listener`?): `number` + +Returns the number of listeners listening for the event named `eventName`. +If `listener` is provided, it will return how many times the listener is found +in the list of the listeners of the event. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event being listened for + +β€’ **listener?**: `Function` + +The event handler function + +#### Returns + +`number` + +#### Since + +v3.2.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:868 + +*** + +### listeners() + +> **listeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +```js +server.on('connection', (stream) => { + console.log('someone connected!'); +}); +console.log(util.inspect(server.listeners('connection'))); +// Prints: [ [Function] ] +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:787 + +*** + +### off() + +> **off**\<`K`\>(`event`, `listener`): `this` + +#### Type Parameters + +β€’ **K** *extends* keyof [`ShoukakuEvents`](/api/interfaces/shoukakuevents/) + +#### Parameters + +β€’ **event**: `K` + +β€’ **listener** + +#### Returns + +`this` + +#### Defined in + +[src/Shoukaku.ts:140](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L140) + +*** + +### on() + +> **on**\<`K`\>(`event`, `listener`): `this` + +#### Type Parameters + +β€’ **K** *extends* keyof [`ShoukakuEvents`](/api/interfaces/shoukakuevents/) + +#### Parameters + +β€’ **event**: `K` + +β€’ **listener** + +#### Returns + +`this` + +#### Defined in + +[src/Shoukaku.ts:138](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L138) + +*** + +### once() + +> **once**\<`K`\>(`event`, `listener`): `this` + +#### Type Parameters + +β€’ **K** *extends* keyof [`ShoukakuEvents`](/api/interfaces/shoukakuevents/) + +#### Parameters + +β€’ **event**: `K` + +β€’ **listener** + +#### Returns + +`this` + +#### Defined in + +[src/Shoukaku.ts:139](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L139) + +*** + +### prependListener() + +> **prependListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds the `listener` function to the _beginning_ of the listeners array for the +event named `eventName`. No checks are made to see if the `listener` has +already been added. Multiple calls passing the same combination of `eventName` +and `listener` will result in the `listener` being added, and called, multiple times. + +```js +server.prependListener('connection', (stream) => { + console.log('someone connected!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:886 + +*** + +### prependOnceListener() + +> **prependOnceListener**\<`K`\>(`eventName`, `listener`): `this` + +Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this +listener is removed, and then invoked. + +```js +server.prependOnceListener('connection', (stream) => { + console.log('Ah, we have our first user!'); +}); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +The name of the event. + +β€’ **listener** + +The callback function + +#### Returns + +`this` + +#### Since + +v6.0.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:902 + +*** + +### rawListeners() + +> **rawListeners**\<`K`\>(`eventName`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`, +including any wrappers (such as those created by `.once()`). + +```js +import { EventEmitter } from 'node:events'; +const emitter = new EventEmitter(); +emitter.once('log', () => console.log('log once')); + +// Returns a new Array with a function `onceWrapper` which has a property +// `listener` which contains the original listener bound above +const listeners = emitter.rawListeners('log'); +const logFnWrapper = listeners[0]; + +// Logs "log once" to the console and does not unbind the `once` event +logFnWrapper.listener(); + +// Logs "log once" to the console and removes the listener +logFnWrapper(); + +emitter.on('log', () => console.log('log persistently')); +// Will return a new Array with a single function bound by `.on()` above +const newListeners = emitter.rawListeners('log'); + +// Logs "log persistently" twice +newListeners[0](); +emitter.emit('log'); +``` + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Since + +v9.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:818 + +*** + +### removeAllListeners() + +> **removeAllListeners**(`eventName`?): `this` + +Removes all listeners, or those of the specified `eventName`. + +It is bad practice to remove listeners added elsewhere in the code, +particularly when the `EventEmitter` instance was created by some other +component or module (e.g. sockets or file streams). + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **eventName?**: `string` \| `symbol` + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:758 + +*** + +### removeListener() + +> **removeListener**\<`K`\>(`eventName`, `listener`): `this` + +Removes the specified `listener` from the listener array for the event named `eventName`. + +```js +const callback = (stream) => { + console.log('someone connected!'); +}; +server.on('connection', callback); +// ... +server.removeListener('connection', callback); +``` + +`removeListener()` will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified `eventName`, then `removeListener()` must be +called multiple times to remove each instance. + +Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution +will not remove them from`emit()` in progress. Subsequent events behave as expected. + +```js +import { EventEmitter } from 'node:events'; +class MyEmitter extends EventEmitter {} +const myEmitter = new MyEmitter(); + +const callbackA = () => { + console.log('A'); + myEmitter.removeListener('event', callbackB); +}; + +const callbackB = () => { + console.log('B'); +}; + +myEmitter.on('event', callbackA); + +myEmitter.on('event', callbackB); + +// callbackA removes listener callbackB but it will still be called. +// Internal listener array at time of emit [callbackA, callbackB] +myEmitter.emit('event'); +// Prints: +// A +// B + +// callbackB is now removed. +// Internal listener array [callbackA] +myEmitter.emit('event'); +// Prints: +// A +``` + +Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered _after_ the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the `emitter.listeners()` method will need to be recreated. + +When a single function has been added as a handler multiple times for a single +event (as in the example below), `removeListener()` will remove the most +recently added instance. In the example the `once('ping')` listener is removed: + +```js +import { EventEmitter } from 'node:events'; +const ee = new EventEmitter(); + +function pong() { + console.log('pong'); +} + +ee.on('ping', pong); +ee.once('ping', pong); +ee.removeListener('ping', pong); + +ee.emit('ping'); +ee.emit('ping'); +``` + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Type Parameters + +β€’ **K** + +#### Parameters + +β€’ **eventName**: `string` \| `symbol` + +β€’ **listener** + +#### Returns + +`this` + +#### Since + +v0.1.26 + +#### Defined in + +node\_modules/@types/node/events.d.ts:742 + +*** + +### removeNode() + +> **removeNode**(`name`, `reason`): `void` + +Remove a Lavalink node from the pool of available nodes + +#### Parameters + +β€’ **name**: `string` + +Name of the node + +β€’ **reason**: `string` = `'Remove node executed'` + +Reason of removing the node + +#### Returns + +`void` + +#### Defined in + +[src/Shoukaku.ts:233](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L233) + +*** + +### setMaxListeners() + +> **setMaxListeners**(`n`): `this` + +By default `EventEmitter`s will print a warning if more than `10` listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The `emitter.setMaxListeners()` method allows the limit to be +modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners. + +Returns a reference to the `EventEmitter`, so that calls can be chained. + +#### Parameters + +β€’ **n**: `number` + +#### Returns + +`this` + +#### Since + +v0.3.5 + +#### Defined in + +node\_modules/@types/node/events.d.ts:768 + +*** + +### addAbortListener() + +> `static` **addAbortListener**(`signal`, `resource`): `Disposable` + +Listens once to the `abort` event on the provided `signal`. + +Listening to the `abort` event on abort signals is unsafe and may +lead to resource leaks since another third party with the signal can +call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change +this since it would violate the web standard. Additionally, the original +API makes it easy to forget to remove listeners. + +This API allows safely using `AbortSignal`s in Node.js APIs by solving these +two issues by listening to the event such that `stopImmediatePropagation` does +not prevent the listener from running. + +Returns a disposable so that it may be unsubscribed from more easily. + +```js +import { addAbortListener } from 'node:events'; + +function example(signal) { + let disposable; + try { + signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + disposable = addAbortListener(signal, (e) => { + // Do something when signal is aborted. + }); + } finally { + disposable?.[Symbol.dispose](); + } +} +``` + +:::caution[Experimental] +This API should not be used in production and may be trimmed from a public release. +::: + +#### Parameters + +β€’ **signal**: `AbortSignal` + +β€’ **resource** + +#### Returns + +`Disposable` + +Disposable that removes the `abort` listener. + +#### Since + +v20.5.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:437 + +*** + +### getEventListeners() + +> `static` **getEventListeners**(`emitter`, `name`): `Function`[] + +Returns a copy of the array of listeners for the event named `eventName`. + +For `EventEmitter`s this behaves exactly the same as calling `.listeners` on +the emitter. + +For `EventTarget`s this is the only way to get the event listeners for the +event target. This is useful for debugging and diagnostic purposes. + +```js +import { getEventListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + const listener = () => console.log('Events are fun'); + ee.on('foo', listener); + console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] +} +{ + const et = new EventTarget(); + const listener = () => console.log('Events are fun'); + et.addEventListener('foo', listener); + console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +β€’ **name**: `string` \| `symbol` + +#### Returns + +`Function`[] + +#### Since + +v15.2.0, v14.17.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:358 + +*** + +### getMaxListeners() + +> `static` **getMaxListeners**(`emitter`): `number` + +Returns the currently set max amount of listeners. + +For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on +the emitter. + +For `EventTarget`s this is the only way to get the max event listeners for the +event target. If the number of event handlers on a single EventTarget exceeds +the max set, the EventTarget will print a warning. + +```js +import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + +{ + const ee = new EventEmitter(); + console.log(getMaxListeners(ee)); // 10 + setMaxListeners(11, ee); + console.log(getMaxListeners(ee)); // 11 +} +{ + const et = new EventTarget(); + console.log(getMaxListeners(et)); // 10 + setMaxListeners(11, et); + console.log(getMaxListeners(et)); // 11 +} +``` + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> \| `EventTarget` + +#### Returns + +`number` + +#### Since + +v19.9.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:387 + +*** + +### ~~listenerCount()~~ + +> `static` **listenerCount**(`emitter`, `eventName`): `number` + +A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`. + +```js +import { EventEmitter, listenerCount } from 'node:events'; + +const myEmitter = new EventEmitter(); +myEmitter.on('event', () => {}); +myEmitter.on('event', () => {}); +console.log(listenerCount(myEmitter, 'event')); +// Prints: 2 +``` + +:::caution[Deprecated] +Since v3.2.0 - Use `listenerCount` instead. +::: + +#### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +The emitter to query + +β€’ **eventName**: `string` \| `symbol` + +The event name + +#### Returns + +`number` + +#### Since + +v0.9.12 + +#### Defined in + +node\_modules/@types/node/events.d.ts:330 + +*** + +### on() + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); +}); + +for await (const event of on(ee, 'foo')) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] +} +// Unreachable here +``` + +Returns an `AsyncIterator` that iterates `eventName` events. It will throw +if the `EventEmitter` emits `'error'`. It removes all listeners when +exiting the loop. The `value` returned by each iteration is an array +composed of the emitted event arguments. + +An `AbortSignal` can be used to cancel waiting on events: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ac = new AbortController(); + +(async () => { + const ee = new EventEmitter(); + + // Emit later on + process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + }); + + for await (const event of on(ee, 'foo', { signal: ac.signal })) { + // The execution of this inner block is synchronous and it + // processes one event at a time (even with await). Do not use + // if concurrent execution is required. + console.log(event); // prints ['bar'] [42] + } + // Unreachable here +})(); + +process.nextTick(() => ac.abort()); +``` + +Use the `close` option to specify an array of event names that will end the iteration: + +```js +import { on, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +// Emit later on +process.nextTick(() => { + ee.emit('foo', 'bar'); + ee.emit('foo', 42); + ee.emit('close'); +}); + +for await (const event of on(ee, 'foo', { close: ['close'] })) { + console.log(event); // prints ['bar'] [42] +} +// the loop will exit after 'close' is emitted +console.log('done'); // prints 'done' +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +An `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + +##### Since + +v13.6.0, v12.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:303 + +#### on(emitter, eventName, options) + +> `static` **on**(`emitter`, `eventName`, `options`?): `AsyncIterableIterator`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterIteratorOptions` + +##### Returns + +`AsyncIterableIterator`\<`any`[]\> + +##### Defined in + +node\_modules/@types/node/events.d.ts:308 + +*** + +### once() + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given +event or that is rejected if the `EventEmitter` emits `'error'` while waiting. +The `Promise` will resolve with an array of all the arguments emitted to the +given event. + +This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event +semantics and does not listen to the `'error'` event. + +```js +import { once, EventEmitter } from 'node:events'; +import process from 'node:process'; + +const ee = new EventEmitter(); + +process.nextTick(() => { + ee.emit('myevent', 42); +}); + +const [value] = await once(ee, 'myevent'); +console.log(value); + +const err = new Error('kaboom'); +process.nextTick(() => { + ee.emit('error', err); +}); + +try { + await once(ee, 'myevent'); +} catch (err) { + console.error('error happened', err); +} +``` + +The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the +'`error'` event itself, then it is treated as any other kind of event without +special handling: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); + +once(ee, 'error') + .then(([err]) => console.log('ok', err.message)) + .catch((err) => console.error('error', err.message)); + +ee.emit('error', new Error('boom')); + +// Prints: ok boom +``` + +An `AbortSignal` can be used to cancel waiting for the event: + +```js +import { EventEmitter, once } from 'node:events'; + +const ee = new EventEmitter(); +const ac = new AbortController(); + +async function foo(emitter, event, signal) { + try { + await once(emitter, event, { signal }); + console.log('event emitted!'); + } catch (error) { + if (error.name === 'AbortError') { + console.error('Waiting for the event was canceled!'); + } else { + console.error('There was an error', error.message); + } + } +} + +foo(ee, 'foo', ac.signal); +ac.abort(); // Abort waiting for the event +ee.emit('foo'); // Prints: Waiting for the event was canceled! +``` + +##### Parameters + +β€’ **emitter**: `EventEmitter`\<`DefaultEventMap`\> + +β€’ **eventName**: `string` \| `symbol` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Since + +v11.13.0, v10.16.0 + +##### Defined in + +node\_modules/@types/node/events.d.ts:217 + +#### once(emitter, eventName, options) + +> `static` **once**(`emitter`, `eventName`, `options`?): `Promise`\<`any`[]\> + +##### Parameters + +β€’ **emitter**: `EventTarget` + +β€’ **eventName**: `string` + +β€’ **options?**: `StaticEventEmitterOptions` + +##### Returns + +`Promise`\<`any`[]\> + +##### Defined in + +node\_modules/@types/node/events.d.ts:222 + +*** + +### setMaxListeners() + +> `static` **setMaxListeners**(`n`?, ...`eventTargets`?): `void` + +```js +import { setMaxListeners, EventEmitter } from 'node:events'; + +const target = new EventTarget(); +const emitter = new EventEmitter(); + +setMaxListeners(5, target, emitter); +``` + +#### Parameters + +β€’ **n?**: `number` + +A non-negative number. The maximum number of listeners per `EventTarget` event. + +β€’ ...**eventTargets?**: (`EventEmitter`\<`DefaultEventMap`\> \| `EventTarget`)[] + +#### Returns + +`void` + +#### Since + +v15.4.0 + +#### Defined in + +node\_modules/@types/node/events.d.ts:402 diff --git a/src/content/docs/api/enumerations/LoadType.md b/src/content/docs/api/enumerations/LoadType.md new file mode 100644 index 0000000..70b1e79 --- /dev/null +++ b/src/content/docs/api/enumerations/LoadType.md @@ -0,0 +1,56 @@ +--- +editUrl: false +next: false +prev: false +title: "LoadType" +--- + +## Enumeration Members + +### EMPTY + +> **EMPTY**: `"empty"` + +#### Defined in + +[src/node/Rest.ts:12](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L12) + +*** + +### ERROR + +> **ERROR**: `"error"` + +#### Defined in + +[src/node/Rest.ts:13](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L13) + +*** + +### PLAYLIST + +> **PLAYLIST**: `"playlist"` + +#### Defined in + +[src/node/Rest.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L10) + +*** + +### SEARCH + +> **SEARCH**: `"search"` + +#### Defined in + +[src/node/Rest.ts:11](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L11) + +*** + +### TRACK + +> **TRACK**: `"track"` + +#### Defined in + +[src/node/Rest.ts:9](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L9) diff --git a/src/content/docs/api/interfaces/Address.md b/src/content/docs/api/interfaces/Address.md new file mode 100644 index 0000000..10fa4ac --- /dev/null +++ b/src/content/docs/api/interfaces/Address.md @@ -0,0 +1,36 @@ +--- +editUrl: false +next: false +prev: false +title: "Address" +--- + +## Properties + +### address + +> **address**: `string` + +#### Defined in + +[src/node/Rest.ts:78](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L78) + +*** + +### failingTime + +> **failingTime**: `string` + +#### Defined in + +[src/node/Rest.ts:80](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L80) + +*** + +### failingTimestamp + +> **failingTimestamp**: `number` + +#### Defined in + +[src/node/Rest.ts:79](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L79) diff --git a/src/content/docs/api/interfaces/Band.md b/src/content/docs/api/interfaces/Band.md new file mode 100644 index 0000000..2dfc5e8 --- /dev/null +++ b/src/content/docs/api/interfaces/Band.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "Band" +--- + +## Properties + +### band + +> **band**: `number` + +#### Defined in + +[src/guild/Player.ts:14](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L14) + +*** + +### gain + +> **gain**: `number` + +#### Defined in + +[src/guild/Player.ts:15](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L15) diff --git a/src/content/docs/api/interfaces/ChannelMixSettings.md b/src/content/docs/api/interfaces/ChannelMixSettings.md new file mode 100644 index 0000000..07c2f3f --- /dev/null +++ b/src/content/docs/api/interfaces/ChannelMixSettings.md @@ -0,0 +1,46 @@ +--- +editUrl: false +next: false +prev: false +title: "ChannelMixSettings" +--- + +## Properties + +### leftToLeft? + +> `optional` **leftToLeft**: `number` + +#### Defined in + +[src/guild/Player.ts:52](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L52) + +*** + +### leftToRight? + +> `optional` **leftToRight**: `number` + +#### Defined in + +[src/guild/Player.ts:53](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L53) + +*** + +### rightToLeft? + +> `optional` **rightToLeft**: `number` + +#### Defined in + +[src/guild/Player.ts:54](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L54) + +*** + +### rightToRight? + +> `optional` **rightToRight**: `number` + +#### Defined in + +[src/guild/Player.ts:55](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L55) diff --git a/src/content/docs/api/interfaces/ConnectorMethods.md b/src/content/docs/api/interfaces/ConnectorMethods.md new file mode 100644 index 0000000..43c210c --- /dev/null +++ b/src/content/docs/api/interfaces/ConnectorMethods.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "ConnectorMethods" +--- + +## Properties + +### getId + +> **getId**: `any` + +#### Defined in + +[src/connectors/Connector.ts:7](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L7) + +*** + +### sendPacket + +> **sendPacket**: `any` + +#### Defined in + +[src/connectors/Connector.ts:6](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L6) diff --git a/src/content/docs/api/interfaces/DistortionSettings.md b/src/content/docs/api/interfaces/DistortionSettings.md new file mode 100644 index 0000000..958fad5 --- /dev/null +++ b/src/content/docs/api/interfaces/DistortionSettings.md @@ -0,0 +1,86 @@ +--- +editUrl: false +next: false +prev: false +title: "DistortionSettings" +--- + +## Properties + +### cosOffset? + +> `optional` **cosOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:43](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L43) + +*** + +### cosScale? + +> `optional` **cosScale**: `number` + +#### Defined in + +[src/guild/Player.ts:44](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L44) + +*** + +### offset? + +> `optional` **offset**: `number` + +#### Defined in + +[src/guild/Player.ts:47](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L47) + +*** + +### scale? + +> `optional` **scale**: `number` + +#### Defined in + +[src/guild/Player.ts:48](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L48) + +*** + +### sinOffset? + +> `optional` **sinOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:41](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L41) + +*** + +### sinScale? + +> `optional` **sinScale**: `number` + +#### Defined in + +[src/guild/Player.ts:42](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L42) + +*** + +### tanOffset? + +> `optional` **tanOffset**: `number` + +#### Defined in + +[src/guild/Player.ts:45](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L45) + +*** + +### tanScale? + +> `optional` **tanScale**: `number` + +#### Defined in + +[src/guild/Player.ts:46](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L46) diff --git a/src/content/docs/api/interfaces/EmptyResult.md b/src/content/docs/api/interfaces/EmptyResult.md new file mode 100644 index 0000000..8396a64 --- /dev/null +++ b/src/content/docs/api/interfaces/EmptyResult.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "EmptyResult" +--- + +## Properties + +### data + +> **data**: `object` + +#### Defined in + +[src/node/Rest.ts:67](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L67) + +*** + +### loadType + +> **loadType**: [`EMPTY`](/api/enumerations/loadtype/#empty) + +#### Defined in + +[src/node/Rest.ts:66](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L66) diff --git a/src/content/docs/api/interfaces/ErrorResult.md b/src/content/docs/api/interfaces/ErrorResult.md new file mode 100644 index 0000000..8b59cbe --- /dev/null +++ b/src/content/docs/api/interfaces/ErrorResult.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "ErrorResult" +--- + +## Properties + +### data + +> **data**: [`Exception`](/api/interfaces/exception/) + +#### Defined in + +[src/node/Rest.ts:72](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L72) + +*** + +### loadType + +> **loadType**: [`ERROR`](/api/enumerations/loadtype/#error) + +#### Defined in + +[src/node/Rest.ts:71](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L71) diff --git a/src/content/docs/api/interfaces/Exception.md b/src/content/docs/api/interfaces/Exception.md new file mode 100644 index 0000000..6e7e3ad --- /dev/null +++ b/src/content/docs/api/interfaces/Exception.md @@ -0,0 +1,36 @@ +--- +editUrl: false +next: false +prev: false +title: "Exception" +--- + +## Properties + +### cause + +> **cause**: `string` + +#### Defined in + +[src/node/Rest.ts:47](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L47) + +*** + +### message + +> **message**: `string` + +#### Defined in + +[src/node/Rest.ts:45](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L45) + +*** + +### severity + +> **severity**: [`Severity`](/api/type-aliases/severity/) + +#### Defined in + +[src/node/Rest.ts:46](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L46) diff --git a/src/content/docs/api/interfaces/FilterOptions.md b/src/content/docs/api/interfaces/FilterOptions.md new file mode 100644 index 0000000..72d04f7 --- /dev/null +++ b/src/content/docs/api/interfaces/FilterOptions.md @@ -0,0 +1,106 @@ +--- +editUrl: false +next: false +prev: false +title: "FilterOptions" +--- + +## Properties + +### channelMix? + +> `optional` **channelMix**: `null` \| [`ChannelMixSettings`](/api/interfaces/channelmixsettings/) + +#### Defined in + +[src/guild/Player.ts:121](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L121) + +*** + +### distortion? + +> `optional` **distortion**: `null` \| [`DistortionSettings`](/api/interfaces/distortionsettings/) + +#### Defined in + +[src/guild/Player.ts:120](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L120) + +*** + +### equalizer? + +> `optional` **equalizer**: [`Band`](/api/interfaces/band/)[] + +#### Defined in + +[src/guild/Player.ts:114](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L114) + +*** + +### karaoke? + +> `optional` **karaoke**: `null` \| [`KaraokeSettings`](/api/interfaces/karaokesettings/) + +#### Defined in + +[src/guild/Player.ts:115](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L115) + +*** + +### lowPass? + +> `optional` **lowPass**: `null` \| [`LowPassSettings`](/api/interfaces/lowpasssettings/) + +#### Defined in + +[src/guild/Player.ts:122](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L122) + +*** + +### rotation? + +> `optional` **rotation**: `null` \| [`RotationSettings`](/api/interfaces/rotationsettings/) + +#### Defined in + +[src/guild/Player.ts:119](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L119) + +*** + +### timescale? + +> `optional` **timescale**: `null` \| [`TimescaleSettings`](/api/interfaces/timescalesettings/) + +#### Defined in + +[src/guild/Player.ts:116](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L116) + +*** + +### tremolo? + +> `optional` **tremolo**: `null` \| [`FreqSettings`](/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:117](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L117) + +*** + +### vibrato? + +> `optional` **vibrato**: `null` \| [`FreqSettings`](/api/interfaces/freqsettings/) + +#### Defined in + +[src/guild/Player.ts:118](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L118) + +*** + +### volume? + +> `optional` **volume**: `number` + +#### Defined in + +[src/guild/Player.ts:113](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L113) diff --git a/src/content/docs/api/interfaces/FreqSettings.md b/src/content/docs/api/interfaces/FreqSettings.md new file mode 100644 index 0000000..40edef0 --- /dev/null +++ b/src/content/docs/api/interfaces/FreqSettings.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "FreqSettings" +--- + +## Properties + +### depth? + +> `optional` **depth**: `number` + +#### Defined in + +[src/guild/Player.ts:33](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L33) + +*** + +### frequency? + +> `optional` **frequency**: `number` + +#### Defined in + +[src/guild/Player.ts:32](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L32) diff --git a/src/content/docs/api/interfaces/KaraokeSettings.md b/src/content/docs/api/interfaces/KaraokeSettings.md new file mode 100644 index 0000000..b4498a6 --- /dev/null +++ b/src/content/docs/api/interfaces/KaraokeSettings.md @@ -0,0 +1,46 @@ +--- +editUrl: false +next: false +prev: false +title: "KaraokeSettings" +--- + +## Properties + +### filterBand? + +> `optional` **filterBand**: `number` + +#### Defined in + +[src/guild/Player.ts:21](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L21) + +*** + +### filterWidth? + +> `optional` **filterWidth**: `number` + +#### Defined in + +[src/guild/Player.ts:22](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L22) + +*** + +### level? + +> `optional` **level**: `number` + +#### Defined in + +[src/guild/Player.ts:19](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L19) + +*** + +### monoLevel? + +> `optional` **monoLevel**: `number` + +#### Defined in + +[src/guild/Player.ts:20](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L20) diff --git a/src/content/docs/api/interfaces/LavalinkPlayer.md b/src/content/docs/api/interfaces/LavalinkPlayer.md new file mode 100644 index 0000000..54bc9f7 --- /dev/null +++ b/src/content/docs/api/interfaces/LavalinkPlayer.md @@ -0,0 +1,66 @@ +--- +editUrl: false +next: false +prev: false +title: "LavalinkPlayer" +--- + +## Properties + +### filters + +> **filters**: [`FilterOptions`](/api/interfaces/filteroptions/) + +#### Defined in + +[src/node/Rest.ts:115](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L115) + +*** + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/node/Rest.ts:110](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L110) + +*** + +### paused + +> **paused**: `boolean` + +#### Defined in + +[src/node/Rest.ts:113](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L113) + +*** + +### track? + +> `optional` **track**: [`Track`](/api/interfaces/track/) + +#### Defined in + +[src/node/Rest.ts:111](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L111) + +*** + +### voice + +> **voice**: [`LavalinkPlayerVoice`](/api/interfaces/lavalinkplayervoice/) + +#### Defined in + +[src/node/Rest.ts:114](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L114) + +*** + +### volume + +> **volume**: `number` + +#### Defined in + +[src/node/Rest.ts:112](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L112) diff --git a/src/content/docs/api/interfaces/LavalinkPlayerVoice.md b/src/content/docs/api/interfaces/LavalinkPlayerVoice.md new file mode 100644 index 0000000..be8c3e3 --- /dev/null +++ b/src/content/docs/api/interfaces/LavalinkPlayerVoice.md @@ -0,0 +1,56 @@ +--- +editUrl: false +next: false +prev: false +title: "LavalinkPlayerVoice" +--- + +## Properties + +### connected? + +> `optional` **connected**: `boolean` + +#### Defined in + +[src/node/Rest.ts:103](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L103) + +*** + +### endpoint + +> **endpoint**: `string` + +#### Defined in + +[src/node/Rest.ts:101](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L101) + +*** + +### ping? + +> `optional` **ping**: `number` + +#### Defined in + +[src/node/Rest.ts:104](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L104) + +*** + +### sessionId + +> **sessionId**: `string` + +#### Defined in + +[src/node/Rest.ts:102](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L102) + +*** + +### token + +> **token**: `string` + +#### Defined in + +[src/node/Rest.ts:100](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L100) diff --git a/src/content/docs/api/interfaces/LavalinkPlayerVoiceOptions.md b/src/content/docs/api/interfaces/LavalinkPlayerVoiceOptions.md new file mode 100644 index 0000000..18b05fa --- /dev/null +++ b/src/content/docs/api/interfaces/LavalinkPlayerVoiceOptions.md @@ -0,0 +1,52 @@ +--- +editUrl: false +next: false +prev: false +title: "LavalinkPlayerVoiceOptions" +--- + +## Extends + +- `Omit`\<[`LavalinkPlayerVoice`](/api/interfaces/lavalinkplayervoice/), `"connected"` \| `"ping"`\> + +## Properties + +### endpoint + +> **endpoint**: `string` + +#### Inherited from + +`Omit.endpoint` + +#### Defined in + +[src/node/Rest.ts:101](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L101) + +*** + +### sessionId + +> **sessionId**: `string` + +#### Inherited from + +`Omit.sessionId` + +#### Defined in + +[src/node/Rest.ts:102](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L102) + +*** + +### token + +> **token**: `string` + +#### Inherited from + +`Omit.token` + +#### Defined in + +[src/node/Rest.ts:100](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L100) diff --git a/src/content/docs/api/interfaces/LowPassSettings.md b/src/content/docs/api/interfaces/LowPassSettings.md new file mode 100644 index 0000000..7f7025b --- /dev/null +++ b/src/content/docs/api/interfaces/LowPassSettings.md @@ -0,0 +1,16 @@ +--- +editUrl: false +next: false +prev: false +title: "LowPassSettings" +--- + +## Properties + +### smoothing? + +> `optional` **smoothing**: `number` + +#### Defined in + +[src/guild/Player.ts:59](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L59) diff --git a/src/content/docs/api/interfaces/NodeOption.md b/src/content/docs/api/interfaces/NodeOption.md new file mode 100644 index 0000000..208525d --- /dev/null +++ b/src/content/docs/api/interfaces/NodeOption.md @@ -0,0 +1,66 @@ +--- +editUrl: false +next: false +prev: false +title: "NodeOption" +--- + +## Properties + +### auth + +> **auth**: `string` + +Credentials to access Lavalink + +#### Defined in + +[src/Shoukaku.ts:33](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L33) + +*** + +### group? + +> `optional` **group**: `string` + +Name of the Lavalink node group + +#### Defined in + +[src/Shoukaku.ts:41](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L41) + +*** + +### name + +> **name**: `string` + +Name of the Lavalink node + +#### Defined in + +[src/Shoukaku.ts:25](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L25) + +*** + +### secure? + +> `optional` **secure**: `boolean` + +Whether to use secure protocols or not + +#### Defined in + +[src/Shoukaku.ts:37](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L37) + +*** + +### url + +> **url**: `string` + +Lavalink node host and port without any prefix + +#### Defined in + +[src/Shoukaku.ts:29](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L29) diff --git a/src/content/docs/api/interfaces/NodeStats.md b/src/content/docs/api/interfaces/NodeStats.md new file mode 100644 index 0000000..2f8422b --- /dev/null +++ b/src/content/docs/api/interfaces/NodeStats.md @@ -0,0 +1,106 @@ +--- +editUrl: false +next: false +prev: false +title: "NodeStats" +--- + +## Properties + +### cpu + +> **cpu**: `object` + +#### cores + +> **cores**: `number` + +#### lavalinkLoad + +> **lavalinkLoad**: `number` + +#### systemLoad + +> **systemLoad**: `number` + +#### Defined in + +[src/node/Node.ts:23](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L23) + +*** + +### frameStats + +> **frameStats**: `object` + +#### deficit + +> **deficit**: `number` + +#### nulled + +> **nulled**: `number` + +#### sent + +> **sent**: `number` + +#### Defined in + +[src/node/Node.ts:18](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L18) + +*** + +### memory + +> **memory**: `object` + +#### allocated + +> **allocated**: `number` + +#### free + +> **free**: `number` + +#### reservable + +> **reservable**: `number` + +#### used + +> **used**: `number` + +#### Defined in + +[src/node/Node.ts:12](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L12) + +*** + +### players + +> **players**: `number` + +#### Defined in + +[src/node/Node.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L10) + +*** + +### playingPlayers + +> **playingPlayers**: `number` + +#### Defined in + +[src/node/Node.ts:11](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L11) + +*** + +### uptime + +> **uptime**: `number` + +#### Defined in + +[src/node/Node.ts:28](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L28) diff --git a/src/content/docs/api/interfaces/NonResumableHeaders.md b/src/content/docs/api/interfaces/NonResumableHeaders.md new file mode 100644 index 0000000..38b12c3 --- /dev/null +++ b/src/content/docs/api/interfaces/NonResumableHeaders.md @@ -0,0 +1,10 @@ +--- +editUrl: false +next: false +prev: false +title: "NonResumableHeaders" +--- + +## Extends + +- `Omit`\<[`ResumableHeaders`](/api/interfaces/resumableheaders/), `"Session-Id"`\> diff --git a/src/content/docs/api/interfaces/PlayerEvent.md b/src/content/docs/api/interfaces/PlayerEvent.md new file mode 100644 index 0000000..12834d8 --- /dev/null +++ b/src/content/docs/api/interfaces/PlayerEvent.md @@ -0,0 +1,44 @@ +--- +editUrl: false +next: false +prev: false +title: "PlayerEvent" +--- + +## Extended by + +- [`TrackStartEvent`](/api/interfaces/trackstartevent/) +- [`TrackEndEvent`](/api/interfaces/trackendevent/) +- [`TrackStuckEvent`](/api/interfaces/trackstuckevent/) +- [`TrackExceptionEvent`](/api/interfaces/trackexceptionevent/) +- [`WebSocketClosedEvent`](/api/interfaces/websocketclosedevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L65) + +*** + +### op + +> **op**: [`EVENT`](/api/namespaces/constants/enumerations/opcodes/#event) + +#### Defined in + +[src/guild/Player.ts:63](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L63) + +*** + +### type + +> **type**: [`PlayerEventType`](/api/type-aliases/playereventtype/) + +#### Defined in + +[src/guild/Player.ts:64](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L64) diff --git a/src/content/docs/api/interfaces/PlayerEvents.md b/src/content/docs/api/interfaces/PlayerEvents.md new file mode 100644 index 0000000..fd8cc17 --- /dev/null +++ b/src/content/docs/api/interfaces/PlayerEvents.md @@ -0,0 +1,90 @@ +--- +editUrl: false +next: false +prev: false +title: "PlayerEvents" +--- + +## Events + +### closed + +> **closed**: [[`WebSocketClosedEvent`](/api/interfaces/websocketclosedevent/)] + +Emitted when the current websocket connection is closed + +#### Defined in + +[src/guild/Player.ts:140](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L140) + +*** + +### end + +> **end**: [[`TrackEndEvent`](/api/interfaces/trackendevent/)] + +Emitted when the current playing track ends + +#### Defined in + +[src/guild/Player.ts:130](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L130) + +*** + +### exception + +> **exception**: [[`TrackExceptionEvent`](/api/interfaces/trackexceptionevent/)] + +Emitted when there is an error caused by the current playing track + +#### Defined in + +[src/guild/Player.ts:150](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L150) + +*** + +### resumed + +> **resumed**: [[`Player`](/api/classes/player/)] + +Emitted when the library manages to resume the player + +#### Defined in + +[src/guild/Player.ts:155](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L155) + +*** + +### start + +> **start**: [[`TrackStartEvent`](/api/interfaces/trackstartevent/)] + +Emitted when a new track starts + +#### Defined in + +[src/guild/Player.ts:145](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L145) + +*** + +### stuck + +> **stuck**: [[`TrackStuckEvent`](/api/interfaces/trackstuckevent/)] + +Emitted when the current playing track gets stuck due to an error + +#### Defined in + +[src/guild/Player.ts:135](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L135) + +*** + +### update + +> **update**: [[`PlayerUpdate`](/api/interfaces/playerupdate/)] + +Emitted when a playerUpdate even is received from Lavalink + +#### Defined in + +[src/guild/Player.ts:160](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L160) diff --git a/src/content/docs/api/interfaces/PlayerUpdate.md b/src/content/docs/api/interfaces/PlayerUpdate.md new file mode 100644 index 0000000..348a53f --- /dev/null +++ b/src/content/docs/api/interfaces/PlayerUpdate.md @@ -0,0 +1,48 @@ +--- +editUrl: false +next: false +prev: false +title: "PlayerUpdate" +--- + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/guild/Player.ts:109](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L109) + +*** + +### op + +> **op**: [`PLAYER_UPDATE`](/api/namespaces/constants/enumerations/opcodes/#player_update) + +#### Defined in + +[src/guild/Player.ts:103](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L103) + +*** + +### state + +> **state**: `object` + +#### connected + +> **connected**: `boolean` + +#### position? + +> `optional` **position**: `number` + +#### time + +> **time**: `number` + +#### Defined in + +[src/guild/Player.ts:104](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L104) diff --git a/src/content/docs/api/interfaces/Playlist.md b/src/content/docs/api/interfaces/Playlist.md new file mode 100644 index 0000000..f559f0c --- /dev/null +++ b/src/content/docs/api/interfaces/Playlist.md @@ -0,0 +1,54 @@ +--- +editUrl: false +next: false +prev: false +title: "Playlist" +--- + +## Properties + +### encoded + +> **encoded**: `string` + +#### Defined in + +[src/node/Rest.ts:35](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L35) + +*** + +### info + +> **info**: `object` + +#### name + +> **name**: `string` + +#### selectedTrack + +> **selectedTrack**: `number` + +#### Defined in + +[src/node/Rest.ts:36](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L36) + +*** + +### pluginInfo + +> **pluginInfo**: `unknown` + +#### Defined in + +[src/node/Rest.ts:40](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L40) + +*** + +### tracks + +> **tracks**: [`Track`](/api/interfaces/track/)[] + +#### Defined in + +[src/node/Rest.ts:41](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L41) diff --git a/src/content/docs/api/interfaces/PlaylistResult.md b/src/content/docs/api/interfaces/PlaylistResult.md new file mode 100644 index 0000000..7967a5e --- /dev/null +++ b/src/content/docs/api/interfaces/PlaylistResult.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "PlaylistResult" +--- + +## Properties + +### data + +> **data**: [`Playlist`](/api/interfaces/playlist/) + +#### Defined in + +[src/node/Rest.ts:57](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L57) + +*** + +### loadType + +> **loadType**: [`PLAYLIST`](/api/enumerations/loadtype/#playlist) + +#### Defined in + +[src/node/Rest.ts:56](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L56) diff --git a/src/content/docs/api/interfaces/ResumableHeaders.md b/src/content/docs/api/interfaces/ResumableHeaders.md new file mode 100644 index 0000000..c24d68f --- /dev/null +++ b/src/content/docs/api/interfaces/ResumableHeaders.md @@ -0,0 +1,60 @@ +--- +editUrl: false +next: false +prev: false +title: "ResumableHeaders" +--- + +## Indexable + + \[`key`: `string`\]: `string` + +## Properties + +### Authorization + +> **Authorization**: `string` + +#### Defined in + +[src/node/Node.ts:66](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L66) + +*** + +### Client-Name + +> **Client-Name**: `string` + +#### Defined in + +[src/node/Node.ts:64](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L64) + +*** + +### Session-Id + +> **Session-Id**: `string` + +#### Defined in + +[src/node/Node.ts:68](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L68) + +*** + +### User-Agent + +> **User-Agent**: `string` + +#### Defined in + +[src/node/Node.ts:65](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L65) + +*** + +### User-Id + +> **User-Id**: `string` + +#### Defined in + +[src/node/Node.ts:67](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L67) diff --git a/src/content/docs/api/interfaces/RotationSettings.md b/src/content/docs/api/interfaces/RotationSettings.md new file mode 100644 index 0000000..15676ca --- /dev/null +++ b/src/content/docs/api/interfaces/RotationSettings.md @@ -0,0 +1,16 @@ +--- +editUrl: false +next: false +prev: false +title: "RotationSettings" +--- + +## Properties + +### rotationHz? + +> `optional` **rotationHz**: `number` + +#### Defined in + +[src/guild/Player.ts:37](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L37) diff --git a/src/content/docs/api/interfaces/RoutePlanner.md b/src/content/docs/api/interfaces/RoutePlanner.md new file mode 100644 index 0000000..73b766f --- /dev/null +++ b/src/content/docs/api/interfaces/RoutePlanner.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "RoutePlanner" +--- + +## Properties + +### class + +> **class**: `null` \| `"RotatingIpRoutePlanner"` \| `"NanoIpRoutePlanner"` \| `"RotatingNanoIpRoutePlanner"` \| `"BalancingIpRoutePlanner"` + +#### Defined in + +[src/node/Rest.ts:84](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L84) + +*** + +### details + +> **details**: `null` \| `object` + +#### Defined in + +[src/node/Rest.ts:85](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L85) diff --git a/src/content/docs/api/interfaces/SearchResult.md b/src/content/docs/api/interfaces/SearchResult.md new file mode 100644 index 0000000..33f10fb --- /dev/null +++ b/src/content/docs/api/interfaces/SearchResult.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "SearchResult" +--- + +## Properties + +### data + +> **data**: [`Track`](/api/interfaces/track/)[] + +#### Defined in + +[src/node/Rest.ts:62](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L62) + +*** + +### loadType + +> **loadType**: [`SEARCH`](/api/enumerations/loadtype/#search) + +#### Defined in + +[src/node/Rest.ts:61](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L61) diff --git a/src/content/docs/api/interfaces/ServerUpdate.md b/src/content/docs/api/interfaces/ServerUpdate.md new file mode 100644 index 0000000..13d449d --- /dev/null +++ b/src/content/docs/api/interfaces/ServerUpdate.md @@ -0,0 +1,38 @@ +--- +editUrl: false +next: false +prev: false +title: "ServerUpdate" +--- + +Represents the payload from a serverUpdate event + +## Properties + +### endpoint + +> **endpoint**: `string` + +#### Defined in + +[src/guild/Connection.ts:21](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L21) + +*** + +### guild\_id + +> **guild\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:20](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L20) + +*** + +### token + +> **token**: `string` + +#### Defined in + +[src/guild/Connection.ts:19](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L19) diff --git a/src/content/docs/api/interfaces/SessionInfo.md b/src/content/docs/api/interfaces/SessionInfo.md new file mode 100644 index 0000000..cce09be --- /dev/null +++ b/src/content/docs/api/interfaces/SessionInfo.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "SessionInfo" +--- + +## Properties + +### resumingKey? + +> `optional` **resumingKey**: `string` + +#### Defined in + +[src/node/Rest.ts:141](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L141) + +*** + +### timeout + +> **timeout**: `number` + +#### Defined in + +[src/node/Rest.ts:142](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L142) diff --git a/src/content/docs/api/interfaces/ShoukakuEvents.md b/src/content/docs/api/interfaces/ShoukakuEvents.md new file mode 100644 index 0000000..523260b --- /dev/null +++ b/src/content/docs/api/interfaces/ShoukakuEvents.md @@ -0,0 +1,90 @@ +--- +editUrl: false +next: false +prev: false +title: "ShoukakuEvents" +--- + +## Events + +### close + +> **close**: [`string`, `number`, `string`] + +Emitted when a websocket connection to Lavalink closes + +#### Defined in + +[src/Shoukaku.ts:124](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L124) + +*** + +### debug + +> **debug**: [`string`, `string`] + +Emitted when data useful for debugging is produced + +#### Defined in + +[src/Shoukaku.ts:109](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L109) + +*** + +### disconnect + +> **disconnect**: [`string`, `number`] + +Emitted when a websocket connection to Lavalink disconnects + +#### Defined in + +[src/Shoukaku.ts:129](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L129) + +*** + +### error + +> **error**: [`string`, `Error`] + +Emitted when an error occurs + +#### Defined in + +[src/Shoukaku.ts:114](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L114) + +*** + +### raw + +> **raw**: [`string`, `unknown`] + +Emitted when a raw message is received from Lavalink + +#### Defined in + +[src/Shoukaku.ts:134](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L134) + +*** + +### ready + +> **ready**: [`string`, `boolean`] + +Emitted when Shoukaku is ready to receive operations + +#### Defined in + +[src/Shoukaku.ts:119](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L119) + +*** + +### reconnecting + +> **reconnecting**: [`string`, `number`, `number`] + +Emitted when reconnect tries are occurring and how many tries are left + +#### Defined in + +[src/Shoukaku.ts:104](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L104) diff --git a/src/content/docs/api/interfaces/ShoukakuOptions.md b/src/content/docs/api/interfaces/ShoukakuOptions.md new file mode 100644 index 0000000..8427b97 --- /dev/null +++ b/src/content/docs/api/interfaces/ShoukakuOptions.md @@ -0,0 +1,148 @@ +--- +editUrl: false +next: false +prev: false +title: "ShoukakuOptions" +--- + +## Properties + +### moveOnDisconnect? + +> `optional` **moveOnDisconnect**: `boolean` + +Whether to move players to a different Lavalink node when a node disconnects + +#### Defined in + +[src/Shoukaku.ts:72](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L72) + +*** + +### nodeResolver()? + +> `optional` **nodeResolver**: (`nodes`, `connection`?) => `undefined` \| [`Node`](/api/classes/node/) + +Node Resolver to use if you want to customize it + +#### Parameters + +β€’ **nodes**: `Map`\<`string`, [`Node`](/api/classes/node/)\> + +β€’ **connection?**: [`Connection`](/api/classes/connection/) + +#### Returns + +`undefined` \| [`Node`](/api/classes/node/) + +#### Defined in + +[src/Shoukaku.ts:88](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L88) + +*** + +### reconnectInterval? + +> `optional` **reconnectInterval**: `number` + +Timeout before trying to reconnect + +#### Defined in + +[src/Shoukaku.ts:64](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L64) + +*** + +### reconnectTries? + +> `optional` **reconnectTries**: `number` + +Number of times to try and reconnect to Lavalink before giving up + +#### Defined in + +[src/Shoukaku.ts:60](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L60) + +*** + +### restTimeout? + +> `optional` **restTimeout**: `number` + +Time to wait for a response from the Lavalink REST API before giving up + +#### Defined in + +[src/Shoukaku.ts:68](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L68) + +*** + +### resume? + +> `optional` **resume**: `boolean` + +Whether to resume a connection on disconnect to Lavalink (Server Side) (Note: DOES NOT RESUME WHEN THE LAVALINK SERVER DIES) + +#### Defined in + +[src/Shoukaku.ts:48](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L48) + +*** + +### resumeByLibrary? + +> `optional` **resumeByLibrary**: `boolean` + +Whether to resume the players by doing it in the library side (Client Side) (Note: TRIES TO RESUME REGARDLESS OF WHAT HAPPENED ON A LAVALINK SERVER) + +#### Defined in + +[src/Shoukaku.ts:56](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L56) + +*** + +### resumeTimeout? + +> `optional` **resumeTimeout**: `number` + +Time to wait before lavalink starts to destroy the players of the disconnected client + +#### Defined in + +[src/Shoukaku.ts:52](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L52) + +*** + +### structures? + +> `optional` **structures**: [`Structures`](/api/interfaces/structures/) + +Custom structures for shoukaku to use + +#### Defined in + +[src/Shoukaku.ts:80](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L80) + +*** + +### userAgent? + +> `optional` **userAgent**: `string` + +User Agent to use when making requests to Lavalink + +#### Defined in + +[src/Shoukaku.ts:76](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L76) + +*** + +### voiceConnectionTimeout? + +> `optional` **voiceConnectionTimeout**: `number` + +Timeout before abort connection + +#### Defined in + +[src/Shoukaku.ts:84](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L84) diff --git a/src/content/docs/api/interfaces/StateUpdatePartial.md b/src/content/docs/api/interfaces/StateUpdatePartial.md new file mode 100644 index 0000000..5260aff --- /dev/null +++ b/src/content/docs/api/interfaces/StateUpdatePartial.md @@ -0,0 +1,48 @@ +--- +editUrl: false +next: false +prev: false +title: "StateUpdatePartial" +--- + +Represents the partial payload from a stateUpdate event + +## Properties + +### channel\_id? + +> `optional` **channel\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:9](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L9) + +*** + +### self\_deaf + +> **self\_deaf**: `boolean` + +#### Defined in + +[src/guild/Connection.ts:11](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L11) + +*** + +### self\_mute + +> **self\_mute**: `boolean` + +#### Defined in + +[src/guild/Connection.ts:12](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L12) + +*** + +### session\_id? + +> `optional` **session\_id**: `string` + +#### Defined in + +[src/guild/Connection.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Connection.ts#L10) diff --git a/src/content/docs/api/interfaces/Structures.md b/src/content/docs/api/interfaces/Structures.md new file mode 100644 index 0000000..dcc7876 --- /dev/null +++ b/src/content/docs/api/interfaces/Structures.md @@ -0,0 +1,30 @@ +--- +editUrl: false +next: false +prev: false +title: "Structures" +--- + +## Properties + +### player? + +> `optional` **player**: [`Constructor`](/api/namespaces/utils/type-aliases/constructor/)\<[`Player`](/api/classes/player/)\> + +A custom structure that extends the Player class + +#### Defined in + +[src/Shoukaku.ts:18](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L18) + +*** + +### rest? + +> `optional` **rest**: [`Constructor`](/api/namespaces/utils/type-aliases/constructor/)\<[`Rest`](/api/classes/rest/)\> + +A custom structure that extends the Rest class + +#### Defined in + +[src/Shoukaku.ts:14](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L14) diff --git a/src/content/docs/api/interfaces/TimescaleSettings.md b/src/content/docs/api/interfaces/TimescaleSettings.md new file mode 100644 index 0000000..63e486c --- /dev/null +++ b/src/content/docs/api/interfaces/TimescaleSettings.md @@ -0,0 +1,36 @@ +--- +editUrl: false +next: false +prev: false +title: "TimescaleSettings" +--- + +## Properties + +### pitch? + +> `optional` **pitch**: `number` + +#### Defined in + +[src/guild/Player.ts:27](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L27) + +*** + +### rate? + +> `optional` **rate**: `number` + +#### Defined in + +[src/guild/Player.ts:28](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L28) + +*** + +### speed? + +> `optional` **speed**: `number` + +#### Defined in + +[src/guild/Player.ts:26](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L26) diff --git a/src/content/docs/api/interfaces/Track.md b/src/content/docs/api/interfaces/Track.md new file mode 100644 index 0000000..12859b1 --- /dev/null +++ b/src/content/docs/api/interfaces/Track.md @@ -0,0 +1,80 @@ +--- +editUrl: false +next: false +prev: false +title: "Track" +--- + +## Properties + +### encoded + +> **encoded**: `string` + +#### Defined in + +[src/node/Rest.ts:17](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L17) + +*** + +### info + +> **info**: `object` + +#### artworkUrl? + +> `optional` **artworkUrl**: `string` + +#### author + +> **author**: `string` + +#### identifier + +> **identifier**: `string` + +#### isSeekable + +> **isSeekable**: `boolean` + +#### isStream + +> **isStream**: `boolean` + +#### isrc? + +> `optional` **isrc**: `string` + +#### length + +> **length**: `number` + +#### position + +> **position**: `number` + +#### sourceName + +> **sourceName**: `string` + +#### title + +> **title**: `string` + +#### uri? + +> `optional` **uri**: `string` + +#### Defined in + +[src/node/Rest.ts:18](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L18) + +*** + +### pluginInfo + +> **pluginInfo**: `unknown` + +#### Defined in + +[src/node/Rest.ts:31](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L31) diff --git a/src/content/docs/api/interfaces/TrackEndEvent.md b/src/content/docs/api/interfaces/TrackEndEvent.md new file mode 100644 index 0000000..c13a50f --- /dev/null +++ b/src/content/docs/api/interfaces/TrackEndEvent.md @@ -0,0 +1,72 @@ +--- +editUrl: false +next: false +prev: false +title: "TrackEndEvent" +--- + +## Extends + +- [`PlayerEvent`](/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`guildId`](/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L65) + +*** + +### op + +> **op**: [`EVENT`](/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`op`](/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:63](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L63) + +*** + +### reason + +> **reason**: [`TrackEndReason`](/api/type-aliases/trackendreason/) + +#### Defined in + +[src/guild/Player.ts:76](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L76) + +*** + +### track + +> **track**: [`Track`](/api/interfaces/track/) + +#### Defined in + +[src/guild/Player.ts:75](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L75) + +*** + +### type + +> **type**: `"TrackEndEvent"` + +#### Overrides + +[`PlayerEvent`](/api/interfaces/playerevent/).[`type`](/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:74](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L74) diff --git a/src/content/docs/api/interfaces/TrackExceptionEvent.md b/src/content/docs/api/interfaces/TrackExceptionEvent.md new file mode 100644 index 0000000..ceaa51f --- /dev/null +++ b/src/content/docs/api/interfaces/TrackExceptionEvent.md @@ -0,0 +1,62 @@ +--- +editUrl: false +next: false +prev: false +title: "TrackExceptionEvent" +--- + +## Extends + +- [`PlayerEvent`](/api/interfaces/playerevent/) + +## Properties + +### exception + +> **exception**: [`Exception`](/api/interfaces/exception/) + +#### Defined in + +[src/guild/Player.ts:87](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L87) + +*** + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`guildId`](/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L65) + +*** + +### op + +> **op**: [`EVENT`](/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`op`](/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:63](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L63) + +*** + +### type + +> **type**: `"TrackExceptionEvent"` + +#### Overrides + +[`PlayerEvent`](/api/interfaces/playerevent/).[`type`](/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:86](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L86) diff --git a/src/content/docs/api/interfaces/TrackResult.md b/src/content/docs/api/interfaces/TrackResult.md new file mode 100644 index 0000000..27dbced --- /dev/null +++ b/src/content/docs/api/interfaces/TrackResult.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "TrackResult" +--- + +## Properties + +### data + +> **data**: [`Track`](/api/interfaces/track/) + +#### Defined in + +[src/node/Rest.ts:52](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L52) + +*** + +### loadType + +> **loadType**: [`TRACK`](/api/enumerations/loadtype/#track) + +#### Defined in + +[src/node/Rest.ts:51](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L51) diff --git a/src/content/docs/api/interfaces/TrackStartEvent.md b/src/content/docs/api/interfaces/TrackStartEvent.md new file mode 100644 index 0000000..96ab4ca --- /dev/null +++ b/src/content/docs/api/interfaces/TrackStartEvent.md @@ -0,0 +1,62 @@ +--- +editUrl: false +next: false +prev: false +title: "TrackStartEvent" +--- + +## Extends + +- [`PlayerEvent`](/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`guildId`](/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L65) + +*** + +### op + +> **op**: [`EVENT`](/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`op`](/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:63](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L63) + +*** + +### track + +> **track**: [`Track`](/api/interfaces/track/) + +#### Defined in + +[src/guild/Player.ts:70](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L70) + +*** + +### type + +> **type**: `"TrackStartEvent"` + +#### Overrides + +[`PlayerEvent`](/api/interfaces/playerevent/).[`type`](/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:69](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L69) diff --git a/src/content/docs/api/interfaces/TrackStuckEvent.md b/src/content/docs/api/interfaces/TrackStuckEvent.md new file mode 100644 index 0000000..7bbee8b --- /dev/null +++ b/src/content/docs/api/interfaces/TrackStuckEvent.md @@ -0,0 +1,72 @@ +--- +editUrl: false +next: false +prev: false +title: "TrackStuckEvent" +--- + +## Extends + +- [`PlayerEvent`](/api/interfaces/playerevent/) + +## Properties + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`guildId`](/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L65) + +*** + +### op + +> **op**: [`EVENT`](/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`op`](/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:63](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L63) + +*** + +### thresholdMs + +> **thresholdMs**: `number` + +#### Defined in + +[src/guild/Player.ts:82](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L82) + +*** + +### track + +> **track**: [`Track`](/api/interfaces/track/) + +#### Defined in + +[src/guild/Player.ts:81](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L81) + +*** + +### type + +> **type**: `"TrackStuckEvent"` + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`type`](/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:80](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L80) diff --git a/src/content/docs/api/interfaces/UpdatePlayerInfo.md b/src/content/docs/api/interfaces/UpdatePlayerInfo.md new file mode 100644 index 0000000..e70f851 --- /dev/null +++ b/src/content/docs/api/interfaces/UpdatePlayerInfo.md @@ -0,0 +1,36 @@ +--- +editUrl: false +next: false +prev: false +title: "UpdatePlayerInfo" +--- + +## Properties + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/node/Rest.ts:135](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L135) + +*** + +### noReplace? + +> `optional` **noReplace**: `boolean` + +#### Defined in + +[src/node/Rest.ts:137](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L137) + +*** + +### playerOptions + +> **playerOptions**: [`UpdatePlayerOptions`](/api/interfaces/updateplayeroptions/) + +#### Defined in + +[src/node/Rest.ts:136](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L136) diff --git a/src/content/docs/api/interfaces/UpdatePlayerOptions.md b/src/content/docs/api/interfaces/UpdatePlayerOptions.md new file mode 100644 index 0000000..f068a63 --- /dev/null +++ b/src/content/docs/api/interfaces/UpdatePlayerOptions.md @@ -0,0 +1,76 @@ +--- +editUrl: false +next: false +prev: false +title: "UpdatePlayerOptions" +--- + +## Properties + +### endTime? + +> `optional` **endTime**: `number` + +#### Defined in + +[src/node/Rest.ts:127](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L127) + +*** + +### filters? + +> `optional` **filters**: [`FilterOptions`](/api/interfaces/filteroptions/) + +#### Defined in + +[src/node/Rest.ts:130](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L130) + +*** + +### paused? + +> `optional` **paused**: `boolean` + +#### Defined in + +[src/node/Rest.ts:129](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L129) + +*** + +### position? + +> `optional` **position**: `number` + +#### Defined in + +[src/node/Rest.ts:126](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L126) + +*** + +### track? + +> `optional` **track**: [`UpdatePlayerTrackOptions`](/api/interfaces/updateplayertrackoptions/) + +#### Defined in + +[src/node/Rest.ts:125](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L125) + +*** + +### voice? + +> `optional` **voice**: [`LavalinkPlayerVoiceOptions`](/api/interfaces/lavalinkplayervoiceoptions/) + +#### Defined in + +[src/node/Rest.ts:131](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L131) + +*** + +### volume? + +> `optional` **volume**: `number` + +#### Defined in + +[src/node/Rest.ts:128](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L128) diff --git a/src/content/docs/api/interfaces/UpdatePlayerTrackOptions.md b/src/content/docs/api/interfaces/UpdatePlayerTrackOptions.md new file mode 100644 index 0000000..e8029e6 --- /dev/null +++ b/src/content/docs/api/interfaces/UpdatePlayerTrackOptions.md @@ -0,0 +1,36 @@ +--- +editUrl: false +next: false +prev: false +title: "UpdatePlayerTrackOptions" +--- + +## Properties + +### encoded? + +> `optional` **encoded**: `null` \| `string` + +#### Defined in + +[src/node/Rest.ts:119](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L119) + +*** + +### identifier? + +> `optional` **identifier**: `string` + +#### Defined in + +[src/node/Rest.ts:120](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L120) + +*** + +### userData? + +> `optional` **userData**: `unknown` + +#### Defined in + +[src/node/Rest.ts:121](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L121) diff --git a/src/content/docs/api/interfaces/VoiceChannelOptions.md b/src/content/docs/api/interfaces/VoiceChannelOptions.md new file mode 100644 index 0000000..9ef3a17 --- /dev/null +++ b/src/content/docs/api/interfaces/VoiceChannelOptions.md @@ -0,0 +1,56 @@ +--- +editUrl: false +next: false +prev: false +title: "VoiceChannelOptions" +--- + +## Properties + +### channelId + +> **channelId**: `string` + +#### Defined in + +[src/Shoukaku.ts:94](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L94) + +*** + +### deaf? + +> `optional` **deaf**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:95](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L95) + +*** + +### guildId + +> **guildId**: `string` + +#### Defined in + +[src/Shoukaku.ts:92](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L92) + +*** + +### mute? + +> `optional` **mute**: `boolean` + +#### Defined in + +[src/Shoukaku.ts:96](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L96) + +*** + +### shardId + +> **shardId**: `number` + +#### Defined in + +[src/Shoukaku.ts:93](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Shoukaku.ts#L93) diff --git a/src/content/docs/api/interfaces/WebSocketClosedEvent.md b/src/content/docs/api/interfaces/WebSocketClosedEvent.md new file mode 100644 index 0000000..d7eaf7e --- /dev/null +++ b/src/content/docs/api/interfaces/WebSocketClosedEvent.md @@ -0,0 +1,82 @@ +--- +editUrl: false +next: false +prev: false +title: "WebSocketClosedEvent" +--- + +## Extends + +- [`PlayerEvent`](/api/interfaces/playerevent/) + +## Properties + +### byRemote + +> **byRemote**: `boolean` + +#### Defined in + +[src/guild/Player.ts:98](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L98) + +*** + +### code + +> **code**: `number` + +#### Defined in + +[src/guild/Player.ts:97](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L97) + +*** + +### guildId + +> **guildId**: `string` + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`guildId`](/api/interfaces/playerevent/#guildid) + +#### Defined in + +[src/guild/Player.ts:65](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L65) + +*** + +### op + +> **op**: [`EVENT`](/api/namespaces/constants/enumerations/opcodes/#event) + +#### Inherited from + +[`PlayerEvent`](/api/interfaces/playerevent/).[`op`](/api/interfaces/playerevent/#op) + +#### Defined in + +[src/guild/Player.ts:63](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L63) + +*** + +### reason + +> **reason**: `string` + +#### Defined in + +[src/guild/Player.ts:99](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L99) + +*** + +### type + +> **type**: `"WebSocketClosedEvent"` + +#### Overrides + +[`PlayerEvent`](/api/interfaces/playerevent/).[`type`](/api/interfaces/playerevent/#type) + +#### Defined in + +[src/guild/Player.ts:96](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L96) diff --git a/src/content/docs/api/namespaces/Connectors/classes/DiscordJS.md b/src/content/docs/api/namespaces/Connectors/classes/DiscordJS.md new file mode 100644 index 0000000..7efddcd --- /dev/null +++ b/src/content/docs/api/namespaces/Connectors/classes/DiscordJS.md @@ -0,0 +1,120 @@ +--- +editUrl: false +next: false +prev: false +title: "DiscordJS" +--- + +## Extends + +- [`Connector`](/api/classes/connector/) + +## Constructors + +### new DiscordJS() + +> **new DiscordJS**(`client`): [`DiscordJS`](/api/namespaces/connectors/classes/discordjs/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`DiscordJS`](/api/namespaces/connectors/classes/discordjs/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`constructor`](/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`getId`](/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/DiscordJS.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/api/interfaces/nodeoption/)[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`listen`](/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:14](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/DiscordJS.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`sendPacket`](/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/DiscordJS.ts:6](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/DiscordJS.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/api/classes/connector/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`set`](/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/api/namespaces/Connectors/classes/Eris.md b/src/content/docs/api/namespaces/Connectors/classes/Eris.md new file mode 100644 index 0000000..a303aae --- /dev/null +++ b/src/content/docs/api/namespaces/Connectors/classes/Eris.md @@ -0,0 +1,120 @@ +--- +editUrl: false +next: false +prev: false +title: "Eris" +--- + +## Extends + +- [`Connector`](/api/classes/connector/) + +## Constructors + +### new Eris() + +> **new Eris**(`client`): [`Eris`](/api/namespaces/connectors/classes/eris/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`Eris`](/api/namespaces/connectors/classes/eris/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`constructor`](/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`getId`](/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/Eris.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/Eris.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/api/interfaces/nodeoption/)[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`listen`](/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/Eris.ts:14](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/Eris.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`sendPacket`](/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/Eris.ts:6](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/Eris.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/api/classes/connector/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`set`](/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/api/namespaces/Connectors/classes/OceanicJS.md b/src/content/docs/api/namespaces/Connectors/classes/OceanicJS.md new file mode 100644 index 0000000..a45226b --- /dev/null +++ b/src/content/docs/api/namespaces/Connectors/classes/OceanicJS.md @@ -0,0 +1,120 @@ +--- +editUrl: false +next: false +prev: false +title: "OceanicJS" +--- + +## Extends + +- [`Connector`](/api/classes/connector/) + +## Constructors + +### new OceanicJS() + +> **new OceanicJS**(`client`): [`OceanicJS`](/api/namespaces/connectors/classes/oceanicjs/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`OceanicJS`](/api/namespaces/connectors/classes/oceanicjs/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`constructor`](/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`getId`](/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/OceanicJS.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/api/interfaces/nodeoption/)[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`listen`](/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:14](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/OceanicJS.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`sendPacket`](/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/OceanicJS.ts:6](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/OceanicJS.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/api/classes/connector/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`set`](/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/api/namespaces/Connectors/classes/Seyfert.md b/src/content/docs/api/namespaces/Connectors/classes/Seyfert.md new file mode 100644 index 0000000..f17d78b --- /dev/null +++ b/src/content/docs/api/namespaces/Connectors/classes/Seyfert.md @@ -0,0 +1,120 @@ +--- +editUrl: false +next: false +prev: false +title: "Seyfert" +--- + +## Extends + +- [`Connector`](/api/classes/connector/) + +## Constructors + +### new Seyfert() + +> **new Seyfert**(`client`): [`Seyfert`](/api/namespaces/connectors/classes/seyfert/) + +#### Parameters + +β€’ **client**: `any` + +#### Returns + +[`Seyfert`](/api/namespaces/connectors/classes/seyfert/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`constructor`](/api/classes/connector/#constructors) + +#### Defined in + +[src/connectors/Connector.ts:15](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L15) + +## Methods + +### getId() + +> **getId**(): `string` + +#### Returns + +`string` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`getId`](/api/classes/connector/#getid) + +#### Defined in + +[src/connectors/libs/Seyfert.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/Seyfert.ts#L10) + +*** + +### listen() + +> **listen**(`nodes`): `void` + +#### Parameters + +β€’ **nodes**: [`NodeOption`](/api/interfaces/nodeoption/)[] + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`listen`](/api/classes/connector/#listen) + +#### Defined in + +[src/connectors/libs/Seyfert.ts:14](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/Seyfert.ts#L14) + +*** + +### sendPacket() + +> **sendPacket**(`shardId`, `payload`, `important`): `void` + +#### Parameters + +β€’ **shardId**: `number` + +β€’ **payload**: `any` + +β€’ **important**: `boolean` + +#### Returns + +`void` + +#### Overrides + +[`Connector`](/api/classes/connector/).[`sendPacket`](/api/classes/connector/#sendpacket) + +#### Defined in + +[src/connectors/libs/Seyfert.ts:6](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/libs/Seyfert.ts#L6) + +*** + +### set() + +> **set**(`manager`): [`Connector`](/api/classes/connector/) + +#### Parameters + +β€’ **manager**: [`Shoukaku`](/api/classes/shoukaku/) + +#### Returns + +[`Connector`](/api/classes/connector/) + +#### Inherited from + +[`Connector`](/api/classes/connector/).[`set`](/api/classes/connector/#set) + +#### Defined in + +[src/connectors/Connector.ts:20](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L20) diff --git a/src/content/docs/api/namespaces/Constants/enumerations/OpCodes.md b/src/content/docs/api/namespaces/Constants/enumerations/OpCodes.md new file mode 100644 index 0000000..c0accce --- /dev/null +++ b/src/content/docs/api/namespaces/Constants/enumerations/OpCodes.md @@ -0,0 +1,46 @@ +--- +editUrl: false +next: false +prev: false +title: "OpCodes" +--- + +## Enumeration Members + +### EVENT + +> **EVENT**: `"event"` + +#### Defined in + +[src/Constants.ts:23](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L23) + +*** + +### PLAYER\_UPDATE + +> **PLAYER\_UPDATE**: `"playerUpdate"` + +#### Defined in + +[src/Constants.ts:21](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L21) + +*** + +### READY + +> **READY**: `"ready"` + +#### Defined in + +[src/Constants.ts:24](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L24) + +*** + +### STATS + +> **STATS**: `"stats"` + +#### Defined in + +[src/Constants.ts:22](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L22) diff --git a/src/content/docs/api/namespaces/Constants/enumerations/State.md b/src/content/docs/api/namespaces/Constants/enumerations/State.md new file mode 100644 index 0000000..4d74b09 --- /dev/null +++ b/src/content/docs/api/namespaces/Constants/enumerations/State.md @@ -0,0 +1,66 @@ +--- +editUrl: false +next: false +prev: false +title: "State" +--- + +## Enumeration Members + +### CONNECTED + +> **CONNECTED**: `2` + +#### Defined in + +[src/Constants.ts:7](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L7) + +*** + +### CONNECTING + +> **CONNECTING**: `0` + +#### Defined in + +[src/Constants.ts:5](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L5) + +*** + +### DISCONNECTED + +> **DISCONNECTED**: `5` + +#### Defined in + +[src/Constants.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L10) + +*** + +### DISCONNECTING + +> **DISCONNECTING**: `4` + +#### Defined in + +[src/Constants.ts:9](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L9) + +*** + +### NEARLY + +> **NEARLY**: `1` + +#### Defined in + +[src/Constants.ts:6](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L6) + +*** + +### RECONNECTING + +> **RECONNECTING**: `3` + +#### Defined in + +[src/Constants.ts:8](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L8) diff --git a/src/content/docs/api/namespaces/Constants/enumerations/Versions.md b/src/content/docs/api/namespaces/Constants/enumerations/Versions.md new file mode 100644 index 0000000..8890959 --- /dev/null +++ b/src/content/docs/api/namespaces/Constants/enumerations/Versions.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "Versions" +--- + +## Enumeration Members + +### REST\_VERSION + +> **REST\_VERSION**: `4` + +#### Defined in + +[src/Constants.ts:28](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L28) + +*** + +### WEBSOCKET\_VERSION + +> **WEBSOCKET\_VERSION**: `4` + +#### Defined in + +[src/Constants.ts:29](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L29) diff --git a/src/content/docs/api/namespaces/Constants/enumerations/VoiceState.md b/src/content/docs/api/namespaces/Constants/enumerations/VoiceState.md new file mode 100644 index 0000000..9a46e30 --- /dev/null +++ b/src/content/docs/api/namespaces/Constants/enumerations/VoiceState.md @@ -0,0 +1,46 @@ +--- +editUrl: false +next: false +prev: false +title: "VoiceState" +--- + +## Enumeration Members + +### SESSION\_ENDPOINT\_MISSING + +> **SESSION\_ENDPOINT\_MISSING**: `2` + +#### Defined in + +[src/Constants.ts:16](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L16) + +*** + +### SESSION\_FAILED\_UPDATE + +> **SESSION\_FAILED\_UPDATE**: `3` + +#### Defined in + +[src/Constants.ts:17](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L17) + +*** + +### SESSION\_ID\_MISSING + +> **SESSION\_ID\_MISSING**: `1` + +#### Defined in + +[src/Constants.ts:15](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L15) + +*** + +### SESSION\_READY + +> **SESSION\_READY**: `0` + +#### Defined in + +[src/Constants.ts:14](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L14) diff --git a/src/content/docs/api/namespaces/Constants/variables/NodeDefaults.md b/src/content/docs/api/namespaces/Constants/variables/NodeDefaults.md new file mode 100644 index 0000000..2d9b059 --- /dev/null +++ b/src/content/docs/api/namespaces/Constants/variables/NodeDefaults.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "NodeDefaults" +--- + +> `const` **NodeDefaults**: [`NodeOption`](/api/interfaces/nodeoption/) + +## Defined in + +[src/Constants.ts:49](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L49) diff --git a/src/content/docs/api/namespaces/Constants/variables/ShoukakuDefaults.md b/src/content/docs/api/namespaces/Constants/variables/ShoukakuDefaults.md new file mode 100644 index 0000000..b238e0d --- /dev/null +++ b/src/content/docs/api/namespaces/Constants/variables/ShoukakuDefaults.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "ShoukakuDefaults" +--- + +> `const` **ShoukakuDefaults**: `Required`\<[`ShoukakuOptions`](/api/interfaces/shoukakuoptions/)\> + +## Defined in + +[src/Constants.ts:32](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Constants.ts#L32) diff --git a/src/content/docs/api/namespaces/Utils/functions/mergeDefault.md b/src/content/docs/api/namespaces/Utils/functions/mergeDefault.md new file mode 100644 index 0000000..3be450d --- /dev/null +++ b/src/content/docs/api/namespaces/Utils/functions/mergeDefault.md @@ -0,0 +1,34 @@ +--- +editUrl: false +next: false +prev: false +title: "mergeDefault" +--- + +> **mergeDefault**\<`T`\>(`def`, `given`): `Required`\<`T`\> + +Merge the default options to user input + +## Type Parameters + +β€’ **T** *extends* `object` + +## Parameters + +β€’ **def**: `T` + +Default options + +β€’ **given**: `T` + +User input + +## Returns + +`Required`\<`T`\> + +Merged options + +## Defined in + +[src/Utils.ts:9](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Utils.ts#L9) diff --git a/src/content/docs/api/namespaces/Utils/functions/wait.md b/src/content/docs/api/namespaces/Utils/functions/wait.md new file mode 100644 index 0000000..335fdaa --- /dev/null +++ b/src/content/docs/api/namespaces/Utils/functions/wait.md @@ -0,0 +1,26 @@ +--- +editUrl: false +next: false +prev: false +title: "wait" +--- + +> **wait**(`ms`): `Promise`\<`void`\> + +Wait for a specific amount of time (timeout) + +## Parameters + +β€’ **ms**: `number` + +Time to wait in milliseconds + +## Returns + +`Promise`\<`void`\> + +A promise that resolves in x seconds + +## Defined in + +[src/Utils.ts:30](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Utils.ts#L30) diff --git a/src/content/docs/api/namespaces/Utils/type-aliases/Constructor.md b/src/content/docs/api/namespaces/Utils/type-aliases/Constructor.md new file mode 100644 index 0000000..c63f670 --- /dev/null +++ b/src/content/docs/api/namespaces/Utils/type-aliases/Constructor.md @@ -0,0 +1,24 @@ +--- +editUrl: false +next: false +prev: false +title: "Constructor" +--- + +> **Constructor**\<`T`\>: (...`args`) => `T` + +## Type Parameters + +β€’ **T** + +## Parameters + +β€’ ...**args**: `any`[] + +## Returns + +`T` + +## Defined in + +[src/Utils.ts:1](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/Utils.ts#L1) diff --git a/src/content/docs/api/type-aliases/LavalinkResponse.md b/src/content/docs/api/type-aliases/LavalinkResponse.md new file mode 100644 index 0000000..b80ebf3 --- /dev/null +++ b/src/content/docs/api/type-aliases/LavalinkResponse.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "LavalinkResponse" +--- + +> **LavalinkResponse**: [`TrackResult`](/api/interfaces/trackresult/) \| [`PlaylistResult`](/api/interfaces/playlistresult/) \| [`SearchResult`](/api/interfaces/searchresult/) \| [`EmptyResult`](/api/interfaces/emptyresult/) \| [`ErrorResult`](/api/interfaces/errorresult/) + +## Defined in + +[src/node/Rest.ts:75](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L75) diff --git a/src/content/docs/api/type-aliases/NodeInfo.md b/src/content/docs/api/type-aliases/NodeInfo.md new file mode 100644 index 0000000..156956a --- /dev/null +++ b/src/content/docs/api/type-aliases/NodeInfo.md @@ -0,0 +1,46 @@ +--- +editUrl: false +next: false +prev: false +title: "NodeInfo" +--- + +> **NodeInfo**: `object` + +## Type declaration + +### buildTime + +> **buildTime**: `number` + +### filters + +> **filters**: `string`[] + +### git + +> **git**: `NodeInfoGit` + +### jvm + +> **jvm**: `string` + +### lavaplayer + +> **lavaplayer**: `string` + +### plugins + +> **plugins**: `NodeInfoPlugin`[] + +### sourceManagers + +> **sourceManagers**: `string`[] + +### version + +> **version**: `NodeInfoVersion` + +## Defined in + +[src/node/Node.ts:51](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Node.ts#L51) diff --git a/src/content/docs/api/type-aliases/PlayOptions.md b/src/content/docs/api/type-aliases/PlayOptions.md new file mode 100644 index 0000000..5ed9d02 --- /dev/null +++ b/src/content/docs/api/type-aliases/PlayOptions.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "PlayOptions" +--- + +> **PlayOptions**: `Omit`\<[`UpdatePlayerOptions`](/api/interfaces/updateplayeroptions/), `"filters"` \| `"voice"`\> + +## Defined in + +[src/guild/Player.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L10) diff --git a/src/content/docs/api/type-aliases/PlayerEventType.md b/src/content/docs/api/type-aliases/PlayerEventType.md new file mode 100644 index 0000000..902e289 --- /dev/null +++ b/src/content/docs/api/type-aliases/PlayerEventType.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "PlayerEventType" +--- + +> **PlayerEventType**: `"TrackStartEvent"` \| `"TrackEndEvent"` \| `"TrackExceptionEvent"` \| `"TrackStuckEvent"` \| `"WebSocketClosedEvent"` + +## Defined in + +[src/guild/Player.ts:9](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L9) diff --git a/src/content/docs/api/type-aliases/ResumeOptions.md b/src/content/docs/api/type-aliases/ResumeOptions.md new file mode 100644 index 0000000..79301b8 --- /dev/null +++ b/src/content/docs/api/type-aliases/ResumeOptions.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "ResumeOptions" +--- + +> **ResumeOptions**: `Omit`\<[`UpdatePlayerOptions`](/api/interfaces/updateplayeroptions/), `"track"` \| `"filters"` \| `"voice"`\> + +## Defined in + +[src/guild/Player.ts:11](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L11) diff --git a/src/content/docs/api/type-aliases/Severity.md b/src/content/docs/api/type-aliases/Severity.md new file mode 100644 index 0000000..7dd4b9d --- /dev/null +++ b/src/content/docs/api/type-aliases/Severity.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "Severity" +--- + +> **Severity**: `"common"` \| `"suspicious"` \| `"fault"` + +## Defined in + +[src/node/Rest.ts:6](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/node/Rest.ts#L6) diff --git a/src/content/docs/api/type-aliases/TrackEndReason.md b/src/content/docs/api/type-aliases/TrackEndReason.md new file mode 100644 index 0000000..9613ce9 --- /dev/null +++ b/src/content/docs/api/type-aliases/TrackEndReason.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "TrackEndReason" +--- + +> **TrackEndReason**: `"finished"` \| `"loadFailed"` \| `"stopped"` \| `"replaced"` \| `"cleanup"` + +## Defined in + +[src/guild/Player.ts:8](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/guild/Player.ts#L8) diff --git a/src/content/docs/api/variables/AllowedPackets.md b/src/content/docs/api/variables/AllowedPackets.md new file mode 100644 index 0000000..b5e1b96 --- /dev/null +++ b/src/content/docs/api/variables/AllowedPackets.md @@ -0,0 +1,12 @@ +--- +editUrl: false +next: false +prev: false +title: "AllowedPackets" +--- + +> `const` **AllowedPackets**: `string`[] + +## Defined in + +[src/connectors/Connector.ts:10](https://github.com/shipgirlproject/shoukaku/blob/f3e4f8953c070c0cdfec493d072e6a22e3555895/src/connectors/Connector.ts#L10) diff --git a/src/content/docs/guides/1-getting-started.mdx b/src/content/docs/guides/1-getting-started.mdx new file mode 100644 index 0000000..02a5379 --- /dev/null +++ b/src/content/docs/guides/1-getting-started.mdx @@ -0,0 +1,90 @@ +--- +title: Getting Started +description: Get started with Shoukaku. +--- + +import { PackageManagers } from "starlight-package-managers"; +import { Tabs, TabItem, Steps, Aside } from '@astrojs/starlight/components'; + +Shoukaku is a stable, powerful and updated wrapper around [Lavalink](https://lavalink.dev/). It is Discord library agnostic, and can add support for new Discord libraries using connectors. + +## Set up Shoukaku + +1. Install Shoukaku using your favorite package manager. + + + +2. Initialize the library using one of the connectors. + + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.Eris(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + ```js + const { Client } = require('discord.js'); + const { Shoukaku, Connectors } = require('shoukaku'); + const Nodes = [{ + name: 'Localhost', + url: 'localhost:6969', + auth: 'marin_kitagawa' + }]; + const client = new Client(); + const shoukaku = new Shoukaku(new Connectors.OceanicJS(client), Nodes); + // ALWAYS handle error, logging it will do + shoukaku.on('error', (_, error) => console.error(error)); + client.login('token'); + // If you want shoukaku to be available on client, then bind it to it, here is one example of it + client.shoukaku = shoukaku; + ``` + + + + + + +## Other Resources + +- [Lavalink Docs](https://lavalink.dev) +- Example implementation using Discord.JS: [Kongou](https://github.com/Deivu/Kongou) +- Get support on the [Discord server](https://discord.gg/FVqbtGu) diff --git a/src/content/docs/guides/2-options.mdx b/src/content/docs/guides/2-options.mdx new file mode 100644 index 0000000..a8191d5 --- /dev/null +++ b/src/content/docs/guides/2-options.mdx @@ -0,0 +1,18 @@ +--- +title: Configuration Options +description: Options for configuring behavior. +--- + +| Option | Type | Default | Description | +| ---------------------- | ----------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| resume | boolean | false | Whether to resume a connection on disconnect to Lavalink (Server Side) (Note: DOES NOT RESUME WHEN THE LAVALINK SERVER DIES) | +| resumeTimeout | number | 30 | Timeout before resuming a connection **in seconds** | +| resumeByLibrary | boolean | false | Whether to resume the players by doing it in the library side (Client Side) (Note: TRIES TO RESUME REGARDLESS OF WHAT HAPPENED ON A LAVALINK SERVER) | +| reconnectTries | number | 3 | Number of times to try and reconnect to Lavalink before giving up | +| reconnectInterval | number | 5 | Timeout before trying to reconnect **in seconds** | +| restTimeout | number | 60 | Time to wait for a response from the Lavalink REST API before giving up **in seconds** | +| moveOnDisconnect | boolean | false | Whether to move players to a different Lavalink node when a node disconnects | +| userAgent | string | (auto) | User Agent to use when making requests to Lavalink | +| structures | Object\{rest?, player?} | \{} | Custom structures for shoukaku to use | +| voiceConnectionTimeout | number | 15 | Timeout before abort connection **in seconds** | +| nodeResolver | function | function | Custom node resolver if you want to have your own method of getting the ideal node | \ No newline at end of file diff --git a/src/content/docs/guides/3-common.mdx b/src/content/docs/guides/3-common.mdx new file mode 100644 index 0000000..9f1bb47 --- /dev/null +++ b/src/content/docs/guides/3-common.mdx @@ -0,0 +1,68 @@ +--- +title: Common Usage +description: Commonly used pieces of code. +--- + +import { Steps } from '@astrojs/starlight/components'; + +## Join a voice channel, search for a track, play the track, then disconnect after 30 seconds + + +1. Tell Lavalink to join a Discord voice channel. + + ```js + const player = await shoukaku.joinVoiceChannel({ + guildId: "your_guild_id", + channelId: "your_channel_id", + shardId: 0, // if unsharded it will always be zero (depending on your library implementation) + }); + ``` +2. Search for a track, here we are searching via [SoundCloud](https://soundcloud.com), using the `scsearch:` prefix. The string after the prefix is the search query. + + ```js + const result = await player.node.rest.resolve("scsearch:snowhalation"); + if (!result?.tracks.length) return; + const metadata = result.tracks.shift(); + ``` +3. Tell Lavalink to play the searched track. + + ```js + await player.playTrack({ track: metadata.encoded }); + ``` +4. After 30 seconds, tell Lavalink to leave the voice channel. + + ```js + setTimeout(() => shoukaku.leaveVoiceChannel(player.guildId), 30000).unref(); + ``` + + +## Playing a track and changing a playback option +Here we are changing the volume, you can do [other stuff](/api/classes/player#methods) as well. +```js +await player.playTrack({ track: metadata.encoded }); +await player.setGlobalVolume(50); +``` + +You can also update the player without using helper functions +```js +await player.update({ ...playerOptions }); +``` + +## Custom function to get the ideal node +When executing any action, an API endpoint is called on a Lavalink node. When there are many nodes passed in the configuration, some logic is used to select the node to perform actions on. +```js +const shoukaku = new Shoukaku( + new Connectors.DiscordJS(client), + [{ ...yourNodeOptions }], + { + ...yourShoukakuOptions, + nodeResolver: (nodes, connection) => getYourIdealNode(nodes, connection), + } +); + +const player = await shoukaku.joinVoiceChannel({ + guildId: "your_guild_id", + channelId: "your_channel_id", + shardId: 0, +}); +``` diff --git a/src/content/docs/guides/4-plugins.mdx b/src/content/docs/guides/4-plugins.mdx new file mode 100644 index 0000000..d097256 --- /dev/null +++ b/src/content/docs/guides/4-plugins.mdx @@ -0,0 +1,19 @@ +--- +title: Plugins +description: Plugins to extend Shoukaku. +--- + +import { Aside } from '@astrojs/starlight/components'; + +## Plugins List +Open a pull request to add your plugin here + +| Name | Link | Description | +| ------------ | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| Kazagumo | [Github](https://github.com/Takiyo0/Kazagumo) | A Shoukaku wrapper that have built-in queue system | +| stone-deezer | [NPM](https://www.npmjs.com/package/stone-deezer) | A plugin to simplify deezer links and then play it from available sources (**REQUIRES [KAZAGUMO](https://github.com/Takiyo0/Kazagumo)**) | + +## Creating Plugins + diff --git a/src/content/docs/guides/5-updating-from-v3.mdx b/src/content/docs/guides/5-updating-from-v3.mdx new file mode 100644 index 0000000..856fe81 --- /dev/null +++ b/src/content/docs/guides/5-updating-from-v3.mdx @@ -0,0 +1,95 @@ +--- +title: Updating from v3 to v4 +description: Changes in your code when updating from v3. +--- +There are some major changes in Shoukaku v4. Here is some major changes that need to be made to your code. + +## Common usage + +### Getting a node +As node resolving is configurable in v4, the method to do so has changed. +```diff +- const node = shoukaku.getNode(); ++ const node = shoukaku.options.nodeResolver(shoukaku.nodes); +``` + +### Joining voice channels +You now join voice channels using the main Shoukaku class, and not on the Node class +```diff +-const player = await node.joinChannel({ ++const player = await shoukaku.joinVoiceChannel({ + guildId: "your_guild_id", + channelId: "your_channel_id", + shardId: 0, // if unsharded it will always be zero (depending on your library implementation) +}); +``` + +### Resolving tracks +You can also use the player.node property after connecting to a voice channel to resolve tracks, but the old method would still work. +```diff +-const result = await node.rest.resolve("scsearch:snowhalation"); ++const result = await player.node.rest.resolve("scsearch:snowhalation"); +``` + +### Playing tracks +Play the track using the encoded metadata. +```diff +-player.playTrack({ track: metadata.track }) ++await player.playTrack({ track: metadata.encoded }); +``` + +### Leaving voice channels +Similar to joining voice channels, it is also on the main Shoukaku class. +```diff +-player.connection.disconnect(); ++await shoukaku.leaveVoiceChannel(player.guildId); +``` + +## Other changes + +### Player methods +Player methods now return promises. +```js +await player.playTrack(...data); +await player.stopTrack(); +``` + +### Volume +There are 2 kinds of volumes you can set, global and filter. + +The global volume accepts 0-1000 as it's values +```js +await player.setGlobalVolume(100); +``` +To check the current global volume +```js +console.log(player.volume); +``` +The filter volume accepts 0.0-5.0 as it's values +```js +await player.setFilterVolume(1.0); +``` +To check the current filter volume (filters.volume can be undefined) +```js +console.log(player.filters.volume); +``` + +### Internal changes + +New variable in shoukaku class, which handles the "connection data" of discord only +```js +console.log(shoukaku.connections); +``` + +Players are moved from `node.players` to `shoukaku.players` +```js +console.log(shoukaku.players); +``` + +You can supply a custom node resolver for your own way of getting an ideal node by supplying the nodeResolver option in Shoukaku options +```js +const ShoukakuOptions = { + ...yourShoukakuOptions, + nodeResolver: (nodes, connection) => getYourIdealNode(nodes, connection), +}; +``` diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx new file mode 100644 index 0000000..58d745b --- /dev/null +++ b/src/content/docs/index.mdx @@ -0,0 +1,16 @@ +--- +title: Shoukaku Docs +description: A stable, powerful and updated wrapper around Lavalink. +hero: + tagline: A stable, powerful and updated wrapper around Lavalink. + image: + file: ../../assets/shoukaku.webp + actions: + - text: Getting Started + link: /guides/1-getting-started/ + icon: right-arrow + variant: primary + - text: API Reference + link: /api/classes/shoukaku/ + icon: external +--- diff --git a/src/content/versions/3.4.2.json b/src/content/versions/3.4.2.json new file mode 100644 index 0000000..c0e3c8e --- /dev/null +++ b/src/content/versions/3.4.2.json @@ -0,0 +1,48 @@ +{ + "sidebar": [ + { + "label": "Guides", + "autogenerate": { + "directory": "guides" + } + }, + { + "label": "API Reference", + "collapsed": false, + "items": [ + { + "collapsed": true, + "label": "Namespaces", + "autogenerate": { + "collapsed": true, + "directory": "api/namespaces" + } + }, + { + "collapsed": true, + "label": "Classes", + "autogenerate": { + "collapsed": true, + "directory": "api/classes" + } + }, + { + "collapsed": true, + "label": "Interfaces", + "autogenerate": { + "collapsed": true, + "directory": "api/interfaces" + } + }, + { + "collapsed": true, + "label": "Type Aliases", + "autogenerate": { + "collapsed": true, + "directory": "api/type-aliases" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/content/versions/4.0.1.json b/src/content/versions/4.0.1.json new file mode 100644 index 0000000..7228580 --- /dev/null +++ b/src/content/versions/4.0.1.json @@ -0,0 +1,64 @@ +{ + "sidebar": [ + { + "label": "Guides", + "autogenerate": { + "directory": "guides" + } + }, + { + "label": "API Reference", + "collapsed": false, + "items": [ + { + "collapsed": true, + "label": "Namespaces", + "autogenerate": { + "collapsed": true, + "directory": "api/namespaces" + } + }, + { + "collapsed": true, + "label": "Enumerations", + "autogenerate": { + "collapsed": true, + "directory": "api/enumerations" + } + }, + { + "collapsed": true, + "label": "Classes", + "autogenerate": { + "collapsed": true, + "directory": "api/classes" + } + }, + { + "collapsed": true, + "label": "Interfaces", + "autogenerate": { + "collapsed": true, + "directory": "api/interfaces" + } + }, + { + "collapsed": true, + "label": "Type Aliases", + "autogenerate": { + "collapsed": true, + "directory": "api/type-aliases" + } + }, + { + "collapsed": true, + "label": "Variables", + "autogenerate": { + "collapsed": true, + "directory": "api/variables" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..acef35f --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..1e65c13 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,8 @@ +{ + "include": ["./src/*", ".eslintrc.cjs", "./shoukaku/*", "./.astro/*"], + "extends": "astro/tsconfigs/strict", + "compilerOptions": { + "verbatimModuleSyntax": false, + "skipLibCheck": true + } +} \ No newline at end of file