BREAKING CHANGE: This library no longer supports using `tweetnacl` as an encryption library due to Discord deprecating the algorithms that `tweetnacl` helped us support (read more [here](https://discord.com/developers/docs/change-log#voice-encryption-modes)). Please migrate to one of: `sodium-native`, `sodium`, `@stablelib/xchacha20poly1305`, `@noble/ciphers` or `libsodium-wrappers` unless your system supports `aes-256-gcm` (verify by running `require('node:crypto').getCiphers().includes('aes-256-gcm')`).
---------
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
* Move the getNode/canEnableFFMPEGOptimizations into a lazy loaded call the first time it's actually ever referenced
* PR feedback: Make initializeNodes return a map then nullably assign NODES, this removes an extra variable and cleans up the code
* chore: lint suggestion
Co-authored-by: Aura Román <kyradiscord@gmail.com>
* Use local map instead of recursive
* Run prettier
* Fix lint
---------
Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
Co-authored-by: Aura Román <kyradiscord@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Explicitly add input args for readable input cases instead of just for string input cases.
Change also ensures that constant arrays are passed by value instead of by reference, preventing them from accidentally being modified.
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
* docs: fix version export
* types: assert `[VI]{{inject}}[/VI]` as string
* types: typo
* Revert "types: typo"
This reverts commit ba983f02be.
* types: typo
I hate my local repo. It can't install deps with `--immutable` and a have weird error on `yarn test`, but the CI passes