diff --git a/packages/rx/.github/workflows/npm-publish-github-packages.yml b/packages/rx/.github/workflows/npm-publish-github-packages.yml
deleted file mode 100644
index c29be29..0000000
--- a/packages/rx/.github/workflows/npm-publish-github-packages.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
-# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
-
-name: Node.js Package
-
-on:
- release:
- types: [published]
- workflow_dispatch:
-jobs:
- test-and-publish:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: 17
- - uses: pnpm/action-setup@v2
- with:
- run_install: |
- - recursive: true
- args: [--strict-peer-dependencies]
- - run: pnpm install
- - run: pnpm test
- - run: pnpm build
- - uses: JS-DevTools/npm-publish@v1
- with:
- token: ${{ secrets.NPM_TOKEN }}
- access: "public"
diff --git a/packages/rx/.github/workflows/release-please.yml b/packages/rx/.github/workflows/release-please.yml
deleted file mode 100644
index dd589ac..0000000
--- a/packages/rx/.github/workflows/release-please.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-name: release-please
-
-on:
- workflow_dispatch:
-jobs:
- release-please:
- runs-on: ubuntu-latest
- steps:
- - uses: google-github-actions/release-please-action@v3.1.2
- with:
- release-type: node
- package-name: release-please-action
- bump-patch-for-minor-pre-major: true
\ No newline at end of file
diff --git a/packages/rx/.gitignore b/packages/rx/.gitignore
deleted file mode 100644
index 84adb3e..0000000
--- a/packages/rx/.gitignore
+++ /dev/null
@@ -1,117 +0,0 @@
-### Node template
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-web_modules/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Microbundle cache
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-.env.test
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-.parcel-cache
-
-# Next.js build output
-.next
-out
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and not Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# TernJS port file
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-.vscode-test
-
-# yarn v2
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
-
diff --git a/packages/rx/.idea/.gitignore b/packages/rx/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/packages/rx/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/packages/rx/.idea/discord.xml b/packages/rx/.idea/discord.xml
deleted file mode 100644
index d8e9561..0000000
--- a/packages/rx/.idea/discord.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/rx/.idea/misc.xml b/packages/rx/.idea/misc.xml
deleted file mode 100644
index 8faa81f..0000000
--- a/packages/rx/.idea/misc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/rx/.idea/modules.xml b/packages/rx/.idea/modules.xml
deleted file mode 100644
index 6f83ec7..0000000
--- a/packages/rx/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/rx/.idea/vcs.xml b/packages/rx/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/packages/rx/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/rx/.npmignore b/packages/rx/.npmignore
deleted file mode 100644
index e3c3fc1..0000000
--- a/packages/rx/.npmignore
+++ /dev/null
@@ -1,12 +0,0 @@
-src
-build
-.editorconfig
-.eslintrc.json
-.gitignore
-.travis.yml
-rollup.config.dev.js
-rollup.config.js
-yarn-error.log
-vitest.config.ts
-test/**/*
-examples
\ No newline at end of file
diff --git a/packages/rx/CHANGELOG.md b/packages/rx/CHANGELOG.md
deleted file mode 100644
index 0effdaf..0000000
--- a/packages/rx/CHANGELOG.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# Changelog
-
-### [0.0.3-alpha](https://github.com/sern-handler/rx/compare/v0.0.2-alpha...v0.0.3-alpha) (2023-02-15)
-
-
-### Features
-
-* add optional takeN index to toCollection ([8f6ac9f](https://github.com/sern-handler/rx/commit/8f6ac9fa20fff489eed1fcb2b01c74efad4bbee2))
-* parameterize source ([feb4776](https://github.com/sern-handler/rx/commit/feb4776d0be2c71025bd18165e097f786dfc17fb))
-
-
-### Bug Fixes
-
-* generics ([51aba2a](https://github.com/sern-handler/rx/commit/51aba2a444067505b9b39cd6347c24084b733ef9))
-* generics ([1d1f946](https://github.com/sern-handler/rx/commit/1d1f946cc7fbd9656acdff13f98d25de03d9ebb0))
-* update package.json ([0771676](https://github.com/sern-handler/rx/commit/07716765731be34407f889ed0d58aca36c407f0a))
-
-### [0.0.2-alpha](https://github.com/sern-handler/rx/compare/v0.0.1-alpha...v0.0.2-alpha) (2023-02-14)
-
-
-### Features
-
-* add discord.js examples ([91de33d](https://github.com/sern-handler/rx/commit/91de33dda327843caf1b7c0b77cbf42e096f8cbe))
-* build for esm only ([5006f96](https://github.com/sern-handler/rx/commit/5006f96149432fa563e4db86a5fa25cf0df751d8))
-* buttons ([d2ec056](https://github.com/sern-handler/rx/commit/d2ec056f4d1e4ab950266f693b385384c9cfc789))
-* remove pipeline option ([baecfb6](https://github.com/sern-handler/rx/commit/baecfb6bb1de624aa2897492f54788d4d3bd4402))
-* testing composable-style functions ([cd1fcf7](https://github.com/sern-handler/rx/commit/cd1fcf79825968cf1b6b75816bdc1da9add96124))
-* update dependencies and tsup ([2da5fd0](https://github.com/sern-handler/rx/commit/2da5fd0b7fc360c370bae4ba4d63144977790f13))
-
-### 0.0.1-alpha (2023-02-12)
-
-
-### Features
-
-* add more methods ([7647d92](https://github.com/sern-handler/rx/commit/7647d925865098a80859408731c55f55bb3661ca))
-* add type predicates for djs bindings ([769bdf6](https://github.com/sern-handler/rx/commit/769bdf65b408acbdcb82d6851947bb05e5791c3b))
-* adding scripts and some DJS bindings ([6926098](https://github.com/sern-handler/rx/commit/69260980d71a30ba5541394e420409128d4b4e9b))
-* completeOnFirst works? ([4e967ed](https://github.com/sern-handler/rx/commit/4e967ed096882f612926a94bd54305f9cf093ed8))
-* first commit ([0fc4004](https://github.com/sern-handler/rx/commit/0fc40048815078fc896fef5a618b7c732268cc32))
-* remove redundant count operator and pause completeOnFirst ([eaeee0f](https://github.com/sern-handler/rx/commit/eaeee0fb6f0e6bde4b8a565f1cc1bfb1e5c069a7))
-* update and work ([c1047a6](https://github.com/sern-handler/rx/commit/c1047a6fefb4f59f7a275db6b0d86664d5b10cdb))
-
-
-### Bug Fixes
-
-* weird thing where instanceof is not working ([eea0286](https://github.com/sern-handler/rx/commit/eea0286bcc684266cabdfc8e98cfe0e4f81afc22))
-
-
-### Miscellaneous Chores
-
-* release 0.0.1-alpha ([fd85195](https://github.com/sern-handler/rx/commit/fd85195fb3f15fcb46ebe2057f3f449a741f7944))
diff --git a/packages/rx/README.md b/packages/rx/README.md
deleted file mode 100644
index 193b3eb..0000000
--- a/packages/rx/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# @sern/rx
-A package extending rxjs for discord api libraries
-
-this package offers a reactive, declarative solution using the wonderful [rxjs](https://github.com/ReactiveX/rxjs) to the current collectors
-and listeners in many discord bot libraries. It's still in alpha, but most operators and functions have been tested using vitest.
-
-- View [examples](https://github.com/sern-handler/rx/tree/main/examples) to get started!
\ No newline at end of file
diff --git a/packages/rx/examples/composable.ts b/packages/rx/examples/composable.ts
deleted file mode 100644
index 696f709..0000000
--- a/packages/rx/examples/composable.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {composable, useMutableState} from "../src/index";
-import {fromEvent} from "rxjs";
-import {EventEmitter} from "events";
-
-
-//hypothetical EventEmitter
-declare const ee : EventEmitter
-
-const [str, setData, manager] = useMutableState("root")
-const messageCreate = fromEvent(ee, 'messageCreate')
-
-composable((close, message) => {
-
- if(message === "!ping") {
- setData(message)
- }
-
-},[messageCreate])
diff --git a/packages/rx/examples/discordjs/collectors.ts b/packages/rx/examples/discordjs/collectors.ts
deleted file mode 100644
index 0a0b08e..0000000
--- a/packages/rx/examples/discordjs/collectors.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import {ButtonInteraction, ChatInputCommandInteraction, Collection, ComponentType} from "discord.js";
-import {filter, firstValueFrom, take} from 'rxjs'
-import {asyncTask, DJS, on, once, time} from "../../src/index.js";
-import {clientEvent, matchesCustomId} from "../../src/djs";
-
-//Hypothetical interaction source
-declare const ctx : ChatInputCommandInteraction
-
-// create a collector that accepts distinct interactions.
-// A timer is set to 5 seconds and it will emit one collection where its key is the interaction's id and value the interaction.
-const reactiveCollector = on('collect', ctx.channel.createMessageComponentCollector({ componentType: ComponentType.Button }))
- .pipe(
- DJS.distinctCustomId,
- time(5000),
- DJS.toCollection(src => [src.id, src], 4),
- )
-//Collection as promise
-const promisedCollection = firstValueFrom(reactiveCollector, { defaultValue : new Collection() })
-
-//Collection subscription
-const subscriptionCollection = reactiveCollector.subscribe({
- next: (collection) => console.log(collection),
- error: (err) => console.log(err),
- complete: () => console.log("The collector has finished") //synonymous to the 'end' event for basic discord.js collectors!
-})
-
-//Creates a base button handler that matches the given customId
-const buttonHandler = clientEvent(ctx.client, 'interactionCreate')
- .pipe(
- filter(DJS.isButton), matchesCustomId("i-miss-her"),
- )
-
-//From the buttonHandler, defer the update and set a timeout of 60_000. Then it executes once, finally closing the subscription
-buttonHandler.pipe(
- asyncTask( b => b.deferUpdate()),
- time(60_000 ), // 1 minute
- once((b) => b.editReply(`You clicked a button once`))
-).subscribe()
-
diff --git a/packages/rx/package.json b/packages/rx/package.json
deleted file mode 100644
index d66682f..0000000
--- a/packages/rx/package.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "name": "@sern/rx",
- "main": "./dist/index.mjs",
- "module": "./dist/index.mjs",
- "exports": {
- ".": {
- "import": "./dist/index.mjs"
- },
- "./djs": {
- "import": "./dist/djs/index.mjs"
- }
- },
- "version": "0.0.3-alpha",
- "description": "rxjs operators and utils for discord bot projects",
- "packageManager": "pnpm@7.24.3",
- "scripts": {
- "build": "tsup",
- "tdd": "vitest --config ./vitest.config.ts",
- "test": "vitest run --config ./vitest.config.ts"
- },
- "keywords": [],
- "author": "jacoobes",
- "license": "ISC",
- "devDependencies": {
- "@types/node": "^18.11.15",
- "discord.js": "^14.8.1",
- "rxjs": "7.8.1",
- "tsup": "^6.7.0",
- "typescript": "5.0.4",
- "vitest": "^0.28.4"
- },
- "peerDependencies": {
- "discord.js": ">= 14.8.0"
- },
- "node": ">=18.0",
- "type": "module",
- "types": "./dist\\index.d.ts",
- "directories": {
- "example": "examples",
- "test": "test"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sern-handler/rx.git"
- },
- "bugs": {
- "url": "https://github.com/sern-handler/rx/issues"
- },
- "homepage": "https://github.com/sern-handler/rx#readme"
-}
diff --git a/packages/rx/pnpm-lock.yaml b/packages/rx/pnpm-lock.yaml
deleted file mode 100644
index 3c81274..0000000
--- a/packages/rx/pnpm-lock.yaml
+++ /dev/null
@@ -1,1754 +0,0 @@
-lockfileVersion: 5.4
-
-specifiers:
- '@types/node': ^18.11.15
- discord.js: ^14.8.1
- rxjs: 7.8.1
- tsup: ^6.7.0
- typescript: 5.0.4
- vitest: ^0.28.4
-
-devDependencies:
- '@types/node': 18.11.15
- discord.js: 14.9.0
- rxjs: 7.8.1
- tsup: 6.7.0_typescript@5.0.4
- typescript: 5.0.4
- vitest: 0.28.4
-
-packages:
-
- /@discordjs/builders/1.6.1:
- resolution: {integrity: sha512-CCcLwn/8ANhlAbhlE18fcaN0hfXTen53/JiwZs1t9oE/Cqa9maA8ZRarkCIsXF4J7J/MYnd0J6IsxeKsq+f6mw==}
- engines: {node: '>=16.9.0'}
- dependencies:
- '@discordjs/formatters': 0.3.0
- '@discordjs/util': 0.2.0
- '@sapphire/shapeshift': 3.8.1
- discord-api-types: 0.37.40
- fast-deep-equal: 3.1.3
- ts-mixer: 6.0.3
- tslib: 2.5.0
- dev: true
-
- /@discordjs/collection/1.5.0:
- resolution: {integrity: sha512-suyVndkEAAWrGxyw/CPGdtXoRRU6AUNkibtnbJevQzpelkJh3Q1gQqWDpqf5i39CnAn5+LrN0YS+cULeEjq2Yw==}
- engines: {node: '>=16.9.0'}
- dev: true
-
- /@discordjs/formatters/0.3.0:
- resolution: {integrity: sha512-Fc4MomalbP8HMKEMor3qUiboAKDtR7PSBoPjwm7WYghVRwgJlj5WYvUsriLsxeKk8+Qq2oy+HJlGTUkGvX0YnA==}
- engines: {node: '>=16.9.0'}
- dependencies:
- discord-api-types: 0.37.40
- dev: true
-
- /@discordjs/rest/1.7.0:
- resolution: {integrity: sha512-r2HzmznRIo8IDGYBWqQfkEaGN1LrFfWQd3dSyC4tOpMU8nuVvFUEw6V/lwnG44jyOq+vgyDny2fxeUDMt9I4aQ==}
- engines: {node: '>=16.9.0'}
- dependencies:
- '@discordjs/collection': 1.5.0
- '@discordjs/util': 0.2.0
- '@sapphire/async-queue': 1.5.0
- '@sapphire/snowflake': 3.4.2
- discord-api-types: 0.37.40
- file-type: 18.3.0
- tslib: 2.5.0
- undici: 5.22.0
- dev: true
-
- /@discordjs/util/0.2.0:
- resolution: {integrity: sha512-/8qNbebFzLWKOOg+UV+RB8itp4SmU5jw0tBUD3ifElW6rYNOj1Ku5JaSW7lLl/WgjjxF01l/1uQPCzkwr110vg==}
- engines: {node: '>=16.9.0'}
- dev: true
-
- /@esbuild/android-arm/0.16.17:
- resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm/0.17.7:
- resolution: {integrity: sha512-Np6Lg8VUiuzHP5XvHU7zfSVPN4ILdiOhxA1GQ1uvCK2T2l3nI8igQV0c9FJx4hTkq8WGqhGEvn5UuRH8jMkExg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64/0.16.17:
- resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64/0.17.7:
- resolution: {integrity: sha512-fOUBZvcbtbQJIj2K/LMKcjULGfXLV9R4qjXFsi3UuqFhIRJHz0Fp6kFjsMFI6vLuPrfC5G9Dmh+3RZOrSKY2Lg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64/0.16.17:
- resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64/0.17.7:
- resolution: {integrity: sha512-6YILpPvop1rPAvaO/n2iWQL45RyTVTR/1SK7P6Xi2fyu+hpEeX22fE2U2oJd1sfpovUJOWTRdugjddX6QCup3A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64/0.16.17:
- resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64/0.17.7:
- resolution: {integrity: sha512-7i0gfFsDt1BBiurZz5oZIpzfxqy5QkJmhXdtrf2Hma/gI9vL2AqxHhRBoI1NeWc9IhN1qOzWZrslhiXZweMSFg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64/0.16.17:
- resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64/0.17.7:
- resolution: {integrity: sha512-hRvIu3vuVIcv4SJXEKOHVsNssM5tLE2xWdb9ZyJqsgYp+onRa5El3VJ4+WjTbkf/A2FD5wuMIbO2FCTV39LE0w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64/0.16.17:
- resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64/0.17.7:
- resolution: {integrity: sha512-2NJjeQ9kiabJkVXLM3sHkySqkL1KY8BeyLams3ITyiLW10IwDL0msU5Lq1cULCn9zNxt1Seh1I6QrqyHUvOtQw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64/0.16.17:
- resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64/0.17.7:
- resolution: {integrity: sha512-8kSxlbjuLYMoIgvRxPybirHJeW45dflyIgHVs+jzMYJf87QOay1ZUTzKjNL3vqHQjmkSn8p6KDfHVrztn7Rprw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm/0.16.17:
- resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm/0.17.7:
- resolution: {integrity: sha512-07RsAAzznWqdfJC+h3L2UVWwnUHepsFw5GmzySnUspHHb7glJ1+47rvlcH0SeUtoVOs8hF4/THgZbtJRyALaJA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64/0.16.17:
- resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64/0.17.7:
- resolution: {integrity: sha512-43Bbhq3Ia/mGFTCRA4NlY8VRH3dLQltJ4cqzhSfq+cdvdm9nKJXVh4NUkJvdZgEZIkf/ufeMmJ0/22v9btXTcw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32/0.16.17:
- resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32/0.17.7:
- resolution: {integrity: sha512-ViYkfcfnbwOoTS7xE4DvYFv7QOlW8kPBuccc4erJ0jx2mXDPR7e0lYOH9JelotS9qe8uJ0s2i3UjUvjunEp53A==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64/0.16.17:
- resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64/0.17.7:
- resolution: {integrity: sha512-H1g+AwwcqYQ/Hl/sMcopRcNLY/fysIb/ksDfCa3/kOaHQNhBrLeDYw+88VAFV5U6oJL9GqnmUj72m9Nv3th3hA==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el/0.16.17:
- resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el/0.17.7:
- resolution: {integrity: sha512-MDLGrVbTGYtmldlbcxfeDPdhxttUmWoX3ovk9u6jc8iM+ueBAFlaXKuUMCoyP/zfOJb+KElB61eSdBPSvNcCEg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64/0.16.17:
- resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64/0.17.7:
- resolution: {integrity: sha512-UWtLhRPKzI+v2bKk4j9rBpGyXbLAXLCOeqt1tLVAt1mfagHpFjUzzIHCpPiUfY3x1xY5e45/+BWzGpqqvSglNw==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64/0.16.17:
- resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64/0.17.7:
- resolution: {integrity: sha512-3C/RTKqZauUwBYtIQAv7ELTJd+H2dNKPyzwE2ZTbz2RNrNhNHRoeKnG5C++eM6nSZWUCLyyaWfq1v1YRwBS/+A==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x/0.16.17:
- resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x/0.17.7:
- resolution: {integrity: sha512-x7cuRSCm998KFZqGEtSo8rI5hXLxWji4znZkBhg2FPF8A8lxLLCsSXe2P5utf0RBQflb3K97dkEH/BJwTqrbDw==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64/0.16.17:
- resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64/0.17.7:
- resolution: {integrity: sha512-1Z2BtWgM0Wc92WWiZR5kZ5eC+IetI++X+nf9NMbUvVymt74fnQqwgM5btlTW7P5uCHfq03u5MWHjIZa4o+TnXQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64/0.16.17:
- resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64/0.17.7:
- resolution: {integrity: sha512-//VShPN4hgbmkDjYNCZermIhj8ORqoPNmAnwSPqPtBB0xOpHrXMlJhsqLNsgoBm0zi/5tmy//WyL6g81Uq2c6Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64/0.16.17:
- resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64/0.17.7:
- resolution: {integrity: sha512-IQ8BliXHiOsbQEOHzc7mVLIw2UYPpbOXJQ9cK1nClNYQjZthvfiA6rWZMz4BZpVzHZJ+/H2H23cZwRJ1NPYOGg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64/0.16.17:
- resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64/0.17.7:
- resolution: {integrity: sha512-phO5HvU3SyURmcW6dfQXX4UEkFREUwaoiTgi1xH+CAFKPGsrcG6oDp1U70yQf5lxRKujoSCEIoBr0uFykJzN2g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64/0.16.17:
- resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64/0.17.7:
- resolution: {integrity: sha512-G/cRKlYrwp1B0uvzEdnFPJ3A6zSWjnsRrWivsEW0IEHZk+czv0Bmiwa51RncruHLjQ4fGsvlYPmCmwzmutPzHA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32/0.16.17:
- resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32/0.17.7:
- resolution: {integrity: sha512-/yMNVlMew07NrOflJdRAZcMdUoYTOCPbCHx0eHtg55l87wXeuhvYOPBQy5HLX31Ku+W2XsBD5HnjUjEUsTXJug==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64/0.16.17:
- resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64/0.17.7:
- resolution: {integrity: sha512-K9/YybM6WZO71x73Iyab6mwieHtHjm9hrPR/a9FBPZmFO3w+fJaM2uu2rt3JYf/rZR24MFwTliI8VSoKKOtYtg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@nodelib/fs.scandir/2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
-
- /@nodelib/fs.stat/2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
- dev: true
-
- /@nodelib/fs.walk/1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
- dev: true
-
- /@sapphire/async-queue/1.5.0:
- resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
- dev: true
-
- /@sapphire/shapeshift/3.8.1:
- resolution: {integrity: sha512-xG1oXXBhCjPKbxrRTlox9ddaZTvVpOhYLmKmApD/vIWOV1xEYXnpoFs68zHIZBGbqztq6FrUPNPerIrO1Hqeaw==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
- dependencies:
- fast-deep-equal: 3.1.3
- lodash: 4.17.21
- dev: true
-
- /@sapphire/snowflake/3.4.2:
- resolution: {integrity: sha512-KJwlv5gkGjs1uFV7/xx81n3tqgBwBJvH94n1xDyH3q+JSmtsMeSleJffarEBfG2yAFeJiFA4BnGOK6FFPHc19g==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
- dev: true
-
- /@tokenizer/token/0.3.0:
- resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
- dev: true
-
- /@types/chai-subset/1.3.3:
- resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
- dependencies:
- '@types/chai': 4.3.4
- dev: true
-
- /@types/chai/4.3.4:
- resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==}
- dev: true
-
- /@types/node/18.11.15:
- resolution: {integrity: sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==}
- dev: true
-
- /@types/ws/8.5.4:
- resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==}
- dependencies:
- '@types/node': 18.11.15
- dev: true
-
- /@vitest/expect/0.28.4:
- resolution: {integrity: sha512-JqK0NZ4brjvOSL8hXAnIsfi+jxDF7rH/ZWCGCt0FAqRnVFc1hXsfwXksQvEnKqD84avRt3gmeXoK4tNbmkoVsQ==}
- dependencies:
- '@vitest/spy': 0.28.4
- '@vitest/utils': 0.28.4
- chai: 4.3.7
- dev: true
-
- /@vitest/runner/0.28.4:
- resolution: {integrity: sha512-Q8UV6GjDvBSTfUoq0QXVCNpNOUrWu4P2qvRq7ssJWzn0+S0ojbVOxEjMt+8a32X6SdkhF8ak+2nkppsqV0JyNQ==}
- dependencies:
- '@vitest/utils': 0.28.4
- p-limit: 4.0.0
- pathe: 1.1.0
- dev: true
-
- /@vitest/spy/0.28.4:
- resolution: {integrity: sha512-8WuhfXLlvCXpNXEGJW6Gc+IKWI32435fQJLh43u70HnZ1otJOa2Cmg2Wy2Aym47ZnNCP4NolF+8cUPwd0MigKQ==}
- dependencies:
- tinyspy: 1.1.1
- dev: true
-
- /@vitest/utils/0.28.4:
- resolution: {integrity: sha512-l2QztOLdc2LkR+w/lP52RGh8hW+Ul4KESmCAgVE8q737I7e7bQoAfkARKpkPJ4JQtGpwW4deqlj1732VZD7TFw==}
- dependencies:
- cli-truncate: 3.1.0
- diff: 5.1.0
- loupe: 2.3.6
- picocolors: 1.0.0
- pretty-format: 27.5.1
- dev: true
-
- /acorn-walk/8.2.0:
- resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
- engines: {node: '>=0.4.0'}
- dev: true
-
- /acorn/8.8.2:
- resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
-
- /ansi-regex/5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
- dev: true
-
- /ansi-regex/6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
- dev: true
-
- /ansi-styles/5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
- dev: true
-
- /ansi-styles/6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
- dev: true
-
- /any-promise/1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
- dev: true
-
- /anymatch/3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
- dev: true
-
- /array-union/2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
- dev: true
-
- /assertion-error/1.1.0:
- resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
- dev: true
-
- /balanced-match/1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
-
- /binary-extensions/2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
- dev: true
-
- /brace-expansion/1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- dev: true
-
- /braces/3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
- dev: true
-
- /buffer-from/1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- dev: true
-
- /bundle-require/4.0.1_esbuild@0.17.7:
- resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- peerDependencies:
- esbuild: '>=0.17'
- dependencies:
- esbuild: 0.17.7
- load-tsconfig: 0.2.3
- dev: true
-
- /busboy/1.6.0:
- resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
- engines: {node: '>=10.16.0'}
- dependencies:
- streamsearch: 1.1.0
- dev: true
-
- /cac/6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
- dev: true
-
- /chai/4.3.7:
- resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
- engines: {node: '>=4'}
- dependencies:
- assertion-error: 1.1.0
- check-error: 1.0.2
- deep-eql: 4.1.3
- get-func-name: 2.0.0
- loupe: 2.3.6
- pathval: 1.1.1
- type-detect: 4.0.8
- dev: true
-
- /check-error/1.0.2:
- resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
- dev: true
-
- /chokidar/3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
- engines: {node: '>= 8.10.0'}
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.2
- dev: true
-
- /cli-truncate/3.1.0:
- resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- slice-ansi: 5.0.0
- string-width: 5.1.2
- dev: true
-
- /commander/4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
- dev: true
-
- /concat-map/0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- dev: true
-
- /cross-spawn/7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
-
- /debug/4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
- dev: true
-
- /deep-eql/4.1.3:
- resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
- engines: {node: '>=6'}
- dependencies:
- type-detect: 4.0.8
- dev: true
-
- /diff/5.1.0:
- resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
- engines: {node: '>=0.3.1'}
- dev: true
-
- /dir-glob/3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
- dependencies:
- path-type: 4.0.0
- dev: true
-
- /discord-api-types/0.37.40:
- resolution: {integrity: sha512-LMALvtO+p6ERK8rwWoaI490NfIE/egbqjR4/rfLL1z9gQE1gqLiTpIUUDIunfAtKYzeH6ucyXhaXXWpfZh/Q6g==}
- dev: true
-
- /discord.js/14.9.0:
- resolution: {integrity: sha512-ygGms5xP4hG+QrrY9k7d/OYCzMltSMtdl/2Snzq/nLCiZo+Sna91Ulv9l0+B5Jd/Czcq37B7wJAnmja7GOa+bg==}
- engines: {node: '>=16.9.0'}
- dependencies:
- '@discordjs/builders': 1.6.1
- '@discordjs/collection': 1.5.0
- '@discordjs/formatters': 0.3.0
- '@discordjs/rest': 1.7.0
- '@discordjs/util': 0.2.0
- '@sapphire/snowflake': 3.4.2
- '@types/ws': 8.5.4
- discord-api-types: 0.37.40
- fast-deep-equal: 3.1.3
- lodash.snakecase: 4.1.1
- tslib: 2.5.0
- undici: 5.22.0
- ws: 8.13.0
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
- dev: true
-
- /eastasianwidth/0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- dev: true
-
- /emoji-regex/9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- dev: true
-
- /esbuild/0.16.17:
- resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.16.17
- '@esbuild/android-arm64': 0.16.17
- '@esbuild/android-x64': 0.16.17
- '@esbuild/darwin-arm64': 0.16.17
- '@esbuild/darwin-x64': 0.16.17
- '@esbuild/freebsd-arm64': 0.16.17
- '@esbuild/freebsd-x64': 0.16.17
- '@esbuild/linux-arm': 0.16.17
- '@esbuild/linux-arm64': 0.16.17
- '@esbuild/linux-ia32': 0.16.17
- '@esbuild/linux-loong64': 0.16.17
- '@esbuild/linux-mips64el': 0.16.17
- '@esbuild/linux-ppc64': 0.16.17
- '@esbuild/linux-riscv64': 0.16.17
- '@esbuild/linux-s390x': 0.16.17
- '@esbuild/linux-x64': 0.16.17
- '@esbuild/netbsd-x64': 0.16.17
- '@esbuild/openbsd-x64': 0.16.17
- '@esbuild/sunos-x64': 0.16.17
- '@esbuild/win32-arm64': 0.16.17
- '@esbuild/win32-ia32': 0.16.17
- '@esbuild/win32-x64': 0.16.17
- dev: true
-
- /esbuild/0.17.7:
- resolution: {integrity: sha512-+5hHlrK108fT6C6/40juy0w4DYKtyZ5NjfBlTccBdsFutR7WBxpIY633JzZJewdsCy8xWA/u2z0MSniIJwufYg==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.17.7
- '@esbuild/android-arm64': 0.17.7
- '@esbuild/android-x64': 0.17.7
- '@esbuild/darwin-arm64': 0.17.7
- '@esbuild/darwin-x64': 0.17.7
- '@esbuild/freebsd-arm64': 0.17.7
- '@esbuild/freebsd-x64': 0.17.7
- '@esbuild/linux-arm': 0.17.7
- '@esbuild/linux-arm64': 0.17.7
- '@esbuild/linux-ia32': 0.17.7
- '@esbuild/linux-loong64': 0.17.7
- '@esbuild/linux-mips64el': 0.17.7
- '@esbuild/linux-ppc64': 0.17.7
- '@esbuild/linux-riscv64': 0.17.7
- '@esbuild/linux-s390x': 0.17.7
- '@esbuild/linux-x64': 0.17.7
- '@esbuild/netbsd-x64': 0.17.7
- '@esbuild/openbsd-x64': 0.17.7
- '@esbuild/sunos-x64': 0.17.7
- '@esbuild/win32-arm64': 0.17.7
- '@esbuild/win32-ia32': 0.17.7
- '@esbuild/win32-x64': 0.17.7
- dev: true
-
- /execa/5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 2.1.0
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
- dev: true
-
- /fast-deep-equal/3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
-
- /fast-glob/3.2.12:
- resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
- engines: {node: '>=8.6.0'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
- dev: true
-
- /fastq/1.15.0:
- resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
- dependencies:
- reusify: 1.0.4
- dev: true
-
- /file-type/18.3.0:
- resolution: {integrity: sha512-pkPZ5OGIq0TYb37b8bHDLNeQSe1H2KlaQ2ySGpJkkr2KZdaWsO4QhPzHA0mQcsUW2cSqJk+4gM/UyLz/UFbXdQ==}
- engines: {node: '>=14.16'}
- dependencies:
- readable-web-to-node-stream: 3.0.2
- strtok3: 7.0.0
- token-types: 5.0.1
- dev: true
-
- /fill-range/7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
- dependencies:
- to-regex-range: 5.0.1
- dev: true
-
- /fs.realpath/1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- dev: true
-
- /fsevents/2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /function-bind/1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
- dev: true
-
- /get-func-name/2.0.0:
- resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
- dev: true
-
- /get-stream/6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
- dev: true
-
- /glob-parent/5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob/7.1.6:
- resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
-
- /globby/11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
- dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.2.12
- ignore: 5.2.4
- merge2: 1.4.1
- slash: 3.0.0
- dev: true
-
- /has/1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
- dependencies:
- function-bind: 1.1.1
- dev: true
-
- /human-signals/2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
- dev: true
-
- /ieee754/1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- dev: true
-
- /ignore/5.2.4:
- resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
- engines: {node: '>= 4'}
- dev: true
-
- /inflight/1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- dev: true
-
- /inherits/2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
-
- /is-binary-path/2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
- dependencies:
- binary-extensions: 2.2.0
- dev: true
-
- /is-core-module/2.11.0:
- resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
- dependencies:
- has: 1.0.3
- dev: true
-
- /is-extglob/2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /is-fullwidth-code-point/4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
- engines: {node: '>=12'}
- dev: true
-
- /is-glob/4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
- dev: true
-
- /is-number/7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
- dev: true
-
- /is-stream/2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
- dev: true
-
- /isexe/2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
-
- /joycon/3.1.1:
- resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
- engines: {node: '>=10'}
- dev: true
-
- /jsonc-parser/3.2.0:
- resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
- dev: true
-
- /lilconfig/2.0.6:
- resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
- engines: {node: '>=10'}
- dev: true
-
- /lines-and-columns/1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- dev: true
-
- /load-tsconfig/0.2.3:
- resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
-
- /local-pkg/0.4.3:
- resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
- engines: {node: '>=14'}
- dev: true
-
- /lodash.snakecase/4.1.1:
- resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
- dev: true
-
- /lodash.sortby/4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
- dev: true
-
- /lodash/4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- dev: true
-
- /loupe/2.3.6:
- resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
- dependencies:
- get-func-name: 2.0.0
- dev: true
-
- /merge-stream/2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: true
-
- /merge2/1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
- dev: true
-
- /micromatch/4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
- dependencies:
- braces: 3.0.2
- picomatch: 2.3.1
- dev: true
-
- /mimic-fn/2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
- dev: true
-
- /minimatch/3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
- dependencies:
- brace-expansion: 1.1.11
- dev: true
-
- /mlly/1.1.0:
- resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==}
- dependencies:
- acorn: 8.8.2
- pathe: 1.1.0
- pkg-types: 1.0.1
- ufo: 1.0.1
- dev: true
-
- /ms/2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
-
- /mz/2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
- dev: true
-
- /nanoid/3.3.4:
- resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
-
- /normalize-path/3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /npm-run-path/4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
- dependencies:
- path-key: 3.1.1
- dev: true
-
- /object-assign/4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /once/1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- dependencies:
- wrappy: 1.0.2
- dev: true
-
- /onetime/5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
- dependencies:
- mimic-fn: 2.1.0
- dev: true
-
- /p-limit/4.0.0:
- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- yocto-queue: 1.0.0
- dev: true
-
- /path-is-absolute/1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /path-key/3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
-
- /path-parse/1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: true
-
- /path-type/4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
- dev: true
-
- /pathe/1.1.0:
- resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==}
- dev: true
-
- /pathval/1.1.1:
- resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
- dev: true
-
- /peek-readable/5.0.0:
- resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==}
- engines: {node: '>=14.16'}
- dev: true
-
- /picocolors/1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
-
- /picomatch/2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
- dev: true
-
- /pirates/4.0.5:
- resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
- engines: {node: '>= 6'}
- dev: true
-
- /pkg-types/1.0.1:
- resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==}
- dependencies:
- jsonc-parser: 3.2.0
- mlly: 1.1.0
- pathe: 1.1.0
- dev: true
-
- /postcss-load-config/3.1.4:
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 2.0.6
- yaml: 1.10.2
- dev: true
-
- /postcss/8.4.21:
- resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.4
- picocolors: 1.0.0
- source-map-js: 1.0.2
- dev: true
-
- /pretty-format/27.5.1:
- resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dependencies:
- ansi-regex: 5.0.1
- ansi-styles: 5.2.0
- react-is: 17.0.2
- dev: true
-
- /punycode/2.3.0:
- resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
- engines: {node: '>=6'}
- dev: true
-
- /queue-microtask/1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
-
- /react-is/17.0.2:
- resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
- dev: true
-
- /readable-stream/3.6.0:
- resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
- engines: {node: '>= 6'}
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
- dev: true
-
- /readable-web-to-node-stream/3.0.2:
- resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==}
- engines: {node: '>=8'}
- dependencies:
- readable-stream: 3.6.0
- dev: true
-
- /readdirp/3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
- dependencies:
- picomatch: 2.3.1
- dev: true
-
- /resolve-from/5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
- dev: true
-
- /resolve/1.22.1:
- resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
- hasBin: true
- dependencies:
- is-core-module: 2.11.0
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
- dev: true
-
- /reusify/1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
-
- /rollup/3.14.0:
- resolution: {integrity: sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
- hasBin: true
- optionalDependencies:
- fsevents: 2.3.2
- dev: true
-
- /run-parallel/1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- dependencies:
- queue-microtask: 1.2.3
- dev: true
-
- /rxjs/7.8.1:
- resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
- dependencies:
- tslib: 2.4.1
- dev: true
-
- /safe-buffer/5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- dev: true
-
- /shebang-command/2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
- dependencies:
- shebang-regex: 3.0.0
- dev: true
-
- /shebang-regex/3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
-
- /siginfo/2.0.0:
- resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
- dev: true
-
- /signal-exit/3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- dev: true
-
- /slash/3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
- dev: true
-
- /slice-ansi/5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 4.0.0
- dev: true
-
- /source-map-js/1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /source-map-support/0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
- dev: true
-
- /source-map/0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /source-map/0.8.0-beta.0:
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
- engines: {node: '>= 8'}
- dependencies:
- whatwg-url: 7.1.0
- dev: true
-
- /stackback/0.0.2:
- resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
- dev: true
-
- /std-env/3.3.2:
- resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==}
- dev: true
-
- /streamsearch/1.1.0:
- resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
- engines: {node: '>=10.0.0'}
- dev: true
-
- /string-width/5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.0.1
- dev: true
-
- /string_decoder/1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
- dependencies:
- safe-buffer: 5.2.1
- dev: true
-
- /strip-ansi/7.0.1:
- resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==}
- engines: {node: '>=12'}
- dependencies:
- ansi-regex: 6.0.1
- dev: true
-
- /strip-final-newline/2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
- dev: true
-
- /strip-literal/1.0.1:
- resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
- dependencies:
- acorn: 8.8.2
- dev: true
-
- /strtok3/7.0.0:
- resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==}
- engines: {node: '>=14.16'}
- dependencies:
- '@tokenizer/token': 0.3.0
- peek-readable: 5.0.0
- dev: true
-
- /sucrase/3.29.0:
- resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==}
- engines: {node: '>=8'}
- hasBin: true
- dependencies:
- commander: 4.1.1
- glob: 7.1.6
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.5
- ts-interface-checker: 0.1.13
- dev: true
-
- /supports-preserve-symlinks-flag/1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /thenify-all/1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
- dependencies:
- thenify: 3.3.1
- dev: true
-
- /thenify/3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
- dependencies:
- any-promise: 1.3.0
- dev: true
-
- /tinybench/2.3.1:
- resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
- dev: true
-
- /tinypool/0.3.1:
- resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==}
- engines: {node: '>=14.0.0'}
- dev: true
-
- /tinyspy/1.1.1:
- resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==}
- engines: {node: '>=14.0.0'}
- dev: true
-
- /to-regex-range/5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
- dependencies:
- is-number: 7.0.0
- dev: true
-
- /token-types/5.0.1:
- resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==}
- engines: {node: '>=14.16'}
- dependencies:
- '@tokenizer/token': 0.3.0
- ieee754: 1.2.1
- dev: true
-
- /tr46/1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
- dependencies:
- punycode: 2.3.0
- dev: true
-
- /tree-kill/1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
- hasBin: true
- dev: true
-
- /ts-interface-checker/0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- dev: true
-
- /ts-mixer/6.0.3:
- resolution: {integrity: sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==}
- dev: true
-
- /tslib/2.4.1:
- resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
- dev: true
-
- /tslib/2.5.0:
- resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
- dev: true
-
- /tsup/6.7.0_typescript@5.0.4:
- resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==}
- engines: {node: '>=14.18'}
- hasBin: true
- peerDependencies:
- '@swc/core': ^1
- postcss: ^8.4.12
- typescript: '>=4.1.0'
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- postcss:
- optional: true
- typescript:
- optional: true
- dependencies:
- bundle-require: 4.0.1_esbuild@0.17.7
- cac: 6.7.14
- chokidar: 3.5.3
- debug: 4.3.4
- esbuild: 0.17.7
- execa: 5.1.1
- globby: 11.1.0
- joycon: 3.1.1
- postcss-load-config: 3.1.4
- resolve-from: 5.0.0
- rollup: 3.14.0
- source-map: 0.8.0-beta.0
- sucrase: 3.29.0
- tree-kill: 1.2.2
- typescript: 5.0.4
- transitivePeerDependencies:
- - supports-color
- - ts-node
- dev: true
-
- /type-detect/4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
- dev: true
-
- /typescript/5.0.4:
- resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
- engines: {node: '>=12.20'}
- hasBin: true
- dev: true
-
- /ufo/1.0.1:
- resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==}
- dev: true
-
- /undici/5.22.0:
- resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==}
- engines: {node: '>=14.0'}
- dependencies:
- busboy: 1.6.0
- dev: true
-
- /util-deprecate/1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- dev: true
-
- /vite-node/0.28.4_@types+node@18.11.15:
- resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==}
- engines: {node: '>=v14.16.0'}
- hasBin: true
- dependencies:
- cac: 6.7.14
- debug: 4.3.4
- mlly: 1.1.0
- pathe: 1.1.0
- picocolors: 1.0.0
- source-map: 0.6.1
- source-map-support: 0.5.21
- vite: 4.1.1_@types+node@18.11.15
- transitivePeerDependencies:
- - '@types/node'
- - less
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /vite/4.1.1_@types+node@18.11.15:
- resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==}
- engines: {node: ^14.18.0 || >=16.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': '>= 14'
- less: '*'
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- dependencies:
- '@types/node': 18.11.15
- esbuild: 0.16.17
- postcss: 8.4.21
- resolve: 1.22.1
- rollup: 3.14.0
- optionalDependencies:
- fsevents: 2.3.2
- dev: true
-
- /vitest/0.28.4:
- resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==}
- engines: {node: '>=v14.16.0'}
- hasBin: true
- peerDependencies:
- '@edge-runtime/vm': '*'
- '@vitest/browser': '*'
- '@vitest/ui': '*'
- happy-dom: '*'
- jsdom: '*'
- peerDependenciesMeta:
- '@edge-runtime/vm':
- optional: true
- '@vitest/browser':
- optional: true
- '@vitest/ui':
- optional: true
- happy-dom:
- optional: true
- jsdom:
- optional: true
- dependencies:
- '@types/chai': 4.3.4
- '@types/chai-subset': 1.3.3
- '@types/node': 18.11.15
- '@vitest/expect': 0.28.4
- '@vitest/runner': 0.28.4
- '@vitest/spy': 0.28.4
- '@vitest/utils': 0.28.4
- acorn: 8.8.2
- acorn-walk: 8.2.0
- cac: 6.7.14
- chai: 4.3.7
- debug: 4.3.4
- local-pkg: 0.4.3
- pathe: 1.1.0
- picocolors: 1.0.0
- source-map: 0.6.1
- std-env: 3.3.2
- strip-literal: 1.0.1
- tinybench: 2.3.1
- tinypool: 0.3.1
- tinyspy: 1.1.1
- vite: 4.1.1_@types+node@18.11.15
- vite-node: 0.28.4_@types+node@18.11.15
- why-is-node-running: 2.2.2
- transitivePeerDependencies:
- - less
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- dev: true
-
- /webidl-conversions/4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
- dev: true
-
- /whatwg-url/7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
- dependencies:
- lodash.sortby: 4.7.0
- tr46: 1.0.1
- webidl-conversions: 4.0.2
- dev: true
-
- /which/2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: 2.0.0
- dev: true
-
- /why-is-node-running/2.2.2:
- resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
- engines: {node: '>=8'}
- hasBin: true
- dependencies:
- siginfo: 2.0.0
- stackback: 0.0.2
- dev: true
-
- /wrappy/1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- dev: true
-
- /ws/8.13.0:
- resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: true
-
- /yaml/1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
- dev: true
-
- /yocto-queue/1.0.0:
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
- engines: {node: '>=12.20'}
- dev: true
diff --git a/packages/rx/rx.iml b/packages/rx/rx.iml
deleted file mode 100644
index 80cc739..0000000
--- a/packages/rx/rx.iml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/rx/src/djs/index.ts b/packages/rx/src/djs/index.ts
deleted file mode 100644
index 9c57741..0000000
--- a/packages/rx/src/djs/index.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-import type {
- AnySelectMenuInteraction,
- ButtonInteraction, ChannelSelectMenuInteraction, ClientEvents,
- MentionableSelectMenuInteraction,
- ModalSubmitInteraction,
- RoleSelectMenuInteraction,
- StringSelectMenuInteraction,
- UserSelectMenuInteraction,
-} from 'discord.js'
-import { Collection } from "discord.js";
-import {
- distinctUntilKeyChanged,
- filter,
- MonoTypeOperatorFunction,
- Observable,
- OperatorFunction,
- pipe,
- reduce,
- take
-} from "rxjs";
-import type {Client} from "discord.js";
-import {CustomId, on} from "../index.js";
-
-/**
- * discord.js binding to ensure an event is {@link ButtonInteraction}
- * @param e
- */
-export function isButton(e: unknown): e is ButtonInteraction {
- return (e as ButtonInteraction)?.isButton?.() ?? false
-}
-
-export function matchesCustomId(cmpt: string) : MonoTypeOperatorFunction {
- return filter(i => i.customId == cmpt)
-}
-
-/**
- * discord.js binding to ensure an event is {@link AnySelectMenuInteraction}
- * Reminder that AnySelectMenuInteraction will be renamed to SelectMenuInteraction in the next major
- * @param e
- */
-export function isSelectMenu(e: unknown): e is AnySelectMenuInteraction {
- return (e as AnySelectMenuInteraction)?.isAnySelectMenu?.() ?? false
-}
-
-export function isRoleSelectMenu(e: unknown): e is RoleSelectMenuInteraction {
- return (e as RoleSelectMenuInteraction)?.isRoleSelectMenu?.() ?? false
-}
-
-export function isStringSelectMenu(e: unknown): e is StringSelectMenuInteraction {
- return (e as StringSelectMenuInteraction)?.isStringSelectMenu?.() ?? false
-}
-
-export function isChannelSelectMenu(e: unknown): e is ChannelSelectMenuInteraction {
- return (e as ChannelSelectMenuInteraction)?.isChannelSelectMenu?.() ?? false
-}
-
-export function isUserSelectMenu(e: unknown): e is UserSelectMenuInteraction {
- return (e as UserSelectMenuInteraction)?.isUserSelectMenu?.() ?? false;
-}
-
-export function isMentionableSelectMenu(e: unknown) : e is MentionableSelectMenuInteraction {
- return (e as MentionableSelectMenuInteraction)?.isMentionableSelectMenu?.() ?? false;
-}
-
-export function isModal(e: unknown) : e is ModalSubmitInteraction {
- return (e as ModalSubmitInteraction)?.isModalSubmit?.() ?? false;
-
-}
-/**
-* emits source stream only if the custom id is unique
-*/
-export const distinctCustomId = (src$: Observable) => src$.pipe(distinctUntilKeyChanged('customId'));
-
-//Collects all source emissions and emits them as a discord.js Collection when the source completes.
-export function toCollection(
- transform: (src : Source) => [Key, Value],
- takeN?: number
-): OperatorFunction> {
- return pipe(
- takeN ? take(takeN) : pipe(),
- reduce((coll, src) => {
- return coll.set(...transform(src));
- }, new Collection())
- )
-}
-
-
-/**
- * Creates a typed client event observable
- * @param c
- * @param key
- */
-export function clientEvent(c : Client, key : T) {
- return on(key, c) as Observable
-}
diff --git a/packages/rx/src/index.ts b/packages/rx/src/index.ts
deleted file mode 100644
index 7d02c40..0000000
--- a/packages/rx/src/index.ts
+++ /dev/null
@@ -1,196 +0,0 @@
-import type {EventEmitter} from "events";
-import {
- BehaviorSubject,
- defer,
- fromEvent,
- mergeMap,
- type MonoTypeOperatorFunction,
- Observable,
- Subject, switchMap,
- take,
- takeUntil,
- tap,
- timer,
- concatMap,
- pipe,
- catchError
-} from "rxjs";
-
-export * as DJS from './djs/index.js'
-
-export interface CustomId {
- customId: string;
-}
-
-
-/**
- * Creates an observable using fromEvent & casts it to Observable
- * @param name
- * @param e
- */
-export function on(name: string, e: EventEmitter): Observable {
- return fromEvent(e, name) as Observable;
-}
-
-/**
- * Do some task that requires asynchronous await API and reedits the source
- * @param cb
- */
-export function asyncTask(cb: (e: Event) => Promise) {
- return (src$: Observable) => src$.pipe(switchMap(cb), mergeMap(() => src$))
-}
-
-/**
- * the operator function takeUntil with a timer. Completes the source stream after time has been reached
- * @param time a Date object or number (milliseconds)
- */
-export function time(time: Date | number) {
- return takeUntil(timer(time)) as MonoTypeOperatorFunction
-}
-
-/**
- * @param action
- * Responds to one interaction and calls { action }.
- * Unsubscribes and closes subscription afterwards
- */
-export function once(action: (e: Event) => unknown) {
- return (source$: Observable) =>
- defer(() => {
- let isFirst = true;
- return source$.pipe(
- tap(v => {
- if (isFirst) {
- action(v);
- isFirst = false;
- }
- }),
- take(1)
- );
- });
-}
-
-/**
- * @Experimental - This api may be moved to another package, deleted, or anything. consider it for playing around only
- * The scope which a composable function acts on.
- */
-class ComposableScope {
- private symbol = Symbol("nothing");
-
- constructor(
- private updater: Subject,
- private listeners: (BehaviorSubject | Observable)[]
- ) {}
-
- private executeIfUpdaterNotClosed(action: () => any) {
- if (!this.updater.closed) {
- action()
- }
- }
-
- listen(recomposable: (close: () => void, source: Source) => unknown) {
- const updaterFinalizer = () => this.updater.complete();
- this.updater
- .subscribe({
- next: data => recomposable(updaterFinalizer, data),
- complete: () => {
- this.listeners.forEach(s => {
- if (s instanceof BehaviorSubject) {
- s.unsubscribe()
- }
- })
- },
- error: () => {
- this.listeners.forEach(s => {
- if (s instanceof BehaviorSubject) {
- s.unsubscribe()
- }
- })
- }
- })
-
- if (this.listeners.length === 0) {
- this.updater.complete()
- } else {
- for (const subject of this.listeners) {
- subject.subscribe((data) => {
- if (subject instanceof Observable) {
- this.executeIfUpdaterNotClosed(() => {
- this.updater.next(data as Source)
- })
- } else {
- this.executeIfUpdaterNotClosed(() => {
- this.updater.next(this.symbol as Source)
- })
- }
- })
- }
- }
- }
-}
-
-/**
- * @Experimental - This api may be moved to another package, deleted, or anything. consider it for playing around only
- * @param seed - The beginning value. This works similarly to react useState or compose remember mutableStateOf
- */
-export function useMutableState(seed: T) {
- const stateManager = new BehaviorSubject(seed)
- return [
- () => stateManager.getValue(),
- (vl: T) => stateManager.next(vl),
- stateManager,
- ] as const
-}
-
-export type Listeners = (BehaviorSubject | Observable)[]
-
-/**
- * @Experimental - This api may be moved to another package, deleted, or anything. consider it for playing around only
- * Creates a scope that can executed as many times as needed, provided it is listening to data.
- * @param scope - Executes callback until
- * @param listeners
- */
-export function composable(
- scope: (close: () => void, source: Source) => unknown,
- listeners: Listeners
-) {
- const composableScope = new ComposableScope(new Subject(), listeners);
- composableScope.listen(scope)
-}
-
-
-export function filterMap(cb: (i: I) => Observable | Observable) {
- return concatMap(cb)
-}
-type StreamResult =
- | { crash: true, error: Error }
- | { crash: false, error?: never }
-
-export function failableStream StreamResult
-) {
-
- return pipe(
- pipeline,
- catchError((err, caught) => {
- const { crash, error } = ehandler(err)
- if(crash) {
- throw error
- } else {
- return caught;
- }
- })
- );
-
-}
-//
-// /**
-// *
-// * @param notifiers Should be terminal operators. Meaning, these should have some logic to close its subscription
-// */
-// export function completeOnFirst(notifiers: MonoTypeOperatorFunction[]) {
-// return (src: Observable) =>
-// src.pipe(raceWith(notifiers.map(notif => src.pipe(notif))));
-// }
-//
-//
diff --git a/packages/rx/test/common.test.ts b/packages/rx/test/common.test.ts
deleted file mode 100644
index 4268633..0000000
--- a/packages/rx/test/common.test.ts
+++ /dev/null
@@ -1,100 +0,0 @@
-import {describe, expect, it, vi, beforeEach, afterEach} from 'vitest'
-import {composable, once, time, useMutableState} from '../src/index'
-import {of, from } from 'rxjs'
-describe('sern/rx common operators', () => {
-
- beforeEach(() => {
- vi.useFakeTimers()
- })
-
- afterEach( () => {
- vi.restoreAllMocks()
- })
-
- it("subscription completes after 2 seconds", () => {
- const completion = vi.fn(() => void 0)
- of("x").pipe(time(5_000)).subscribe({
- complete: () => {
- completion()
- }
- })
- vi.advanceTimersByTime(2000)
- expect(completion).toHaveBeenCalled()
- });
-
- it("should call once and close", () => {
- const tapOnce = vi.fn((a : number) => a)
- const sub = from([1,2,3,4,5]).pipe(once(tapOnce)).subscribe()
-
- expect(tapOnce).toHaveBeenCalledOnce()
- expect(sub.closed).toBe(true)
- })
-
-})
-
-describe("composable", () => {
- afterEach(() => {
- vi.restoreAllMocks()
- })
- it("should close without calling unsubscribe manually", () => {
- const [data, setData, manager] = useMutableState("shiddd")
- composable((close) => {
- if(data() === "shiddd") {
- setData("pooo")
- } else close()
- }, [manager]);
- expect(manager.closed).toBe(true)
- })
-
- it("should invoke size of string's length", () => {
- let invoke = 0
- const theString = "shiddd"
- const [data, setData, manager] = useMutableState(theString)
- composable((close) => {
- const str = data()
- if(str.length != 0) {
- invoke++
- setData(str.slice(0, str.length-1))
- } else {
- close()
- }
- }, [manager]);
- expect(manager.closed).toBe(true)
- expect(invoke).toBe(theString.length)
- })
-
- it("should act as an Observable stream", () => {
- let invoke = 0
- composable(() => {
- invoke++
- }, [from([1,2,3,4,5])])
- expect(invoke).toBe(5)
-
- })
-
- it("should concat a string based on event", () => {
-
- const [data, setData] = useMutableState("")
- composable((_, source) => {
- setData(data() + source)
- }, [from([1,2,3,4,5])])
- expect(data()).toBe("12345")
- })
-})
-
-//
-// describe("completeFirst", () => {
-//
-// it("should invoke twice", () => {
-// let invoke = 0
-// from([1,2,3,4,5]).pipe(
-// completeOnFirst([take(2)])
-// ).subscribe((s) => {
-// console.log(s)
-// invoke++
-// })
-//
-// expect(invoke).toBe(2)
-//
-// })
-// })
diff --git a/packages/rx/test/djs.test.js b/packages/rx/test/djs.test.js
deleted file mode 100644
index 1f96fae..0000000
--- a/packages/rx/test/djs.test.js
+++ /dev/null
@@ -1,188 +0,0 @@
-import {ButtonInteraction, ComponentType, InteractionType, ModalSubmitInteraction } from 'discord.js'
-import { filter, from, of } from 'rxjs'
-import {beforeEach, describe, expect, it, vi} from 'vitest'
-import { DJS } from '../src/index'
-import {clientEvent, distinctCustomId, matchesCustomId, toCollection} from "../src/djs";
-import {EventEmitter} from "events";
-import {fail} from "assert";
-import exp from "constants";
-
-vi.mock('discord.js', () => {
-
- const Collection = Map
- const ModalSubmitInteraction = class {
- customId
- type = 5
- isModalSubmit = vi.fn()
- constructor(customId) {
- this.customId = customId
- }
- }
- const ButtonInteraction = class {
- customId
- type = 3
- componentType = 2
- isButton = vi.fn()
- constructor(customId) {
- this.customId = customId
- }
- }
- return {
- Collection,
- ComponentType: {
- Button: 2
- },
- InteractionType : {
- MessageComponent : 3,
- ModalSubmit : 5
- },
- ModalSubmitInteraction,
- ButtonInteraction
- };
-})
-
-describe("test isButton ", () => {
- let btnInteraction
- beforeEach( () => {
- btnInteraction = new ButtonInteraction("hello")
- })
- afterEach(() => vi.clearAllMocks())
- it("should invoke isButton 0 times", () => {
- let invoked = 0;
- from("not a discord button interaction").pipe(
- filter(DJS.isButton)
- ).subscribe(() => invoked++)
- expect(invoked).toBe(0)
-
- });
-
- it("should invoke isButton once", () => {
- let invoked2 = 0;
- btnInteraction.isButton.mockReturnValue(
- btnInteraction.componentType === ComponentType.Button
- && btnInteraction.type === InteractionType.MessageComponent
- )
- of(btnInteraction).pipe(
- filter(DJS.isButton)
- ).subscribe(() => invoked2++)
- expect(invoked2).toBe(1)
- })
-})
-
-describe("match customid operator", () => {
- let buttonInteraction
-
- beforeEach(() => {
- buttonInteraction = new ButtonInteraction("hello-world")
- buttonInteraction.isButton.mockReturnValue(true)
- })
- afterEach(() => {
- vi.clearAllMocks()
- })
- it("shouldn't invoke", () => {
- let invoked = 0
-
- of(buttonInteraction).pipe(
- filter(DJS.isButton),
- matchesCustomId("pooba")
- ).subscribe(() => invoked++)
- expect(invoked).toBe(0)
-
- })
- it("should invoke once", () => {
- let invoked = 0
- of(buttonInteraction).pipe(
- filter(DJS.isButton),
- matchesCustomId("hello-world")
- ).subscribe(() => invoked++)
- expect(invoked).toBe(1)
- })
-})
-
-describe("toCollection operator", () => {
- it("should fill 10 elements", () => {
- const expectedMap = new Map([
- [1, 1],
- [2, 2],
- [3, 3],
- [4, 4],
- [5, 5],
- [6, 6],
- [7, 7],
- [8, 8],
- [9, 9],
- [10, 10]
- ])
- let coll
- from([1,2,3,4,5,6,7,8,9,10]).pipe(
- toCollection(src => [src, src])
- ).subscribe(collection => {
- coll = collection
- })
- expect(coll).toEqual(expectedMap)
- })
-})
-
-describe("distinct custom id operator", () => {
- it("should invoke once", () => {
- let invoked = 0;
- from([new ButtonInteraction("p1"),new ButtonInteraction("p1"),new ButtonInteraction("p1") ])
- .pipe(distinctCustomId)
- .subscribe(() => invoked++)
- expect(invoked).toBe(1)
- })
-
- it("should invoke twice", () => {
- let invoked = 0;
- from([new ButtonInteraction("p1"),new ButtonInteraction("p1"),new ButtonInteraction("p2") ])
- .pipe(distinctCustomId)
- .subscribe(() => invoked++)
- expect(invoked).toBe(2)
- })
-
-})
-
-describe("isModal predicate", () => {
- afterEach(() => {
- vi.clearAllMocks()
- })
- it("should invoke once", () => {
- let invoked = 0
- const m = new ModalSubmitInteraction("p1")
- m.isModalSubmit.mockReturnValue(m.type === InteractionType.ModalSubmit)
- const b = new ButtonInteraction("p2")
- b.isButton.mockReturnValue(b.type === InteractionType.MessageComponent && b.componentType === ComponentType.Button)
- from([m, b])
- .pipe(filter(DJS.isModal))
- .subscribe(() => invoked++)
- expect(invoked).toBe(1)
- })
-})
-
-
-describe("clientEvent observable generator", () => {
- let c
- let cEvent
- let btnClickFromClientEvent
- beforeEach(() => {
- c = new EventEmitter()
- cEvent = clientEvent(c, 'interactionCreate').subscribe((b) =>btnClickFromClientEvent = b )
- })
- afterEach( () => {
- vi.clearAllMocks()
- cEvent.unsubscribe()
- })
-
- it("should yield ButtonInteraction ", () => {
- const btnClick = new ButtonInteraction("p1")
- c.emit('interactionCreate', btnClick)
- expect(btnClick).toBe(btnClickFromClientEvent)
- })
-
- it("should not emit correctly", () => {
- const btnClick = new ButtonInteraction("p1")
- const modalSubmit = new ModalSubmitInteraction("p1")
- c.emit('interactionCreate', modalSubmit)
- expect(btnClickFromClientEvent).not.toBe(btnClick)
- })
-})
\ No newline at end of file
diff --git a/packages/rx/tsconfig-base.json b/packages/rx/tsconfig-base.json
deleted file mode 100644
index 50c5bc1..0000000
--- a/packages/rx/tsconfig-base.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "compilerOptions": {
- "rootDir": "src",
- "strict": true,
- "esModuleInterop": true,
- "noImplicitAny": true,
- "experimentalDecorators": true,
- "strictNullChecks": true,
- "importsNotUsedAsValues": "error",
- "moduleResolution": "node",
- "skipLibCheck": true,
- "declaration": true,
- "allowSyntheticDefaultImports": true,
- "forceConsistentCasingInFileNames": true
- },
- "exclude": ["node_modules", "dist"],
- "include": ["src"]
-}
diff --git a/packages/rx/tsconfig-esm.json b/packages/rx/tsconfig-esm.json
deleted file mode 100644
index a6fd367..0000000
--- a/packages/rx/tsconfig-esm.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "./tsconfig-base.json",
- "compilerOptions": {
- "module": "esnext",
- "outDir": "dist/esm",
- "target": "esnext"
- }
-}
\ No newline at end of file
diff --git a/packages/rx/tsup.config.js b/packages/rx/tsup.config.js
deleted file mode 100644
index 8eb3217..0000000
--- a/packages/rx/tsup.config.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { defineConfig } from 'tsup';
-const shared = {
- entry: ['src/index.ts', 'src/djs/index.ts'],
- external: ['discord.js', 'rxjs'],
- platform: 'node',
- clean: true,
- sourcemap: false,
-};
-export default defineConfig([
- {
- format: 'esm',
- target: 'node17',
- tsconfig: './tsconfig-esm.json',
- dts: true,
- outDir: './dist',
- external: ['discord.js'],
- treeshake: true,
- outExtension() {
- return {
- js: '.mjs',
- };
- },
- ...shared,
- },
-]);
diff --git a/packages/rx/vitest.config.ts b/packages/rx/vitest.config.ts
deleted file mode 100644
index 16c205b..0000000
--- a/packages/rx/vitest.config.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { defineConfig } from 'vitest/config'
-
-export default defineConfig({
- test: {
- globals: true,
- environment: 'node',
- includeSource: ["src/**/*.{js,ts}"]
- },
-})