Mirror: 🎩 A tiny but capable push & pull stream library for TypeScript and Flow

Compare changes

Choose any two refs to compare.

+8
.changeset/README.md
··· 1 + # Changesets 2 + 3 + Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 + with multi-package repos, or single-package repos to help you version and publish your code. You can 5 + find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 + 7 + We have a quick list of common questions to get you started engaging with this project in 8 + [our documentation](https://github.com/changesets/changesets/blob/master/docs/common-questions.md)
+16
.changeset/config.json
··· 1 + { 2 + "$schema": "https://unpkg.com/@changesets/config@0.3.0/schema.json", 3 + "changelog": "../scripts/changelog.js", 4 + "commit": false, 5 + "access": "public", 6 + "baseBranch": "main", 7 + "updateInternalDependencies": "minor", 8 + "snapshot": { 9 + "prereleaseTemplate": "{tag}-{commit}", 10 + "useCalculatedVersion": true 11 + }, 12 + "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": { 13 + "onlyUpdatePeerDependentsWhenOutOfRange": true, 14 + "updateInternalDependents": "out-of-range" 15 + } 16 + }
+3
.editorconfig
··· 7 7 indent_style = space 8 8 insert_final_newline = true 9 9 trim_trailing_whitespace = true 10 + 11 + [*.ts] 12 + max_line_length = 100
-11
.flowconfig
··· 1 - [ignore] 2 - 3 - [include] 4 - 5 - [libs] 6 - 7 - [lints] 8 - 9 - [options] 10 - 11 - [strict]
+42
.github/ISSUE_TEMPLATE/RFC.md
··· 1 + --- 2 + name: 'RFC' 3 + about: Propose an enhancement / feature and start a discussion 4 + title: 'RFC: Your Proposal' 5 + labels: "future \U0001F52E" 6 + --- 7 + 8 + <!-- 9 + 🚨 RFCs are for proposed changes (not bugs or questions) 10 + Specifically they are whenever you'd like to see new features 11 + being added, or enable new use-cases. 12 + 13 + Please open a Bug Report for issues/bugs, and use GitHub Discussions 14 + or the Discord channel for questions instead. 15 + --> 16 + 17 + ## Summary 18 + 19 + <!-- 20 + Describe in a couple of words *what* you're proposing. 21 + If relevant, include *why* this should be addressed now. 22 + The problem should be clearly stated and the solution 23 + should be summarised. 24 + --> 25 + 26 + ## Proposed Solution 27 + 28 + <!-- 29 + Explain the solution you're proposing in detail. 30 + *How* will this change be implemented, and how does it work? 31 + --> 32 + 33 + ## Requirements 34 + 35 + <!-- 36 + This section is *optional*. 37 + But if your proposed solution has multiple ways 38 + of being implemented, you don't want to state how 39 + it may be implemented, or you don't know yet how 40 + it will be implemented, then: 41 + *List* what the implementation needs to achieve to fulfil this RFC; 42 + -->
+46
.github/ISSUE_TEMPLATE/bug_report.yaml
··· 1 + name: "\U0001F41E Bug report" 2 + description: Report an issue with graphql.web 3 + labels: [] 4 + body: 5 + - type: markdown 6 + attributes: 7 + value: | 8 + Thanks for taking the time to fill out this bug report! 9 + - type: markdown 10 + attributes: 11 + value: | 12 + Thanks for taking the time to fill out this bug report! 13 + - type: textarea 14 + id: bug-description 15 + attributes: 16 + label: Describe the bug 17 + description: Please describe your bug clearly and concisely. 18 + placeholder: Bug description 19 + validations: 20 + required: true 21 + - type: input 22 + id: reproduction 23 + attributes: 24 + label: Reproduction 25 + description: Please provide a reproduction link, e.g. to a sandbox 26 + placeholder: Reproduction 27 + validations: 28 + required: true 29 + - type: textarea 30 + id: version 31 + attributes: 32 + label: Package version 33 + description: The versions of the relevant urql packages you are using 34 + placeholder: "wonka@6.2.5" 35 + validations: 36 + required: true 37 + - type: checkboxes 38 + id: checkboxes 39 + attributes: 40 + label: Validations 41 + description: Before submitting the issue, please make sure you do the following 42 + options: 43 + - label: I can confirm that this is a bug report, and not a feature request, RFC, question, or discussion, for which GitHub Discussions should be used 44 + required: true 45 + - label: Follow our [Code of Conduct](https://github.com/0no-co/graphql.web/blob/main/CODE_OF_CONDUCT.md) 46 + required: true
+8
.github/ISSUE_TEMPLATE/config.yml
··· 1 + blank_issues_enabled: true 2 + contact_links: 3 + - name: Ask a question 4 + url: https://github.com/@0no-co/wonka/discussions 5 + about: Ask questions and discuss with other community members 6 + - name: Join the Discord 7 + url: https://discord.gg/3EYgqrYJFS 8 + about: Chat with maintainers and other community members
+22
.github/PULL_REQUEST_TEMPLATE.md
··· 1 + <!-- 2 + Thanks for opening a pull request! We appreciate your dedication and help! 3 + Before submitting your pull request, please make sure to read our CONTRIBUTING guide. 4 + 5 + The best contribution is always a PR, but please make sure to open an issue or discuss 6 + your changes first, if you’re looking to submit a larger PR. 7 + 8 + If this PR is already related to an issue, please reference it like so: 9 + Resolves #123 10 + --> 11 + 12 + ## Summary 13 + 14 + <!-- What's the motivation of this change? What does it solve? --> 15 + 16 + ## Set of changes 17 + 18 + <!-- 19 + Roughly list the changes you've made and which packages are affected. 20 + Leave some notes on what may be noteworthy files you've changed. 21 + And lastly, please let us know if you think this is a breaking change. 22 + -->
+45
.github/workflows/ci.yml
··· 1 + name: CI 2 + 3 + on: 4 + pull_request: 5 + pull_request_review: 6 + types: [submitted, edited] 7 + branches: changeset-release/main 8 + 9 + jobs: 10 + check: 11 + name: Checks 12 + runs-on: ubuntu-latest 13 + timeout-minutes: 10 14 + steps: 15 + - name: Checkout Repo 16 + uses: actions/checkout@v3 17 + with: 18 + fetch-depth: 0 19 + 20 + - name: Setup pnpm 21 + uses: pnpm/action-setup@v3 22 + with: 23 + version: 9 24 + run_install: false 25 + 26 + - name: Setup Node 27 + uses: actions/setup-node@v4 28 + with: 29 + node-version: 22 30 + cache: 'pnpm' 31 + 32 + - name: Install Dependencies 33 + run: pnpm install --frozen-lockfile --prefer-offline 34 + 35 + - name: TypeScript 36 + run: pnpm run check 37 + 38 + - name: Linting 39 + run: pnpm run lint 40 + 41 + - name: Unit Tests 42 + run: pnpm run test 43 + 44 + - name: Build 45 + run: pnpm run build
+26
.github/workflows/mirror.yml
··· 1 + # Mirrors to https://tangled.sh/@kitten.sh (knot.kitten.sh) 2 + name: Mirror (Git Backup) 3 + on: 4 + push: 5 + branches: 6 + - main 7 + jobs: 8 + mirror: 9 + runs-on: ubuntu-latest 10 + steps: 11 + - name: Checkout repository 12 + uses: actions/checkout@v4 13 + with: 14 + fetch-depth: 0 15 + fetch-tags: true 16 + - name: Mirror 17 + env: 18 + MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }} 19 + GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=yes' 20 + run: | 21 + mkdir -p ~/.ssh 22 + echo "$MIRROR_SSH_KEY" > ~/.ssh/id_rsa 23 + chmod 600 ~/.ssh/id_rsa 24 + ssh-keyscan -H knot.kitten.sh >> ~/.ssh/known_hosts 25 + git remote add mirror "git@knot.kitten.sh:kitten.sh/${GITHUB_REPOSITORY#*/}" 26 + git push --mirror mirror
+56
.github/workflows/release.yml
··· 1 + name: Release 2 + on: 3 + push: 4 + branches: 5 + - main 6 + jobs: 7 + release: 8 + name: Release 9 + runs-on: ubuntu-20.04 10 + timeout-minutes: 20 11 + permissions: 12 + contents: write 13 + id-token: write 14 + issues: write 15 + repository-projects: write 16 + deployments: write 17 + packages: write 18 + pull-requests: write 19 + steps: 20 + - name: Checkout Repo 21 + uses: actions/checkout@v3 22 + with: 23 + fetch-depth: 0 24 + 25 + - name: Setup pnpm 26 + uses: pnpm/action-setup@v3 27 + with: 28 + version: 9 29 + run_install: false 30 + 31 + - name: Setup Node 32 + uses: actions/setup-node@v4 33 + with: 34 + node-version: 22 35 + cache: 'pnpm' 36 + 37 + - name: Install Dependencies 38 + run: pnpm install --frozen-lockfile --prefer-offline 39 + 40 + - name: PR or Publish 41 + id: changesets 42 + uses: changesets/action@v1.5.3 43 + with: 44 + version: pnpm changeset:version 45 + publish: pnpm changeset:publish 46 + env: 47 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 48 + 49 + - name: Publish Prerelease 50 + if: steps.changesets.outputs.published != 'true' 51 + env: 52 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 53 + run: | 54 + git reset --hard origin/main 55 + pnpm changeset version --no-git-tag --snapshot canary 56 + pnpm changeset publish --no-git-tag --snapshot canary --tag canary
+8 -41
.gitignore
··· 1 - *.exe 2 - *.obj 3 - *.out 4 - *.compile 5 - *.native 6 - *.byte 7 - *.cmo 8 - *.annot 9 - *.cmi 10 - *.cmx 11 - *.cmt 12 - *.cmti 13 - *.cma 14 - *.a 15 - *.cmxa 16 - *.obj 17 - *~ 18 - *.annot 19 - *.cmj 20 - *.bak 21 - lib/bs 22 - *.mlast 23 - *.mliast 24 - *.install 25 - .vscode 26 - .merlin 27 - .bsb.lock 28 - .cache/ 29 - 30 - yarn-error.log 1 + /.idea 2 + /.vscode 3 + **/node_modules 4 + *.log 5 + .rts2_cache* 6 + .husky 31 7 dist/ 32 - node_modules/ 33 - lib/ 34 - src/**/*.bs.js 35 - src/**/*.gen.tsx 36 - src/**/*.gen.ts 37 - src/**/*.js.flow 38 - include/**/*.js 39 - __tests__/**/*.js 40 - coverage/ 41 - _esy/ 42 - public/ 8 + package-lock.json 9 + .DS_Store
-2
.npmignore
··· 1 - .* 2 - /esy.lock
-26
.travis.yml
··· 1 - notifications: 2 - email: false 3 - 4 - branches: 5 - only: 6 - - master 7 - - develop 8 - - /^v\d+\.\d+\.\d+/ 9 - 10 - language: node_js 11 - cache: 12 - yarn: true 13 - node_js: 14 - - '10' 15 - 16 - matrix: 17 - fast_finish: true 18 - 19 - install: 20 - - yarn install --frozen-lockfile --non-interactive 21 - 22 - script: 23 - - yarn run build 24 - - yarn run check 25 - - yarn run test --coverage 26 - - cat ./coverage/lcov.info | ./node_modules/.bin/coveralls
+102
CHANGELOG.md
··· 1 + # wonka 2 + 3 + ## 6.3.5 4 + 5 + ### Patch Changes 6 + 7 + - Exclude `sourcesContent` from published sourcemaps 8 + Submitted by [@kitten](https://github.com/kitten) (See [`68e608f`](https://github.com/0no-co/wonka/commit/68e608f46244e82d41c952ecfa1d7f0096e168f6)) 9 + 10 + ## 6.3.4 11 + 12 + ### Patch Changes 13 + 14 + - Add missing `Symbol.observable` global declaration back to typings 15 + Submitted by [@kitten](https://github.com/kitten) (See [#168](https://github.com/0no-co/wonka/pull/168)) 16 + 17 + ## 6.3.3 18 + 19 + ### Patch Changes 20 + 21 + - Improve compatibility of `fromAsyncIterable` and `toAsyncIterable`. The `toAsyncIterable` will now output an object that's both an `AsyncIterator` and an `AsyncIterable`. Both helpers will now use a polyfill for `Symbol.asyncIterator` to improve compatibility with the Hermes engine and Babel transpilation 22 + Submitted by [@kitten](https://github.com/kitten) (See [#165](https://github.com/0no-co/wonka/pull/165)) 23 + 24 + ## 6.3.2 25 + 26 + ### Patch Changes 27 + 28 + - Publish with npm provenance 29 + Submitted by [@kitten](https://github.com/kitten) (See [#161](https://github.com/0no-co/wonka/pull/161)) 30 + 31 + ## 6.3.1 32 + 33 + ### Patch Changes 34 + 35 + - ⚠️ Fix missing `declare` keyword on internal ambient enums 36 + Submitted by [@kitten](https://github.com/kitten) (See [#159](https://github.com/0no-co/wonka/pull/159)) 37 + 38 + ## 6.3.0 39 + 40 + ### Minor Changes 41 + 42 + - Add `addOne` argument to `takeWhile`, allowing an additional value to be issued 43 + Submitted by [@kitten](https://github.com/kitten) (See [#156](https://github.com/0no-co/wonka/pull/156)) 44 + 45 + ### Patch Changes 46 + 47 + - Convert `Push<T>` and `Start<T>` signals to `{ tag, 0: value }` objects, which are sufficiently backwards compatible and result in slightly faster execution in v8 48 + Submitted by [@kitten](https://github.com/kitten) (See [#155](https://github.com/0no-co/wonka/pull/155)) 49 + 50 + ## 6.2.6 51 + 52 + ### Patch Changes 53 + 54 + - ⚠️ Fix missing source contents in Wonka sourcemaps 55 + Submitted by [@kitten](https://github.com/kitten) (See [`56d9708`](https://github.com/0no-co/wonka/commit/56d970861424fddd403262bf85d7e1e3572b15e2)) 56 + - ⚠️ Fix internal `SignalKind` and `TalkbackKind` enums not compiling away 57 + Submitted by [@kitten](https://github.com/kitten) (See [#154](https://github.com/0no-co/wonka/pull/154)) 58 + 59 + ## 6.2.5 60 + 61 + ### Patch Changes 62 + 63 + - Make `closed: boolean` on `ObservableSubscription`s a required field to comply with the Observable proposal's type spec 64 + Submitted by [@naporin0624](https://github.com/naporin0624) (See [#151](https://github.com/0no-co/wonka/pull/151)) 65 + 66 + ## 6.2.4 67 + 68 + ### Patch Changes 69 + 70 + - Add missing overload definition for `filter`, which allows types to be narrowed, e.g. by specifying a type predicate return type 71 + Submitted by [@kitten](https://github.com/kitten) (See [#149](https://github.com/0no-co/wonka/pull/149)) 72 + 73 + ## 6.2.3 74 + 75 + ### Patch Changes 76 + 77 + - ⚠️ Fix overload of `pipe` type not being applied in bundled `d.ts` file, by [@kitten](https://github.com/kitten) (See [#144](https://github.com/0no-co/wonka/pull/144)) 78 + 79 + ## 6.2.2 80 + 81 + ### Patch Changes 82 + 83 + - ⚠️ Fix missing `Symbol.observable` typings and remove `const enum` exports, which aren't usable in isolated modules, by [@kitten](https://github.com/kitten) (See [#141](https://github.com/0no-co/wonka/pull/141)) 84 + 85 + ## 6.2.1 86 + 87 + ### Patch Changes 88 + 89 + - ⚠️ Fix accidental addition of `postinstall` script rather than `prepare` script, by [@kitten](https://github.com/kitten) (See [#138](https://github.com/0no-co/wonka/pull/138)) 90 + 91 + ## 6.2.0 92 + 93 + ### Minor Changes 94 + 95 + - Implement `toAsyncIterable`, converting a Wonka source to a JS Async Iterable, by [@kitten](https://github.com/kitten) (See [#133](https://github.com/0no-co/wonka/pull/133)) 96 + - Implement `d.ts` bundling. Only a single `wonka.d.ts` typings file will now be available to TypeScript, by [@kitten](https://github.com/kitten) (See [#135](https://github.com/0no-co/wonka/pull/135)) 97 + - Add extensive TSDoc documentation for all `wonka` internals and exports. This will replace the documentation and give consumers more guidance on each of the library's extensive utilities, by [@kitten](https://github.com/kitten) (See [#136](https://github.com/0no-co/wonka/pull/136)) 98 + 99 + ### Patch Changes 100 + 101 + - ⚠️ Fix promise timing by adding missing `Promise.resolve()` tick to `toPromise` sink function, by [@kitten](https://github.com/kitten) (See [#131](https://github.com/0no-co/wonka/pull/131)) 102 + - ⚠️ Fix implementation of Observable spec as such that Observable.subscribe(onNext, onError, onComplete) becomes valid, by [@kitten](https://github.com/kitten) (See [#132](https://github.com/0no-co/wonka/pull/132))
+163
CONTRIBUTING.md
··· 1 + # Development 2 + 3 + Thanks for contributing! We want to ensure that `wonka` evolves 4 + and fulfills its idea of being a tiny & capable push & pull stream library! 5 + 6 + ## How to contribute? 7 + 8 + We follow fairly standard but lenient rules around pull requests and issues. 9 + Please pick a title that describes your change briefly, optionally in the imperative 10 + mood if possible. 11 + 12 + If you have an idea for a feature or want to fix a bug, consider opening an issue 13 + first. We're also happy to discuss and help you open a PR and get your changes 14 + in! 15 + 16 + - If you have a question, try [creating a GitHub Discussions thread.](https://github.com/0no-co/wonka/discussions/new/choose) 17 + - If you think you've found a bug, [open a new issue.](https://github.com/0no-co/wonka/issues/new) 18 + - or, if you found a bug you'd like to fix, [open a PR.](https://github.com/0no-co/wonka/compare) 19 + - If you'd like to propose a change [open an RFC issue.](https://github.com/0no-co/wonka/issues/new?labels=future+%F0%9F%94%AE&template=RFC.md&title=RFC%3A+Your+Proposal) You can read more about the RFC process [below](#how-do-i-propose-changes). 20 + 21 + ### What are the issue conventions? 22 + 23 + There are **no strict conventions**, but we do have two templates in place that will fit most 24 + issues, since questions and other discussion start on GitHub Discussions. The bug template is fairly 25 + standard and the rule of thumb is to try to explain **what you expected** and **what you got 26 + instead.** Following this makes it very clear whether it's a known behavior, an unexpected issue, 27 + or an undocumented quirk. 28 + 29 + ### How do I propose changes? 30 + 31 + We follow an **RFC proposal process**. This allows anyone to propose a new feature or a change, and 32 + allows us to communicate our current planned features or changes, so any technical discussion, 33 + progress, or upcoming changes are always **documented transparently.** You can [find the RFC 34 + template](https://github.com/0no-co/wonka/issues/new/choose) in our issue creator. 35 + 36 + ### What are the PR conventions? 37 + 38 + This also comes with **no strict conventions**. We only ask you to follow the PR template we have 39 + in place more strictly here than the templates for issues, since it asks you to list a summary 40 + (maybe even with a short explanation) and a list of technical changes. 41 + 42 + If you're **resolving** an issue please don't forget to add `Resolve #123` to the description so that 43 + it's automatically linked, so that there's no ambiguity and which issue is being addressed (if any) 44 + 45 + You'll find that a comment by the "Changeset" bot may pop up. If you don't know what a **changeset** 46 + is and why it's asking you to document your changes, read on at ["How do I document a change for the 47 + changelog"](#how-do-i-document-a-change-for-the-changelog) 48 + 49 + We also typically **name** our PRs with a slightly descriptive title, e.g. `feat: Title`. 50 + 51 + ## How do I set up the project? 52 + 53 + Luckily it's not hard to get started. You can install dependencie 54 + [using `pnpm`](https://pnpm.io/installation#using-corepack). 55 + Please don't use `npm` or `yarn` to respect the lockfile. 56 + 57 + ```sh 58 + pnpm install 59 + ``` 60 + 61 + There are multiple commands you can run in the root folder to test your changes: 62 + 63 + ```sh 64 + # TypeScript checks: 65 + pnpm run check 66 + 67 + # Linting (prettier & eslint): 68 + pnpm run lint 69 + 70 + # Unit Tests: 71 + pnpm run test 72 + 73 + # Builds: 74 + pnpm run build 75 + ``` 76 + 77 + ## How do I test my changes? 78 + 79 + It's always good practice to run the tests when making changes. If you're unsure which packages 80 + may be affected by your new tests or changes you may run `pnpm test` in the root of 81 + the repository. 82 + 83 + If your editor is not set up with type checks you may also want to run `pnpm run check` on your 84 + changes. 85 + 86 + Additionally you can head to any example in the `examples/` folder 87 + and run them. There you'll also need to install their dependencies as they're isolated projects, 88 + without a lockfile and without linking to packages in the monorepos. 89 + All examples are started using the `package.json`'s `start` script. 90 + 91 + ## How do I lint my code? 92 + 93 + We ensure consistency in this codebase using `eslint` and `prettier`. 94 + They are run on a `precommit` hook, so if something's off they'll try 95 + to automatically fix up your code, or display an error. 96 + 97 + If you have them set up in your editor, even better! 98 + 99 + ## How do I document a change for the changelog? 100 + 101 + This project uses [changesets](https://github.com/atlassian/changesets). This means that for 102 + every PR there must be documentation for what has been changed and which package is affected. 103 + 104 + You can document a change by running `changeset`, which will ask you which packages 105 + have changed and whether the change is major/minor/patch. It will then ask you to write 106 + a change entry as markdown. 107 + 108 + ```sh 109 + # In the root of the urql repository call: 110 + pnpm changeset 111 + ``` 112 + 113 + This will create a new "changeset file" in the `.changeset` folder, which you should commit and 114 + push, so that it's added to your PR. 115 + This will eventually end up in the package's `CHANGELOG.md` file when we do a release. 116 + 117 + You won't need to add a changeset if you're simply making "non-visible" changes to the docs or other 118 + files that aren't published to the npm registry. 119 + 120 + [Read more about adding a `changeset` here.](https://github.com/atlassian/changesets/blob/master/docs/adding-a-changeset.md#i-am-in-a-multi-package-repository-a-mono-repo) 121 + 122 + ## How do I release new versions of our packages? 123 + 124 + Hold up, that's **automated**! Since we use `changeset` to document our changes, which determines what 125 + goes into the changelog and what kind of version bump a change should make, you can also use the 126 + tool to check what's currently posed to change after a release batch using: `pnpm changeset status`. 127 + 128 + We have a [GitHub Actions workflow](./.github/workflow/release.yml) which is triggered whenever new 129 + changes are merged. It will always open a **"Version Packages" PR** which is kept up-to-date. This PR 130 + documents all changes that are made and will show in its description what all new changelogs are 131 + going to contain for their new entries. 132 + 133 + Once a "Version Packages" PR is approved by a contributor and merged, the action will automatically 134 + take care of creating the release, publishing all updated packages to the npm registry, and creating 135 + appropriate tags on GitHub too. 136 + 137 + This process is automated, but the changelog should be checked for errors. 138 + 139 + As to **when** to merge the automated PR and publish? Maybe not after every change. Typically there 140 + are two release batches: hotfixes and release batches. We expect that a hotfix for a single package 141 + should go out as quickly as possible if it negatively affects users. For **release batches** 142 + however, it's common to assume that if one change is made to a package that more will follow in the 143 + same week. So waiting for **a day or two** when other changes are expected will make sense to keep the 144 + fatigue as low as possible for downstream maintainers. 145 + 146 + ## How do I upgrade all dependencies? 147 + 148 + It may be a good idea to keep all dependencies on this repository **up-to-date** every now and 149 + then. Typically we do this by running `pnpm update --interactive --latest` and checking one-by-one 150 + which dependencies will need to be bumped. In case of any security issues it may make sense to 151 + just run `pnpm update [package]`. 152 + 153 + While this is rare with `pnpm`, upgrading some transitive dependencies may accidentally duplicate 154 + them if two packages depend on different compatible version ranges. This can be fixed by running: 155 + 156 + ```sh 157 + pnpm dedupe 158 + pnpm install 159 + ``` 160 + 161 + It's common to then **create a PR** (with a changeset documenting the packages that need to reflect 162 + new changes if any `dependencies` have changed) with the name of 163 + "(chore) - Upgrade direct and transitive dependencies" or something similar.
+1 -1
LICENSE.md
··· 1 1 MIT License 2 2 3 - Copyright (c) 2018–2022 0no.co 3 + Copyright (c) 0no.co 4 4 5 5 Permission is hereby granted, free of charge, to any person obtaining a copy 6 6 of this software and associated documentation files (the "Software"), to deal
+1 -1
docs/api/operators.md
··· 547 547 pipe( 548 548 interval(10), 549 549 throttle(() => 50) 550 - takew(2), 550 + take(2), 551 551 subscribe(val => console.log(val)) 552 552 ); // Outputs 0 6 to the console. 553 553 ```
+1 -1
docs/api/sinks.md
··· 25 25 ```typescript 26 26 import { pipe, subscribe } from 'wonka'; 27 27 28 - const [unsubscribe] = pipe( 28 + const { unsubscribe } = pipe( 29 29 source, 30 30 subscribe((x) => console.log(x)); 31 31 );
+1 -1
index.js.flow
··· 1 1 // @flow 2 2 3 - declare export * from "./dist/types/index.js.flow" 3 + declare export * from "./dist/wonka.js.flow"
+35 -35
package.json
··· 1 1 { 2 2 "name": "wonka", 3 3 "description": "A tiny but capable push & pull stream library for TypeScript and Flow", 4 - "version": "6.1.0", 4 + "version": "6.3.5", 5 5 "author": "0no.co <hi@0no.co>", 6 6 "source": "./src/index.ts", 7 7 "main": "./dist/wonka", 8 8 "module": "./dist/wonka.mjs", 9 - "types": "./dist/types/index.d.ts", 9 + "types": "./dist/wonka.d.ts", 10 10 "exports": { 11 11 ".": { 12 + "types": "./dist/wonka.d.ts", 12 13 "import": "./dist/wonka.mjs", 13 14 "require": "./dist/wonka.js", 14 - "types": "./dist/types/index.d.ts", 15 15 "source": "./src/index.ts" 16 16 }, 17 - "./package.json": "./package.json", 18 - "./": "./" 17 + "./package.json": "./package.json" 19 18 }, 20 19 "sideEffects": false, 21 20 "files": [ ··· 36 35 "stream" 37 36 ], 38 37 "scripts": { 39 - "test": "jest", 38 + "test": "vitest run", 40 39 "check": "tsc", 41 40 "lint": "eslint --ext=js,ts .", 42 - "build": "rollup -c rollup.config.js", 41 + "build": "rollup -c scripts/rollup.config.mjs", 43 42 "clean": "rimraf dist node_modules/.cache", 44 - "prepublishOnly": "run-s clean build check test" 43 + "prepublishOnly": "run-s clean build check test", 44 + "prepare": "node ./scripts/prepare.js", 45 + "changeset:version": "changeset version && pnpm install --lockfile-only", 46 + "changeset:publish": "changeset publish" 45 47 }, 46 48 "repository": "https://github.com/0no-co/wonka", 47 49 "bugs": { ··· 69 71 "./scripts/eslint-preset.js" 70 72 ] 71 73 }, 72 - "jest": { 73 - "testRegex": "(src/.*(\\.|/)(test|spec))\\.ts$", 74 - "transform": { 75 - "^.+\\.tsx?$": "@sucrase/jest-plugin" 76 - } 74 + "publishConfig": { 75 + "provenance": true 77 76 }, 78 - "dependencies": {}, 79 77 "devDependencies": { 80 - "@rollup/plugin-buble": "^0.21.3", 81 - "@rollup/plugin-commonjs": "^22.0.2", 82 - "@rollup/plugin-node-resolve": "^13.3.0", 83 - "@rollup/plugin-typescript": "^8.3.4", 84 - "@rollup/pluginutils": "^4.2.1", 85 - "@sucrase/jest-plugin": "^2.2.1", 86 - "@types/jest": "^28.1.6", 87 - "@types/node": "^18.7.2", 78 + "@changesets/cli": "^2.29.6", 79 + "@changesets/get-github-info": "^0.6.0", 80 + "@rollup/plugin-buble": "^1.0.1", 81 + "@rollup/plugin-commonjs": "^23.0.3", 82 + "@rollup/plugin-node-resolve": "^15.0.1", 83 + "@rollup/plugin-sucrase": "^5.0.1", 84 + "@rollup/plugin-terser": "^0.1.0", 85 + "@rollup/pluginutils": "^5.0.2", 88 86 "@types/zen-observable": "^0.8.3", 89 - "@typescript-eslint/eslint-plugin": "^5.33.0", 90 - "@typescript-eslint/parser": "^5.33.0", 87 + "@typescript-eslint/eslint-plugin": "^5.45.0", 88 + "@typescript-eslint/parser": "^5.45.0", 91 89 "callbag-from-iter": "^1.3.0", 92 90 "callbag-iterate": "^1.0.0", 93 91 "callbag-take": "^1.5.0", 94 - "eslint": "^8.21.0", 92 + "dotenv": "^16.0.3", 93 + "eslint": "^8.29.0", 95 94 "eslint-config-prettier": "^8.5.0", 96 - "eslint-plugin-jest": "^26.8.2", 97 95 "eslint-plugin-prettier": "^4.2.1", 98 - "flowgen": "^1.20.1", 96 + "eslint-plugin-tsdoc": "^0.2.17", 97 + "flowgen": "^1.21.0", 99 98 "glob": "^8.0.3", 100 99 "husky-v4": "^4.3.8", 101 - "jest": "^28.1.3", 102 - "lint-staged": "^13.0.3", 100 + "lint-staged": "^13.0.4", 103 101 "npm-run-all": "^4.1.5", 104 - "prettier": "^2.7.1", 102 + "prettier": "^2.8.0", 105 103 "rimraf": "^3.0.2", 106 - "rollup": "^2.77.3", 107 - "rollup-plugin-terser": "^7.0.2", 108 - "tslib": "^2.4.0", 109 - "typescript": "^4.8.2", 110 - "zen-observable": "^0.8.15" 104 + "rollup": "^3.5.1", 105 + "rollup-plugin-cjs-check": "^1.0.1", 106 + "rollup-plugin-dts": "^5.1.1", 107 + "tslib": "^2.4.1", 108 + "typescript": "^4.9.5", 109 + "vitest": "^1.2.2", 110 + "zen-observable": "^0.10.0" 111 111 } 112 112 }
+222
perf/pnpm-lock.yaml
··· 1 + lockfileVersion: 5.4 2 + 3 + specifiers: 4 + benchr: ^4.3.0 5 + most: ^1.7.3 6 + rxjs: ^6.3.3 7 + wonka-v4: npm:wonka@^4.0.0 8 + 9 + dependencies: 10 + most: 1.9.0 11 + rxjs: 6.6.7 12 + wonka-v4: /wonka/4.0.15 13 + 14 + devDependencies: 15 + benchr: 4.3.0 16 + 17 + packages: 18 + 19 + /@most/multicast/1.3.0_most@1.9.0: 20 + resolution: {integrity: sha512-DWH8AShgp5bXn+auGzf5tzPxvpmEvQJd0CNsApOci1LDF4eAEcnw4HQOr2Jaa+L92NbDYFKBSXxll+i7r1ikvw==} 21 + peerDependencies: 22 + most: ^1.0.1 23 + dependencies: 24 + '@most/prelude': 1.8.0 25 + most: 1.9.0 26 + dev: false 27 + 28 + /@most/prelude/1.8.0: 29 + resolution: {integrity: sha512-t1CcURpZzfmBA6fEWwqmCqeNzWAj1w2WqEmCk/2yXMe/p8Ut000wFmVKMy8A1Rl9VVxZEZ5nBHd/pU0dR4bv/w==} 30 + dev: false 31 + 32 + /ansi-regex/5.0.1: 33 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 34 + engines: {node: '>=8'} 35 + dev: true 36 + 37 + /ansi-styles/3.2.1: 38 + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 39 + engines: {node: '>=4'} 40 + dependencies: 41 + color-convert: 1.9.3 42 + dev: true 43 + 44 + /benchmark/2.1.4: 45 + resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} 46 + dependencies: 47 + lodash: 4.17.21 48 + platform: 1.3.6 49 + dev: true 50 + 51 + /benchr/4.3.0: 52 + resolution: {integrity: sha512-ZOJkEOLOI4vyf34fnUSmh+xvg8P86cmVfyORBgIJHLfXMuvrfkMsUEThMaJND406KGCigtBO6sMjExGbp+WeLw==} 53 + engines: {node: '>=6.0.0'} 54 + hasBin: true 55 + dependencies: 56 + benchmark: 2.1.4 57 + chalk: 2.4.2 58 + docopt: 0.6.2 59 + easy-table: 1.2.0 60 + require-all: 2.2.0 61 + dev: true 62 + 63 + /chalk/2.4.2: 64 + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 65 + engines: {node: '>=4'} 66 + dependencies: 67 + ansi-styles: 3.2.1 68 + escape-string-regexp: 1.0.5 69 + supports-color: 5.5.0 70 + dev: true 71 + 72 + /clone/1.0.4: 73 + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 74 + engines: {node: '>=0.8'} 75 + dev: true 76 + optional: true 77 + 78 + /color-convert/1.9.3: 79 + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 80 + dependencies: 81 + color-name: 1.1.3 82 + dev: true 83 + 84 + /color-name/1.1.3: 85 + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 86 + dev: true 87 + 88 + /defaults/1.0.4: 89 + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 90 + dependencies: 91 + clone: 1.0.4 92 + dev: true 93 + optional: true 94 + 95 + /define-properties/1.1.4: 96 + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 97 + engines: {node: '>= 0.4'} 98 + dependencies: 99 + has-property-descriptors: 1.0.0 100 + object-keys: 1.1.1 101 + dev: false 102 + 103 + /docopt/0.6.2: 104 + resolution: {integrity: sha512-NqTbaYeE4gA/wU1hdKFdU+AFahpDOpgGLzHP42k6H6DKExJd0A55KEVWYhL9FEmHmgeLvEU2vuKXDuU+4yToOw==} 105 + engines: {node: '>=0.10.0'} 106 + dev: true 107 + 108 + /easy-table/1.2.0: 109 + resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==} 110 + dependencies: 111 + ansi-regex: 5.0.1 112 + optionalDependencies: 113 + wcwidth: 1.0.1 114 + dev: true 115 + 116 + /escape-string-regexp/1.0.5: 117 + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 118 + engines: {node: '>=0.8.0'} 119 + dev: true 120 + 121 + /function-bind/1.1.1: 122 + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 123 + dev: false 124 + 125 + /get-intrinsic/1.1.3: 126 + resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} 127 + dependencies: 128 + function-bind: 1.1.1 129 + has: 1.0.3 130 + has-symbols: 1.0.3 131 + dev: false 132 + 133 + /globalthis/1.0.3: 134 + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 135 + engines: {node: '>= 0.4'} 136 + dependencies: 137 + define-properties: 1.1.4 138 + dev: false 139 + 140 + /has-flag/3.0.0: 141 + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 142 + engines: {node: '>=4'} 143 + dev: true 144 + 145 + /has-property-descriptors/1.0.0: 146 + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 147 + dependencies: 148 + get-intrinsic: 1.1.3 149 + dev: false 150 + 151 + /has-symbols/1.0.3: 152 + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 153 + engines: {node: '>= 0.4'} 154 + dev: false 155 + 156 + /has/1.0.3: 157 + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 158 + engines: {node: '>= 0.4.0'} 159 + dependencies: 160 + function-bind: 1.1.1 161 + dev: false 162 + 163 + /lodash/4.17.21: 164 + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 165 + dev: true 166 + 167 + /most/1.9.0: 168 + resolution: {integrity: sha512-M7yHMcMGaclzEL6eg8Yh8PlAsaWfL/oSThF4+ZuWKM5CKXcbzmLh+qESwgZFzMKHJ+iVJwb28yFvDEOobI653w==} 169 + dependencies: 170 + '@most/multicast': 1.3.0_most@1.9.0 171 + '@most/prelude': 1.8.0 172 + globalthis: 1.0.3 173 + symbol-observable: 2.0.3 174 + dev: false 175 + 176 + /object-keys/1.1.1: 177 + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 178 + engines: {node: '>= 0.4'} 179 + dev: false 180 + 181 + /platform/1.3.6: 182 + resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} 183 + dev: true 184 + 185 + /require-all/2.2.0: 186 + resolution: {integrity: sha512-YWj/WNCxs+KxppuN3j11Ztqzl8MI/oWj4ERwEwgJ5gsHzWi8OAK7FepPu8MLv/Rn8Pov6aPdpRkaoO2Tb6m+zQ==} 187 + dev: true 188 + 189 + /rxjs/6.6.7: 190 + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} 191 + engines: {npm: '>=2.0.0'} 192 + dependencies: 193 + tslib: 1.14.1 194 + dev: false 195 + 196 + /supports-color/5.5.0: 197 + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 198 + engines: {node: '>=4'} 199 + dependencies: 200 + has-flag: 3.0.0 201 + dev: true 202 + 203 + /symbol-observable/2.0.3: 204 + resolution: {integrity: sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==} 205 + engines: {node: '>=0.10'} 206 + dev: false 207 + 208 + /tslib/1.14.1: 209 + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 210 + dev: false 211 + 212 + /wcwidth/1.0.1: 213 + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 214 + requiresBuild: true 215 + dependencies: 216 + defaults: 1.0.4 217 + dev: true 218 + optional: true 219 + 220 + /wonka/4.0.15: 221 + resolution: {integrity: sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==} 222 + dev: false
-163
perf/yarn.lock
··· 1 - # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 - # yarn lockfile v1 3 - 4 - 5 - "@most/multicast@^1.2.5": 6 - version "1.3.0" 7 - resolved "https://registry.yarnpkg.com/@most/multicast/-/multicast-1.3.0.tgz#e01574840df634478ac3fabd164c6e830fb3b966" 8 - integrity sha512-DWH8AShgp5bXn+auGzf5tzPxvpmEvQJd0CNsApOci1LDF4eAEcnw4HQOr2Jaa+L92NbDYFKBSXxll+i7r1ikvw== 9 - dependencies: 10 - "@most/prelude" "^1.4.0" 11 - 12 - "@most/prelude@^1.4.0": 13 - version "1.7.2" 14 - resolved "https://registry.yarnpkg.com/@most/prelude/-/prelude-1.7.2.tgz#be4ed406518d4c8c220e45c39fa7251365425b73" 15 - integrity sha512-GM5ec7+xpkuXiCMyzhyENgH/xZ8t0nAMDBY0QOsVVD6TrZYjJKUnW1eaI18HHX8W+COWMwWR9c0zoPiBp9+tUg== 16 - 17 - ansi-regex@^3.0.0: 18 - version "3.0.0" 19 - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 20 - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 21 - 22 - ansi-styles@^3.2.1: 23 - version "3.2.1" 24 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 25 - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 26 - dependencies: 27 - color-convert "^1.9.0" 28 - 29 - benchmark@^2.1.4: 30 - version "2.1.4" 31 - resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-2.1.4.tgz#09f3de31c916425d498cc2ee565a0ebf3c2a5629" 32 - integrity sha1-CfPeMckWQl1JjMLuVloOvzwqVik= 33 - dependencies: 34 - lodash "^4.17.4" 35 - platform "^1.3.3" 36 - 37 - benchr@^4.3.0: 38 - version "4.3.0" 39 - resolved "https://registry.yarnpkg.com/benchr/-/benchr-4.3.0.tgz#48d7e0f7150340fff3db0222203b84c6cb7719ad" 40 - integrity sha512-ZOJkEOLOI4vyf34fnUSmh+xvg8P86cmVfyORBgIJHLfXMuvrfkMsUEThMaJND406KGCigtBO6sMjExGbp+WeLw== 41 - dependencies: 42 - benchmark "^2.1.4" 43 - chalk "^2.3.0" 44 - docopt "^0.6.2" 45 - easy-table "^1.1.1" 46 - require-all "^2.2.0" 47 - 48 - chalk@^2.3.0: 49 - version "2.4.2" 50 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 51 - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 52 - dependencies: 53 - ansi-styles "^3.2.1" 54 - escape-string-regexp "^1.0.5" 55 - supports-color "^5.3.0" 56 - 57 - clone@^1.0.2: 58 - version "1.0.4" 59 - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" 60 - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= 61 - 62 - color-convert@^1.9.0: 63 - version "1.9.3" 64 - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 65 - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 66 - dependencies: 67 - color-name "1.1.3" 68 - 69 - color-name@1.1.3: 70 - version "1.1.3" 71 - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 72 - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 73 - 74 - defaults@^1.0.3: 75 - version "1.0.3" 76 - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 77 - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= 78 - dependencies: 79 - clone "^1.0.2" 80 - 81 - docopt@^0.6.2: 82 - version "0.6.2" 83 - resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11" 84 - integrity sha1-so6eIiDaXsSffqW7JKR3h0Be6xE= 85 - 86 - easy-table@^1.1.1: 87 - version "1.1.1" 88 - resolved "https://registry.yarnpkg.com/easy-table/-/easy-table-1.1.1.tgz#c1b9b9ad68a017091a1c235e4bcba277540e143f" 89 - integrity sha512-C9Lvm0WFcn2RgxbMnTbXZenMIWcBtkzMr+dWqq/JsVoGFSVUVlPqeOa5LP5kM0I3zoOazFpckOEb2/0LDFfToQ== 90 - dependencies: 91 - ansi-regex "^3.0.0" 92 - optionalDependencies: 93 - wcwidth ">=1.0.1" 94 - 95 - escape-string-regexp@^1.0.5: 96 - version "1.0.5" 97 - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 98 - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 99 - 100 - has-flag@^3.0.0: 101 - version "3.0.0" 102 - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 103 - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 104 - 105 - lodash@^4.17.4: 106 - version "4.17.14" 107 - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" 108 - integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== 109 - 110 - most@^1.7.3: 111 - version "1.7.3" 112 - resolved "https://registry.yarnpkg.com/most/-/most-1.7.3.tgz#406c31a66d73aa16957816fdf96965e27df84f1a" 113 - integrity sha512-mk68SM/ptK8WSo3l03raXcWy02Hl7jbzxVozMuvyYxohn4yteh2THhl3+XABF5cunWE8eXHAsLbv+RCJI5y+jg== 114 - dependencies: 115 - "@most/multicast" "^1.2.5" 116 - "@most/prelude" "^1.4.0" 117 - symbol-observable "^1.0.2" 118 - 119 - platform@^1.3.3: 120 - version "1.3.5" 121 - resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.5.tgz#fb6958c696e07e2918d2eeda0f0bc9448d733444" 122 - integrity sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q== 123 - 124 - require-all@^2.2.0: 125 - version "2.2.0" 126 - resolved "https://registry.yarnpkg.com/require-all/-/require-all-2.2.0.tgz#b4420c233ac0282d0ff49b277fb880a8b5de0894" 127 - integrity sha1-tEIMIzrAKC0P9Jsnf7iAqLXeCJQ= 128 - 129 - rxjs@^6.3.3: 130 - version "6.3.3" 131 - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" 132 - integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== 133 - dependencies: 134 - tslib "^1.9.0" 135 - 136 - supports-color@^5.3.0: 137 - version "5.5.0" 138 - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 139 - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 140 - dependencies: 141 - has-flag "^3.0.0" 142 - 143 - symbol-observable@^1.0.2: 144 - version "1.2.0" 145 - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 146 - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== 147 - 148 - tslib@^1.9.0: 149 - version "1.9.3" 150 - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 151 - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== 152 - 153 - wcwidth@>=1.0.1: 154 - version "1.0.1" 155 - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" 156 - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= 157 - dependencies: 158 - defaults "^1.0.3" 159 - 160 - "wonka-v4@npm:wonka@^4.0.0": 161 - version "4.0.15" 162 - resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.15.tgz#9aa42046efa424565ab8f8f451fcca955bf80b89" 163 - integrity sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==
+5110
pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + devDependencies: 11 + '@changesets/cli': 12 + specifier: ^2.29.6 13 + version: 2.29.6(@types/node@22.13.9) 14 + '@changesets/get-github-info': 15 + specifier: ^0.6.0 16 + version: 0.6.0 17 + '@rollup/plugin-buble': 18 + specifier: ^1.0.1 19 + version: 1.0.3(rollup@3.29.5) 20 + '@rollup/plugin-commonjs': 21 + specifier: ^23.0.3 22 + version: 23.0.7(rollup@3.29.5) 23 + '@rollup/plugin-node-resolve': 24 + specifier: ^15.0.1 25 + version: 15.3.1(rollup@3.29.5) 26 + '@rollup/plugin-sucrase': 27 + specifier: ^5.0.1 28 + version: 5.0.2(rollup@3.29.5) 29 + '@rollup/plugin-terser': 30 + specifier: ^0.1.0 31 + version: 0.1.0(rollup@3.29.5) 32 + '@rollup/pluginutils': 33 + specifier: ^5.0.2 34 + version: 5.1.4(rollup@3.29.5) 35 + '@types/zen-observable': 36 + specifier: ^0.8.3 37 + version: 0.8.7 38 + '@typescript-eslint/eslint-plugin': 39 + specifier: ^5.45.0 40 + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) 41 + '@typescript-eslint/parser': 42 + specifier: ^5.45.0 43 + version: 5.62.0(eslint@8.57.1)(typescript@4.9.5) 44 + callbag-from-iter: 45 + specifier: ^1.3.0 46 + version: 1.3.0 47 + callbag-iterate: 48 + specifier: ^1.0.0 49 + version: 1.0.0 50 + callbag-take: 51 + specifier: ^1.5.0 52 + version: 1.5.0 53 + dotenv: 54 + specifier: ^16.0.3 55 + version: 16.4.7 56 + eslint: 57 + specifier: ^8.29.0 58 + version: 8.57.1 59 + eslint-config-prettier: 60 + specifier: ^8.5.0 61 + version: 8.10.0(eslint@8.57.1) 62 + eslint-plugin-prettier: 63 + specifier: ^4.2.1 64 + version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.8) 65 + eslint-plugin-tsdoc: 66 + specifier: ^0.2.17 67 + version: 0.2.17 68 + flowgen: 69 + specifier: ^1.21.0 70 + version: 1.21.0 71 + glob: 72 + specifier: ^8.0.3 73 + version: 8.1.0 74 + husky-v4: 75 + specifier: ^4.3.8 76 + version: 4.3.8 77 + lint-staged: 78 + specifier: ^13.0.4 79 + version: 13.3.0(enquirer@2.4.1) 80 + npm-run-all: 81 + specifier: ^4.1.5 82 + version: 4.1.5 83 + prettier: 84 + specifier: ^2.8.0 85 + version: 2.8.8 86 + rimraf: 87 + specifier: ^3.0.2 88 + version: 3.0.2 89 + rollup: 90 + specifier: ^3.5.1 91 + version: 3.29.5 92 + rollup-plugin-cjs-check: 93 + specifier: ^1.0.1 94 + version: 1.0.3(rollup@3.29.5) 95 + rollup-plugin-dts: 96 + specifier: ^5.1.1 97 + version: 5.3.1(rollup@3.29.5)(typescript@4.9.5) 98 + tslib: 99 + specifier: ^2.4.1 100 + version: 2.8.1 101 + typescript: 102 + specifier: ^4.9.5 103 + version: 4.9.5 104 + vitest: 105 + specifier: ^1.2.2 106 + version: 1.6.1(@types/node@22.13.9)(terser@5.39.0) 107 + zen-observable: 108 + specifier: ^0.10.0 109 + version: 0.10.0 110 + 111 + packages: 112 + 113 + '@babel/code-frame@7.26.2': 114 + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 115 + engines: {node: '>=6.9.0'} 116 + 117 + '@babel/helper-validator-identifier@7.25.9': 118 + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 119 + engines: {node: '>=6.9.0'} 120 + 121 + '@babel/highlight@7.25.9': 122 + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} 123 + engines: {node: '>=6.9.0'} 124 + 125 + '@babel/runtime@7.26.9': 126 + resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} 127 + engines: {node: '>=6.9.0'} 128 + 129 + '@changesets/apply-release-plan@7.0.12': 130 + resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} 131 + 132 + '@changesets/assemble-release-plan@6.0.9': 133 + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} 134 + 135 + '@changesets/changelog-git@0.2.1': 136 + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} 137 + 138 + '@changesets/cli@2.29.6': 139 + resolution: {integrity: sha512-6qCcVsIG1KQLhpQ5zE8N0PckIx4+9QlHK3z6/lwKnw7Tir71Bjw8BeOZaxA/4Jt00pcgCnCSWZnyuZf5Il05QQ==} 140 + hasBin: true 141 + 142 + '@changesets/config@3.1.1': 143 + resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} 144 + 145 + '@changesets/errors@0.2.0': 146 + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} 147 + 148 + '@changesets/get-dependents-graph@2.1.3': 149 + resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} 150 + 151 + '@changesets/get-github-info@0.6.0': 152 + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} 153 + 154 + '@changesets/get-release-plan@4.0.13': 155 + resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==} 156 + 157 + '@changesets/get-version-range-type@0.4.0': 158 + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} 159 + 160 + '@changesets/git@3.0.4': 161 + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} 162 + 163 + '@changesets/logger@0.1.1': 164 + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} 165 + 166 + '@changesets/parse@0.4.1': 167 + resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} 168 + 169 + '@changesets/pre@2.0.2': 170 + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} 171 + 172 + '@changesets/read@0.6.5': 173 + resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} 174 + 175 + '@changesets/should-skip-package@0.1.2': 176 + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} 177 + 178 + '@changesets/types@4.1.0': 179 + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} 180 + 181 + '@changesets/types@6.1.0': 182 + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} 183 + 184 + '@changesets/write@0.4.0': 185 + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} 186 + 187 + '@esbuild/aix-ppc64@0.21.5': 188 + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 189 + engines: {node: '>=12'} 190 + cpu: [ppc64] 191 + os: [aix] 192 + 193 + '@esbuild/android-arm64@0.21.5': 194 + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 195 + engines: {node: '>=12'} 196 + cpu: [arm64] 197 + os: [android] 198 + 199 + '@esbuild/android-arm@0.21.5': 200 + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 201 + engines: {node: '>=12'} 202 + cpu: [arm] 203 + os: [android] 204 + 205 + '@esbuild/android-x64@0.21.5': 206 + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 207 + engines: {node: '>=12'} 208 + cpu: [x64] 209 + os: [android] 210 + 211 + '@esbuild/darwin-arm64@0.21.5': 212 + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 213 + engines: {node: '>=12'} 214 + cpu: [arm64] 215 + os: [darwin] 216 + 217 + '@esbuild/darwin-x64@0.21.5': 218 + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 219 + engines: {node: '>=12'} 220 + cpu: [x64] 221 + os: [darwin] 222 + 223 + '@esbuild/freebsd-arm64@0.21.5': 224 + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 225 + engines: {node: '>=12'} 226 + cpu: [arm64] 227 + os: [freebsd] 228 + 229 + '@esbuild/freebsd-x64@0.21.5': 230 + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 231 + engines: {node: '>=12'} 232 + cpu: [x64] 233 + os: [freebsd] 234 + 235 + '@esbuild/linux-arm64@0.21.5': 236 + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 237 + engines: {node: '>=12'} 238 + cpu: [arm64] 239 + os: [linux] 240 + 241 + '@esbuild/linux-arm@0.21.5': 242 + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 243 + engines: {node: '>=12'} 244 + cpu: [arm] 245 + os: [linux] 246 + 247 + '@esbuild/linux-ia32@0.21.5': 248 + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 249 + engines: {node: '>=12'} 250 + cpu: [ia32] 251 + os: [linux] 252 + 253 + '@esbuild/linux-loong64@0.21.5': 254 + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 255 + engines: {node: '>=12'} 256 + cpu: [loong64] 257 + os: [linux] 258 + 259 + '@esbuild/linux-mips64el@0.21.5': 260 + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 261 + engines: {node: '>=12'} 262 + cpu: [mips64el] 263 + os: [linux] 264 + 265 + '@esbuild/linux-ppc64@0.21.5': 266 + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 267 + engines: {node: '>=12'} 268 + cpu: [ppc64] 269 + os: [linux] 270 + 271 + '@esbuild/linux-riscv64@0.21.5': 272 + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 273 + engines: {node: '>=12'} 274 + cpu: [riscv64] 275 + os: [linux] 276 + 277 + '@esbuild/linux-s390x@0.21.5': 278 + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 279 + engines: {node: '>=12'} 280 + cpu: [s390x] 281 + os: [linux] 282 + 283 + '@esbuild/linux-x64@0.21.5': 284 + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 285 + engines: {node: '>=12'} 286 + cpu: [x64] 287 + os: [linux] 288 + 289 + '@esbuild/netbsd-x64@0.21.5': 290 + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 291 + engines: {node: '>=12'} 292 + cpu: [x64] 293 + os: [netbsd] 294 + 295 + '@esbuild/openbsd-x64@0.21.5': 296 + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 297 + engines: {node: '>=12'} 298 + cpu: [x64] 299 + os: [openbsd] 300 + 301 + '@esbuild/sunos-x64@0.21.5': 302 + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 303 + engines: {node: '>=12'} 304 + cpu: [x64] 305 + os: [sunos] 306 + 307 + '@esbuild/win32-arm64@0.21.5': 308 + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 309 + engines: {node: '>=12'} 310 + cpu: [arm64] 311 + os: [win32] 312 + 313 + '@esbuild/win32-ia32@0.21.5': 314 + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 315 + engines: {node: '>=12'} 316 + cpu: [ia32] 317 + os: [win32] 318 + 319 + '@esbuild/win32-x64@0.21.5': 320 + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 321 + engines: {node: '>=12'} 322 + cpu: [x64] 323 + os: [win32] 324 + 325 + '@eslint-community/eslint-utils@4.4.1': 326 + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} 327 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 328 + peerDependencies: 329 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 330 + 331 + '@eslint-community/regexpp@4.12.1': 332 + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 333 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 334 + 335 + '@eslint/eslintrc@2.1.4': 336 + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 337 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 338 + 339 + '@eslint/js@8.57.1': 340 + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} 341 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 342 + 343 + '@humanwhocodes/config-array@0.13.0': 344 + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} 345 + engines: {node: '>=10.10.0'} 346 + deprecated: Use @eslint/config-array instead 347 + 348 + '@humanwhocodes/module-importer@1.0.1': 349 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 350 + engines: {node: '>=12.22'} 351 + 352 + '@humanwhocodes/object-schema@2.0.3': 353 + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 354 + deprecated: Use @eslint/object-schema instead 355 + 356 + '@inquirer/external-editor@1.0.1': 357 + resolution: {integrity: sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==} 358 + engines: {node: '>=18'} 359 + peerDependencies: 360 + '@types/node': '>=18' 361 + peerDependenciesMeta: 362 + '@types/node': 363 + optional: true 364 + 365 + '@isaacs/cliui@8.0.2': 366 + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 367 + engines: {node: '>=12'} 368 + 369 + '@jest/schemas@29.6.3': 370 + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} 371 + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 372 + 373 + '@jridgewell/gen-mapping@0.3.8': 374 + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 375 + engines: {node: '>=6.0.0'} 376 + 377 + '@jridgewell/resolve-uri@3.1.2': 378 + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 379 + engines: {node: '>=6.0.0'} 380 + 381 + '@jridgewell/set-array@1.2.1': 382 + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 383 + engines: {node: '>=6.0.0'} 384 + 385 + '@jridgewell/source-map@0.3.6': 386 + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} 387 + 388 + '@jridgewell/sourcemap-codec@1.5.0': 389 + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 390 + 391 + '@jridgewell/trace-mapping@0.3.25': 392 + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 393 + 394 + '@manypkg/find-root@1.1.0': 395 + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} 396 + 397 + '@manypkg/get-packages@1.1.3': 398 + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 399 + 400 + '@microsoft/tsdoc-config@0.16.2': 401 + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} 402 + 403 + '@microsoft/tsdoc@0.14.2': 404 + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} 405 + 406 + '@nodelib/fs.scandir@2.1.5': 407 + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 408 + engines: {node: '>= 8'} 409 + 410 + '@nodelib/fs.stat@2.0.5': 411 + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 412 + engines: {node: '>= 8'} 413 + 414 + '@nodelib/fs.walk@1.2.8': 415 + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 416 + engines: {node: '>= 8'} 417 + 418 + '@pkgjs/parseargs@0.11.0': 419 + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 420 + engines: {node: '>=14'} 421 + 422 + '@rollup/plugin-buble@1.0.3': 423 + resolution: {integrity: sha512-QYD9BKkJoof0FdCFeSYYhF6/Y8e0Mnf+098xGgmWOFJ4UPHlWujjqOYeVwEm2hJPOmlR5k7HPUdAjqtOWhN64Q==} 424 + engines: {node: '>=14.0.0'} 425 + peerDependencies: 426 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 427 + peerDependenciesMeta: 428 + rollup: 429 + optional: true 430 + 431 + '@rollup/plugin-commonjs@23.0.7': 432 + resolution: {integrity: sha512-hsSD5Qzyuat/swzrExGG5l7EuIlPhwTsT7KwKbSCQzIcJWjRxiimi/0tyMYY2bByitNb3i1p+6JWEDGa0NvT0Q==} 433 + engines: {node: '>=14.0.0'} 434 + peerDependencies: 435 + rollup: ^2.68.0||^3.0.0 436 + peerDependenciesMeta: 437 + rollup: 438 + optional: true 439 + 440 + '@rollup/plugin-node-resolve@15.3.1': 441 + resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} 442 + engines: {node: '>=14.0.0'} 443 + peerDependencies: 444 + rollup: ^2.78.0||^3.0.0||^4.0.0 445 + peerDependenciesMeta: 446 + rollup: 447 + optional: true 448 + 449 + '@rollup/plugin-sucrase@5.0.2': 450 + resolution: {integrity: sha512-4MhIVH9Dy2Hwose1/x5QMs0XF7yn9jDd/yozHqzdIrMWIolgFpGnrnVhQkqTaK1RALY/fpyrEKmwH/04vr1THA==} 451 + engines: {node: '>=14.0.0'} 452 + peerDependencies: 453 + rollup: ^2.53.1||^3.0.0||^4.0.0 454 + peerDependenciesMeta: 455 + rollup: 456 + optional: true 457 + 458 + '@rollup/plugin-terser@0.1.0': 459 + resolution: {integrity: sha512-N2KK+qUfHX2hBzVzM41UWGLrEmcjVC37spC8R3c9mt3oEDFKh3N2e12/lLp9aVSt86veR0TQiCNQXrm8C6aiUQ==} 460 + engines: {node: '>=14.0.0'} 461 + peerDependencies: 462 + rollup: ^2.x || ^3.x 463 + peerDependenciesMeta: 464 + rollup: 465 + optional: true 466 + 467 + '@rollup/pluginutils@5.1.4': 468 + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} 469 + engines: {node: '>=14.0.0'} 470 + peerDependencies: 471 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 472 + peerDependenciesMeta: 473 + rollup: 474 + optional: true 475 + 476 + '@rollup/rollup-android-arm-eabi@4.34.9': 477 + resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==} 478 + cpu: [arm] 479 + os: [android] 480 + 481 + '@rollup/rollup-android-arm64@4.34.9': 482 + resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==} 483 + cpu: [arm64] 484 + os: [android] 485 + 486 + '@rollup/rollup-darwin-arm64@4.34.9': 487 + resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==} 488 + cpu: [arm64] 489 + os: [darwin] 490 + 491 + '@rollup/rollup-darwin-x64@4.34.9': 492 + resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==} 493 + cpu: [x64] 494 + os: [darwin] 495 + 496 + '@rollup/rollup-freebsd-arm64@4.34.9': 497 + resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==} 498 + cpu: [arm64] 499 + os: [freebsd] 500 + 501 + '@rollup/rollup-freebsd-x64@4.34.9': 502 + resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==} 503 + cpu: [x64] 504 + os: [freebsd] 505 + 506 + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': 507 + resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} 508 + cpu: [arm] 509 + os: [linux] 510 + 511 + '@rollup/rollup-linux-arm-musleabihf@4.34.9': 512 + resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} 513 + cpu: [arm] 514 + os: [linux] 515 + 516 + '@rollup/rollup-linux-arm64-gnu@4.34.9': 517 + resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} 518 + cpu: [arm64] 519 + os: [linux] 520 + 521 + '@rollup/rollup-linux-arm64-musl@4.34.9': 522 + resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} 523 + cpu: [arm64] 524 + os: [linux] 525 + 526 + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': 527 + resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} 528 + cpu: [loong64] 529 + os: [linux] 530 + 531 + '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': 532 + resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} 533 + cpu: [ppc64] 534 + os: [linux] 535 + 536 + '@rollup/rollup-linux-riscv64-gnu@4.34.9': 537 + resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} 538 + cpu: [riscv64] 539 + os: [linux] 540 + 541 + '@rollup/rollup-linux-s390x-gnu@4.34.9': 542 + resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} 543 + cpu: [s390x] 544 + os: [linux] 545 + 546 + '@rollup/rollup-linux-x64-gnu@4.34.9': 547 + resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} 548 + cpu: [x64] 549 + os: [linux] 550 + 551 + '@rollup/rollup-linux-x64-musl@4.34.9': 552 + resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} 553 + cpu: [x64] 554 + os: [linux] 555 + 556 + '@rollup/rollup-win32-arm64-msvc@4.34.9': 557 + resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} 558 + cpu: [arm64] 559 + os: [win32] 560 + 561 + '@rollup/rollup-win32-ia32-msvc@4.34.9': 562 + resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==} 563 + cpu: [ia32] 564 + os: [win32] 565 + 566 + '@rollup/rollup-win32-x64-msvc@4.34.9': 567 + resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==} 568 + cpu: [x64] 569 + os: [win32] 570 + 571 + '@sinclair/typebox@0.27.8': 572 + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 573 + 574 + '@types/buble@0.19.2': 575 + resolution: {integrity: sha512-uUD8zIfXMKThmFkahTXDGI3CthFH1kMg2dOm3KLi4GlC5cbARA64bEcUMbbWdWdE73eoc/iBB9PiTMqH0dNS2Q==} 576 + 577 + '@types/estree@1.0.6': 578 + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 579 + 580 + '@types/json-schema@7.0.15': 581 + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 582 + 583 + '@types/node@12.20.55': 584 + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} 585 + 586 + '@types/node@22.13.9': 587 + resolution: {integrity: sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==} 588 + 589 + '@types/parse-json@4.0.2': 590 + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} 591 + 592 + '@types/resolve@1.20.2': 593 + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 594 + 595 + '@types/semver@7.5.8': 596 + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} 597 + 598 + '@types/zen-observable@0.8.7': 599 + resolution: {integrity: sha512-LKzNTjj+2j09wAo/vvVjzgw5qckJJzhdGgWHW7j69QIGdq/KnZrMAMIHQiWGl3Ccflh5/CudBAntTPYdprPltA==} 600 + 601 + '@typescript-eslint/eslint-plugin@5.62.0': 602 + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} 603 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 604 + peerDependencies: 605 + '@typescript-eslint/parser': ^5.0.0 606 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 607 + typescript: '*' 608 + peerDependenciesMeta: 609 + typescript: 610 + optional: true 611 + 612 + '@typescript-eslint/parser@5.62.0': 613 + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} 614 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 615 + peerDependencies: 616 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 617 + typescript: '*' 618 + peerDependenciesMeta: 619 + typescript: 620 + optional: true 621 + 622 + '@typescript-eslint/scope-manager@5.62.0': 623 + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} 624 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 625 + 626 + '@typescript-eslint/type-utils@5.62.0': 627 + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} 628 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 629 + peerDependencies: 630 + eslint: '*' 631 + typescript: '*' 632 + peerDependenciesMeta: 633 + typescript: 634 + optional: true 635 + 636 + '@typescript-eslint/types@5.62.0': 637 + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} 638 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 639 + 640 + '@typescript-eslint/typescript-estree@5.62.0': 641 + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} 642 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 643 + peerDependencies: 644 + typescript: '*' 645 + peerDependenciesMeta: 646 + typescript: 647 + optional: true 648 + 649 + '@typescript-eslint/utils@5.62.0': 650 + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} 651 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 652 + peerDependencies: 653 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 654 + 655 + '@typescript-eslint/visitor-keys@5.62.0': 656 + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} 657 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 658 + 659 + '@ungap/structured-clone@1.3.0': 660 + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} 661 + 662 + '@vitest/expect@1.6.1': 663 + resolution: {integrity: sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==} 664 + 665 + '@vitest/runner@1.6.1': 666 + resolution: {integrity: sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==} 667 + 668 + '@vitest/snapshot@1.6.1': 669 + resolution: {integrity: sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==} 670 + 671 + '@vitest/spy@1.6.1': 672 + resolution: {integrity: sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==} 673 + 674 + '@vitest/utils@1.6.1': 675 + resolution: {integrity: sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==} 676 + 677 + acorn-dynamic-import@4.0.0: 678 + resolution: {integrity: sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==} 679 + deprecated: This is probably built in to whatever tool you're using. If you still need it... idk 680 + peerDependencies: 681 + acorn: ^6.0.0 682 + 683 + acorn-jsx@5.3.2: 684 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 685 + peerDependencies: 686 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 687 + 688 + acorn-walk@8.3.4: 689 + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} 690 + engines: {node: '>=0.4.0'} 691 + 692 + acorn@6.4.2: 693 + resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==} 694 + engines: {node: '>=0.4.0'} 695 + hasBin: true 696 + 697 + acorn@8.14.0: 698 + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 699 + engines: {node: '>=0.4.0'} 700 + hasBin: true 701 + 702 + ajv@6.12.6: 703 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 704 + 705 + ansi-colors@4.1.3: 706 + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 707 + engines: {node: '>=6'} 708 + 709 + ansi-escapes@5.0.0: 710 + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} 711 + engines: {node: '>=12'} 712 + 713 + ansi-regex@5.0.1: 714 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 715 + engines: {node: '>=8'} 716 + 717 + ansi-regex@6.1.0: 718 + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 719 + engines: {node: '>=12'} 720 + 721 + ansi-styles@3.2.1: 722 + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 723 + engines: {node: '>=4'} 724 + 725 + ansi-styles@4.3.0: 726 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 727 + engines: {node: '>=8'} 728 + 729 + ansi-styles@5.2.0: 730 + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 731 + engines: {node: '>=10'} 732 + 733 + ansi-styles@6.2.1: 734 + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 735 + engines: {node: '>=12'} 736 + 737 + any-promise@1.3.0: 738 + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 739 + 740 + argparse@1.0.10: 741 + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 742 + 743 + argparse@2.0.1: 744 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 745 + 746 + array-buffer-byte-length@1.0.2: 747 + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 748 + engines: {node: '>= 0.4'} 749 + 750 + array-union@2.1.0: 751 + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 752 + engines: {node: '>=8'} 753 + 754 + arraybuffer.prototype.slice@1.0.4: 755 + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} 756 + engines: {node: '>= 0.4'} 757 + 758 + assertion-error@1.1.0: 759 + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 760 + 761 + async-function@1.0.0: 762 + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} 763 + engines: {node: '>= 0.4'} 764 + 765 + available-typed-arrays@1.0.7: 766 + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 767 + engines: {node: '>= 0.4'} 768 + 769 + balanced-match@1.0.2: 770 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 771 + 772 + better-path-resolve@1.0.0: 773 + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} 774 + engines: {node: '>=4'} 775 + 776 + brace-expansion@1.1.11: 777 + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 778 + 779 + brace-expansion@2.0.1: 780 + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 781 + 782 + braces@3.0.3: 783 + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 784 + engines: {node: '>=8'} 785 + 786 + buble@0.20.0: 787 + resolution: {integrity: sha512-/1gnaMQE8xvd5qsNBl+iTuyjJ9XxeaVxAMF86dQ4EyxFJOZtsgOS8Ra+7WHgZTam5IFDtt4BguN0sH0tVTKrOw==} 788 + hasBin: true 789 + 790 + buffer-from@1.1.2: 791 + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 792 + 793 + cac@6.7.14: 794 + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 795 + engines: {node: '>=8'} 796 + 797 + call-bind-apply-helpers@1.0.2: 798 + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 799 + engines: {node: '>= 0.4'} 800 + 801 + call-bind@1.0.8: 802 + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 803 + engines: {node: '>= 0.4'} 804 + 805 + call-bound@1.0.4: 806 + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 807 + engines: {node: '>= 0.4'} 808 + 809 + callbag-from-iter@1.3.0: 810 + resolution: {integrity: sha512-iBc6O6DYDWQBjlOZzdU/SbJofK0pN3TjNWC4fDIQePBk5FWCZKVll/coXiVU6gpwbBaS0Om/d/PVbVK8Ki17Ew==} 811 + 812 + callbag-iterate@1.0.0: 813 + resolution: {integrity: sha512-bynCbDuqGZkj1mXAhGr8jMf8Vhifps+G+pF3xlcz3jcaZLNXHghVjValnJtBTg2N74cyl347UzagJ8niJpyF6Q==} 814 + 815 + callbag-take@1.5.0: 816 + resolution: {integrity: sha512-8aOxp+gzfVQtDe+tk9PhKbC9QR9Vap4KFA0xccUiXFK9VjIS0fSt/Yi454viPpMhJkhRcx1BsjyF34Cj57W89A==} 817 + 818 + callbag@1.5.1: 819 + resolution: {integrity: sha512-FGpkXYZ018Wpeevhsp7R2iABZuDamg54TaObKI48JBNGzMlkb9bRwS54eR0sgFksQpspsCan4iaaVbAbxm9MIg==} 820 + 821 + callsites@3.1.0: 822 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 823 + engines: {node: '>=6'} 824 + 825 + chai@4.5.0: 826 + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} 827 + engines: {node: '>=4'} 828 + 829 + chalk@2.4.2: 830 + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 831 + engines: {node: '>=4'} 832 + 833 + chalk@4.1.2: 834 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 835 + engines: {node: '>=10'} 836 + 837 + chalk@5.3.0: 838 + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 839 + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 840 + 841 + chardet@2.1.0: 842 + resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} 843 + 844 + check-error@1.0.3: 845 + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} 846 + 847 + ci-info@2.0.0: 848 + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} 849 + 850 + ci-info@3.9.0: 851 + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} 852 + engines: {node: '>=8'} 853 + 854 + cjs-module-lexer@1.4.3: 855 + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} 856 + 857 + cli-cursor@4.0.0: 858 + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 859 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 860 + 861 + cli-truncate@3.1.0: 862 + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 863 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 864 + 865 + color-convert@1.9.3: 866 + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 867 + 868 + color-convert@2.0.1: 869 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 870 + engines: {node: '>=7.0.0'} 871 + 872 + color-name@1.1.3: 873 + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 874 + 875 + color-name@1.1.4: 876 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 877 + 878 + colorette@2.0.20: 879 + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 880 + 881 + commander@11.0.0: 882 + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} 883 + engines: {node: '>=16'} 884 + 885 + commander@2.20.3: 886 + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 887 + 888 + commander@4.1.1: 889 + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 890 + engines: {node: '>= 6'} 891 + 892 + commander@6.2.1: 893 + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} 894 + engines: {node: '>= 6'} 895 + 896 + commondir@1.0.1: 897 + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 898 + 899 + compare-versions@3.6.0: 900 + resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} 901 + 902 + concat-map@0.0.1: 903 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 904 + 905 + confbox@0.1.8: 906 + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 907 + 908 + cosmiconfig@7.1.0: 909 + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} 910 + engines: {node: '>=10'} 911 + 912 + cross-spawn@6.0.6: 913 + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} 914 + engines: {node: '>=4.8'} 915 + 916 + cross-spawn@7.0.6: 917 + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 918 + engines: {node: '>= 8'} 919 + 920 + data-view-buffer@1.0.2: 921 + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} 922 + engines: {node: '>= 0.4'} 923 + 924 + data-view-byte-length@1.0.2: 925 + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} 926 + engines: {node: '>= 0.4'} 927 + 928 + data-view-byte-offset@1.0.1: 929 + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} 930 + engines: {node: '>= 0.4'} 931 + 932 + dataloader@1.4.0: 933 + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} 934 + 935 + debug@4.3.4: 936 + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 937 + engines: {node: '>=6.0'} 938 + peerDependencies: 939 + supports-color: '*' 940 + peerDependenciesMeta: 941 + supports-color: 942 + optional: true 943 + 944 + debug@4.4.0: 945 + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 946 + engines: {node: '>=6.0'} 947 + peerDependencies: 948 + supports-color: '*' 949 + peerDependenciesMeta: 950 + supports-color: 951 + optional: true 952 + 953 + deep-eql@4.1.4: 954 + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} 955 + engines: {node: '>=6'} 956 + 957 + deep-is@0.1.4: 958 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 959 + 960 + deepmerge@4.3.1: 961 + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 962 + engines: {node: '>=0.10.0'} 963 + 964 + define-data-property@1.1.4: 965 + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 966 + engines: {node: '>= 0.4'} 967 + 968 + define-properties@1.2.1: 969 + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 970 + engines: {node: '>= 0.4'} 971 + 972 + detect-indent@6.1.0: 973 + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 974 + engines: {node: '>=8'} 975 + 976 + diff-sequences@29.6.3: 977 + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} 978 + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 979 + 980 + dir-glob@3.0.1: 981 + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 982 + engines: {node: '>=8'} 983 + 984 + doctrine@3.0.0: 985 + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 986 + engines: {node: '>=6.0.0'} 987 + 988 + dotenv@16.4.7: 989 + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} 990 + engines: {node: '>=12'} 991 + 992 + dunder-proto@1.0.1: 993 + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 994 + engines: {node: '>= 0.4'} 995 + 996 + eastasianwidth@0.2.0: 997 + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 998 + 999 + emoji-regex@8.0.0: 1000 + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1001 + 1002 + emoji-regex@9.2.2: 1003 + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1004 + 1005 + enquirer@2.4.1: 1006 + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} 1007 + engines: {node: '>=8.6'} 1008 + 1009 + error-ex@1.3.2: 1010 + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1011 + 1012 + es-abstract@1.23.9: 1013 + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} 1014 + engines: {node: '>= 0.4'} 1015 + 1016 + es-define-property@1.0.1: 1017 + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 1018 + engines: {node: '>= 0.4'} 1019 + 1020 + es-errors@1.3.0: 1021 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 1022 + engines: {node: '>= 0.4'} 1023 + 1024 + es-object-atoms@1.1.1: 1025 + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 1026 + engines: {node: '>= 0.4'} 1027 + 1028 + es-set-tostringtag@2.1.0: 1029 + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 1030 + engines: {node: '>= 0.4'} 1031 + 1032 + es-to-primitive@1.3.0: 1033 + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} 1034 + engines: {node: '>= 0.4'} 1035 + 1036 + esbuild@0.21.5: 1037 + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 1038 + engines: {node: '>=12'} 1039 + hasBin: true 1040 + 1041 + escape-string-regexp@1.0.5: 1042 + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1043 + engines: {node: '>=0.8.0'} 1044 + 1045 + escape-string-regexp@4.0.0: 1046 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1047 + engines: {node: '>=10'} 1048 + 1049 + eslint-config-prettier@8.10.0: 1050 + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} 1051 + hasBin: true 1052 + peerDependencies: 1053 + eslint: '>=7.0.0' 1054 + 1055 + eslint-plugin-prettier@4.2.1: 1056 + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} 1057 + engines: {node: '>=12.0.0'} 1058 + peerDependencies: 1059 + eslint: '>=7.28.0' 1060 + eslint-config-prettier: '*' 1061 + prettier: '>=2.0.0' 1062 + peerDependenciesMeta: 1063 + eslint-config-prettier: 1064 + optional: true 1065 + 1066 + eslint-plugin-tsdoc@0.2.17: 1067 + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} 1068 + 1069 + eslint-scope@5.1.1: 1070 + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1071 + engines: {node: '>=8.0.0'} 1072 + 1073 + eslint-scope@7.2.2: 1074 + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1075 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1076 + 1077 + eslint-visitor-keys@3.4.3: 1078 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1079 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1080 + 1081 + eslint@8.57.1: 1082 + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} 1083 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1084 + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. 1085 + hasBin: true 1086 + 1087 + espree@9.6.1: 1088 + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1089 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1090 + 1091 + esprima@4.0.1: 1092 + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1093 + engines: {node: '>=4'} 1094 + hasBin: true 1095 + 1096 + esquery@1.6.0: 1097 + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1098 + engines: {node: '>=0.10'} 1099 + 1100 + esrecurse@4.3.0: 1101 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1102 + engines: {node: '>=4.0'} 1103 + 1104 + estraverse@4.3.0: 1105 + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1106 + engines: {node: '>=4.0'} 1107 + 1108 + estraverse@5.3.0: 1109 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1110 + engines: {node: '>=4.0'} 1111 + 1112 + estree-walker@2.0.2: 1113 + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1114 + 1115 + estree-walker@3.0.3: 1116 + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1117 + 1118 + esutils@2.0.3: 1119 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1120 + engines: {node: '>=0.10.0'} 1121 + 1122 + eventemitter3@5.0.1: 1123 + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} 1124 + 1125 + execa@7.2.0: 1126 + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} 1127 + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} 1128 + 1129 + execa@8.0.1: 1130 + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1131 + engines: {node: '>=16.17'} 1132 + 1133 + extendable-error@0.1.7: 1134 + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} 1135 + 1136 + fast-deep-equal@3.1.3: 1137 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1138 + 1139 + fast-diff@1.3.0: 1140 + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} 1141 + 1142 + fast-glob@3.3.3: 1143 + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1144 + engines: {node: '>=8.6.0'} 1145 + 1146 + fast-json-stable-stringify@2.1.0: 1147 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1148 + 1149 + fast-levenshtein@2.0.6: 1150 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1151 + 1152 + fastq@1.19.1: 1153 + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1154 + 1155 + file-entry-cache@6.0.1: 1156 + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1157 + engines: {node: ^10.12.0 || >=12.0.0} 1158 + 1159 + fill-range@7.1.1: 1160 + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1161 + engines: {node: '>=8'} 1162 + 1163 + find-up@4.1.0: 1164 + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1165 + engines: {node: '>=8'} 1166 + 1167 + find-up@5.0.0: 1168 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1169 + engines: {node: '>=10'} 1170 + 1171 + find-versions@4.0.0: 1172 + resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} 1173 + engines: {node: '>=10'} 1174 + 1175 + flat-cache@3.2.0: 1176 + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1177 + engines: {node: ^10.12.0 || >=12.0.0} 1178 + 1179 + flatted@3.3.3: 1180 + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1181 + 1182 + flowgen@1.21.0: 1183 + resolution: {integrity: sha512-pFNFFyMLRmW6njhOIm5TrbGUDTv64aujmys2KrkRE2NYD8sXwJUyicQRwU5SPRBRJnFSD/FNlnHo2NnHI5eJSw==} 1184 + hasBin: true 1185 + 1186 + for-each@0.3.5: 1187 + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 1188 + engines: {node: '>= 0.4'} 1189 + 1190 + foreground-child@3.3.1: 1191 + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 1192 + engines: {node: '>=14'} 1193 + 1194 + fs-extra@7.0.1: 1195 + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 1196 + engines: {node: '>=6 <7 || >=8'} 1197 + 1198 + fs-extra@8.1.0: 1199 + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 1200 + engines: {node: '>=6 <7 || >=8'} 1201 + 1202 + fs.realpath@1.0.0: 1203 + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1204 + 1205 + fsevents@2.3.3: 1206 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1207 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1208 + os: [darwin] 1209 + 1210 + function-bind@1.1.2: 1211 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1212 + 1213 + function.prototype.name@1.1.8: 1214 + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} 1215 + engines: {node: '>= 0.4'} 1216 + 1217 + functions-have-names@1.2.3: 1218 + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1219 + 1220 + get-func-name@2.0.2: 1221 + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 1222 + 1223 + get-intrinsic@1.3.0: 1224 + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1225 + engines: {node: '>= 0.4'} 1226 + 1227 + get-proto@1.0.1: 1228 + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1229 + engines: {node: '>= 0.4'} 1230 + 1231 + get-stream@6.0.1: 1232 + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1233 + engines: {node: '>=10'} 1234 + 1235 + get-stream@8.0.1: 1236 + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1237 + engines: {node: '>=16'} 1238 + 1239 + get-symbol-description@1.1.0: 1240 + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} 1241 + engines: {node: '>= 0.4'} 1242 + 1243 + glob-parent@5.1.2: 1244 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1245 + engines: {node: '>= 6'} 1246 + 1247 + glob-parent@6.0.2: 1248 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1249 + engines: {node: '>=10.13.0'} 1250 + 1251 + glob@10.4.5: 1252 + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1253 + hasBin: true 1254 + 1255 + glob@7.2.3: 1256 + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1257 + deprecated: Glob versions prior to v9 are no longer supported 1258 + 1259 + glob@8.1.0: 1260 + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} 1261 + engines: {node: '>=12'} 1262 + deprecated: Glob versions prior to v9 are no longer supported 1263 + 1264 + globals@13.24.0: 1265 + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1266 + engines: {node: '>=8'} 1267 + 1268 + globalthis@1.0.4: 1269 + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 1270 + engines: {node: '>= 0.4'} 1271 + 1272 + globby@11.1.0: 1273 + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1274 + engines: {node: '>=10'} 1275 + 1276 + gopd@1.2.0: 1277 + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1278 + engines: {node: '>= 0.4'} 1279 + 1280 + graceful-fs@4.2.11: 1281 + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1282 + 1283 + graphemer@1.4.0: 1284 + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1285 + 1286 + has-bigints@1.1.0: 1287 + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 1288 + engines: {node: '>= 0.4'} 1289 + 1290 + has-flag@3.0.0: 1291 + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1292 + engines: {node: '>=4'} 1293 + 1294 + has-flag@4.0.0: 1295 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1296 + engines: {node: '>=8'} 1297 + 1298 + has-property-descriptors@1.0.2: 1299 + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1300 + 1301 + has-proto@1.2.0: 1302 + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} 1303 + engines: {node: '>= 0.4'} 1304 + 1305 + has-symbols@1.1.0: 1306 + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1307 + engines: {node: '>= 0.4'} 1308 + 1309 + has-tostringtag@1.0.2: 1310 + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1311 + engines: {node: '>= 0.4'} 1312 + 1313 + hasown@2.0.2: 1314 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1315 + engines: {node: '>= 0.4'} 1316 + 1317 + hosted-git-info@2.8.9: 1318 + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1319 + 1320 + human-id@4.1.1: 1321 + resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} 1322 + hasBin: true 1323 + 1324 + human-signals@4.3.1: 1325 + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} 1326 + engines: {node: '>=14.18.0'} 1327 + 1328 + human-signals@5.0.0: 1329 + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1330 + engines: {node: '>=16.17.0'} 1331 + 1332 + husky-v4@4.3.8: 1333 + resolution: {integrity: sha512-M7A9u/t6BnT/qbDzKb7SdXhr8qLTGTkqZL6YLDDM20jfCdmpIMEuO384LvYXSBcgv50oIgNWI/IaO3g4A4ShjA==} 1334 + engines: {node: '>=10'} 1335 + hasBin: true 1336 + 1337 + iconv-lite@0.6.3: 1338 + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1339 + engines: {node: '>=0.10.0'} 1340 + 1341 + ignore@5.3.2: 1342 + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1343 + engines: {node: '>= 4'} 1344 + 1345 + import-fresh@3.3.1: 1346 + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1347 + engines: {node: '>=6'} 1348 + 1349 + imurmurhash@0.1.4: 1350 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1351 + engines: {node: '>=0.8.19'} 1352 + 1353 + inflight@1.0.6: 1354 + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1355 + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1356 + 1357 + inherits@2.0.4: 1358 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1359 + 1360 + internal-slot@1.1.0: 1361 + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 1362 + engines: {node: '>= 0.4'} 1363 + 1364 + interpret@1.4.0: 1365 + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} 1366 + engines: {node: '>= 0.10'} 1367 + 1368 + is-array-buffer@3.0.5: 1369 + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 1370 + engines: {node: '>= 0.4'} 1371 + 1372 + is-arrayish@0.2.1: 1373 + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1374 + 1375 + is-async-function@2.1.1: 1376 + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} 1377 + engines: {node: '>= 0.4'} 1378 + 1379 + is-bigint@1.1.0: 1380 + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} 1381 + engines: {node: '>= 0.4'} 1382 + 1383 + is-boolean-object@1.2.2: 1384 + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} 1385 + engines: {node: '>= 0.4'} 1386 + 1387 + is-callable@1.2.7: 1388 + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1389 + engines: {node: '>= 0.4'} 1390 + 1391 + is-core-module@2.16.1: 1392 + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1393 + engines: {node: '>= 0.4'} 1394 + 1395 + is-data-view@1.0.2: 1396 + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} 1397 + engines: {node: '>= 0.4'} 1398 + 1399 + is-date-object@1.1.0: 1400 + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} 1401 + engines: {node: '>= 0.4'} 1402 + 1403 + is-extglob@2.1.1: 1404 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1405 + engines: {node: '>=0.10.0'} 1406 + 1407 + is-finalizationregistry@1.1.1: 1408 + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} 1409 + engines: {node: '>= 0.4'} 1410 + 1411 + is-fullwidth-code-point@3.0.0: 1412 + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1413 + engines: {node: '>=8'} 1414 + 1415 + is-fullwidth-code-point@4.0.0: 1416 + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 1417 + engines: {node: '>=12'} 1418 + 1419 + is-generator-function@1.1.0: 1420 + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} 1421 + engines: {node: '>= 0.4'} 1422 + 1423 + is-glob@4.0.3: 1424 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1425 + engines: {node: '>=0.10.0'} 1426 + 1427 + is-map@2.0.3: 1428 + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1429 + engines: {node: '>= 0.4'} 1430 + 1431 + is-module@1.0.0: 1432 + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1433 + 1434 + is-number-object@1.1.1: 1435 + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 1436 + engines: {node: '>= 0.4'} 1437 + 1438 + is-number@7.0.0: 1439 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1440 + engines: {node: '>=0.12.0'} 1441 + 1442 + is-path-inside@3.0.3: 1443 + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1444 + engines: {node: '>=8'} 1445 + 1446 + is-reference@1.2.1: 1447 + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 1448 + 1449 + is-regex@1.2.1: 1450 + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1451 + engines: {node: '>= 0.4'} 1452 + 1453 + is-set@2.0.3: 1454 + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1455 + engines: {node: '>= 0.4'} 1456 + 1457 + is-shared-array-buffer@1.0.4: 1458 + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 1459 + engines: {node: '>= 0.4'} 1460 + 1461 + is-stream@3.0.0: 1462 + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1463 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1464 + 1465 + is-string@1.1.1: 1466 + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} 1467 + engines: {node: '>= 0.4'} 1468 + 1469 + is-subdir@1.2.0: 1470 + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} 1471 + engines: {node: '>=4'} 1472 + 1473 + is-symbol@1.1.1: 1474 + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 1475 + engines: {node: '>= 0.4'} 1476 + 1477 + is-typed-array@1.1.15: 1478 + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 1479 + engines: {node: '>= 0.4'} 1480 + 1481 + is-weakmap@2.0.2: 1482 + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1483 + engines: {node: '>= 0.4'} 1484 + 1485 + is-weakref@1.1.1: 1486 + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} 1487 + engines: {node: '>= 0.4'} 1488 + 1489 + is-weakset@2.0.4: 1490 + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 1491 + engines: {node: '>= 0.4'} 1492 + 1493 + is-windows@1.0.2: 1494 + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 1495 + engines: {node: '>=0.10.0'} 1496 + 1497 + isarray@2.0.5: 1498 + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1499 + 1500 + isexe@2.0.0: 1501 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1502 + 1503 + jackspeak@3.4.3: 1504 + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1505 + 1506 + jju@1.4.0: 1507 + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} 1508 + 1509 + js-tokens@4.0.0: 1510 + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1511 + 1512 + js-tokens@9.0.1: 1513 + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} 1514 + 1515 + js-yaml@3.14.1: 1516 + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1517 + hasBin: true 1518 + 1519 + js-yaml@4.1.0: 1520 + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1521 + hasBin: true 1522 + 1523 + jsesc@0.5.0: 1524 + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} 1525 + hasBin: true 1526 + 1527 + json-buffer@3.0.1: 1528 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1529 + 1530 + json-parse-better-errors@1.0.2: 1531 + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1532 + 1533 + json-parse-even-better-errors@2.3.1: 1534 + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1535 + 1536 + json-schema-traverse@0.4.1: 1537 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1538 + 1539 + json-stable-stringify-without-jsonify@1.0.1: 1540 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1541 + 1542 + jsonfile@4.0.0: 1543 + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1544 + 1545 + keyv@4.5.4: 1546 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1547 + 1548 + levn@0.4.1: 1549 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1550 + engines: {node: '>= 0.8.0'} 1551 + 1552 + lilconfig@2.1.0: 1553 + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1554 + engines: {node: '>=10'} 1555 + 1556 + lines-and-columns@1.2.4: 1557 + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1558 + 1559 + lint-staged@13.3.0: 1560 + resolution: {integrity: sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==} 1561 + engines: {node: ^16.14.0 || >=18.0.0} 1562 + hasBin: true 1563 + 1564 + listr2@6.6.1: 1565 + resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} 1566 + engines: {node: '>=16.0.0'} 1567 + peerDependencies: 1568 + enquirer: '>= 2.3.0 < 3' 1569 + peerDependenciesMeta: 1570 + enquirer: 1571 + optional: true 1572 + 1573 + load-json-file@4.0.0: 1574 + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 1575 + engines: {node: '>=4'} 1576 + 1577 + local-pkg@0.5.1: 1578 + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} 1579 + engines: {node: '>=14'} 1580 + 1581 + locate-path@5.0.0: 1582 + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1583 + engines: {node: '>=8'} 1584 + 1585 + locate-path@6.0.0: 1586 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1587 + engines: {node: '>=10'} 1588 + 1589 + lodash.merge@4.6.2: 1590 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1591 + 1592 + lodash.startcase@4.4.0: 1593 + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} 1594 + 1595 + lodash@4.17.21: 1596 + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1597 + 1598 + log-update@5.0.1: 1599 + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} 1600 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1601 + 1602 + loupe@2.3.7: 1603 + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} 1604 + 1605 + lru-cache@10.4.3: 1606 + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1607 + 1608 + magic-string@0.25.9: 1609 + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1610 + 1611 + magic-string@0.27.0: 1612 + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} 1613 + engines: {node: '>=12'} 1614 + 1615 + magic-string@0.30.17: 1616 + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1617 + 1618 + math-intrinsics@1.1.0: 1619 + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1620 + engines: {node: '>= 0.4'} 1621 + 1622 + memorystream@0.3.1: 1623 + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} 1624 + engines: {node: '>= 0.10.0'} 1625 + 1626 + merge-stream@2.0.0: 1627 + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1628 + 1629 + merge2@1.4.1: 1630 + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1631 + engines: {node: '>= 8'} 1632 + 1633 + micromatch@4.0.5: 1634 + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1635 + engines: {node: '>=8.6'} 1636 + 1637 + micromatch@4.0.8: 1638 + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1639 + engines: {node: '>=8.6'} 1640 + 1641 + mimic-fn@2.1.0: 1642 + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1643 + engines: {node: '>=6'} 1644 + 1645 + mimic-fn@4.0.0: 1646 + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1647 + engines: {node: '>=12'} 1648 + 1649 + minimatch@3.1.2: 1650 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1651 + 1652 + minimatch@5.1.6: 1653 + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1654 + engines: {node: '>=10'} 1655 + 1656 + minimatch@9.0.5: 1657 + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1658 + engines: {node: '>=16 || 14 >=14.17'} 1659 + 1660 + minimist@1.2.8: 1661 + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1662 + 1663 + minipass@7.1.2: 1664 + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1665 + engines: {node: '>=16 || 14 >=14.17'} 1666 + 1667 + mlly@1.7.4: 1668 + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} 1669 + 1670 + mri@1.2.0: 1671 + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1672 + engines: {node: '>=4'} 1673 + 1674 + ms@2.1.2: 1675 + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1676 + 1677 + ms@2.1.3: 1678 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1679 + 1680 + mz@2.7.0: 1681 + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1682 + 1683 + nanoid@3.3.8: 1684 + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 1685 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1686 + hasBin: true 1687 + 1688 + natural-compare-lite@1.4.0: 1689 + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 1690 + 1691 + natural-compare@1.4.0: 1692 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1693 + 1694 + nice-try@1.0.5: 1695 + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1696 + 1697 + node-fetch@2.7.0: 1698 + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 1699 + engines: {node: 4.x || >=6.0.0} 1700 + peerDependencies: 1701 + encoding: ^0.1.0 1702 + peerDependenciesMeta: 1703 + encoding: 1704 + optional: true 1705 + 1706 + normalize-package-data@2.5.0: 1707 + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1708 + 1709 + npm-run-all@4.1.5: 1710 + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} 1711 + engines: {node: '>= 4'} 1712 + hasBin: true 1713 + 1714 + npm-run-path@5.3.0: 1715 + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 1716 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1717 + 1718 + object-assign@4.1.1: 1719 + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1720 + engines: {node: '>=0.10.0'} 1721 + 1722 + object-inspect@1.13.4: 1723 + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1724 + engines: {node: '>= 0.4'} 1725 + 1726 + object-keys@1.1.1: 1727 + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1728 + engines: {node: '>= 0.4'} 1729 + 1730 + object.assign@4.1.7: 1731 + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 1732 + engines: {node: '>= 0.4'} 1733 + 1734 + once@1.4.0: 1735 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1736 + 1737 + onetime@5.1.2: 1738 + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1739 + engines: {node: '>=6'} 1740 + 1741 + onetime@6.0.0: 1742 + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1743 + engines: {node: '>=12'} 1744 + 1745 + opencollective-postinstall@2.0.3: 1746 + resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} 1747 + hasBin: true 1748 + 1749 + optionator@0.9.4: 1750 + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1751 + engines: {node: '>= 0.8.0'} 1752 + 1753 + outdent@0.5.0: 1754 + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} 1755 + 1756 + own-keys@1.0.1: 1757 + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} 1758 + engines: {node: '>= 0.4'} 1759 + 1760 + p-filter@2.1.0: 1761 + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} 1762 + engines: {node: '>=8'} 1763 + 1764 + p-limit@2.3.0: 1765 + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1766 + engines: {node: '>=6'} 1767 + 1768 + p-limit@3.1.0: 1769 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1770 + engines: {node: '>=10'} 1771 + 1772 + p-limit@5.0.0: 1773 + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} 1774 + engines: {node: '>=18'} 1775 + 1776 + p-locate@4.1.0: 1777 + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1778 + engines: {node: '>=8'} 1779 + 1780 + p-locate@5.0.0: 1781 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1782 + engines: {node: '>=10'} 1783 + 1784 + p-map@2.1.0: 1785 + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} 1786 + engines: {node: '>=6'} 1787 + 1788 + p-try@2.2.0: 1789 + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1790 + engines: {node: '>=6'} 1791 + 1792 + package-json-from-dist@1.0.1: 1793 + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1794 + 1795 + package-manager-detector@0.2.11: 1796 + resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} 1797 + 1798 + parent-module@1.0.1: 1799 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1800 + engines: {node: '>=6'} 1801 + 1802 + parse-json@4.0.0: 1803 + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 1804 + engines: {node: '>=4'} 1805 + 1806 + parse-json@5.2.0: 1807 + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1808 + engines: {node: '>=8'} 1809 + 1810 + path-exists@4.0.0: 1811 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1812 + engines: {node: '>=8'} 1813 + 1814 + path-is-absolute@1.0.1: 1815 + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1816 + engines: {node: '>=0.10.0'} 1817 + 1818 + path-key@2.0.1: 1819 + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 1820 + engines: {node: '>=4'} 1821 + 1822 + path-key@3.1.1: 1823 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1824 + engines: {node: '>=8'} 1825 + 1826 + path-key@4.0.0: 1827 + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1828 + engines: {node: '>=12'} 1829 + 1830 + path-parse@1.0.7: 1831 + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1832 + 1833 + path-scurry@1.11.1: 1834 + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1835 + engines: {node: '>=16 || 14 >=14.18'} 1836 + 1837 + path-type@3.0.0: 1838 + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} 1839 + engines: {node: '>=4'} 1840 + 1841 + path-type@4.0.0: 1842 + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1843 + engines: {node: '>=8'} 1844 + 1845 + pathe@1.1.2: 1846 + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1847 + 1848 + pathe@2.0.3: 1849 + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1850 + 1851 + pathval@1.1.1: 1852 + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 1853 + 1854 + picocolors@1.1.1: 1855 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1856 + 1857 + picomatch@2.3.1: 1858 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1859 + engines: {node: '>=8.6'} 1860 + 1861 + picomatch@4.0.2: 1862 + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1863 + engines: {node: '>=12'} 1864 + 1865 + pidtree@0.3.1: 1866 + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} 1867 + engines: {node: '>=0.10'} 1868 + hasBin: true 1869 + 1870 + pidtree@0.6.0: 1871 + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 1872 + engines: {node: '>=0.10'} 1873 + hasBin: true 1874 + 1875 + pify@3.0.0: 1876 + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1877 + engines: {node: '>=4'} 1878 + 1879 + pify@4.0.1: 1880 + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 1881 + engines: {node: '>=6'} 1882 + 1883 + pirates@4.0.6: 1884 + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1885 + engines: {node: '>= 6'} 1886 + 1887 + pkg-dir@5.0.0: 1888 + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} 1889 + engines: {node: '>=10'} 1890 + 1891 + pkg-types@1.3.1: 1892 + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 1893 + 1894 + please-upgrade-node@3.2.0: 1895 + resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} 1896 + 1897 + possible-typed-array-names@1.1.0: 1898 + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 1899 + engines: {node: '>= 0.4'} 1900 + 1901 + postcss@8.5.3: 1902 + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1903 + engines: {node: ^10 || ^12 || >=14} 1904 + 1905 + prelude-ls@1.2.1: 1906 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1907 + engines: {node: '>= 0.8.0'} 1908 + 1909 + prettier-linter-helpers@1.0.0: 1910 + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 1911 + engines: {node: '>=6.0.0'} 1912 + 1913 + prettier@2.8.8: 1914 + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} 1915 + engines: {node: '>=10.13.0'} 1916 + hasBin: true 1917 + 1918 + pretty-format@29.7.0: 1919 + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 1920 + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1921 + 1922 + punycode@2.3.1: 1923 + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1924 + engines: {node: '>=6'} 1925 + 1926 + quansync@0.2.8: 1927 + resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==} 1928 + 1929 + queue-microtask@1.2.3: 1930 + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1931 + 1932 + react-is@18.3.1: 1933 + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} 1934 + 1935 + read-pkg@3.0.0: 1936 + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} 1937 + engines: {node: '>=4'} 1938 + 1939 + read-yaml-file@1.1.0: 1940 + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} 1941 + engines: {node: '>=6'} 1942 + 1943 + rechoir@0.6.2: 1944 + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} 1945 + engines: {node: '>= 0.10'} 1946 + 1947 + reflect.getprototypeof@1.0.10: 1948 + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} 1949 + engines: {node: '>= 0.4'} 1950 + 1951 + regenerate-unicode-properties@8.2.0: 1952 + resolution: {integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==} 1953 + engines: {node: '>=4'} 1954 + 1955 + regenerate@1.4.2: 1956 + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} 1957 + 1958 + regenerator-runtime@0.14.1: 1959 + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 1960 + 1961 + regexp.prototype.flags@1.5.4: 1962 + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} 1963 + engines: {node: '>= 0.4'} 1964 + 1965 + regexpu-core@4.5.4: 1966 + resolution: {integrity: sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==} 1967 + engines: {node: '>=4'} 1968 + 1969 + regjsgen@0.5.2: 1970 + resolution: {integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==} 1971 + 1972 + regjsparser@0.6.9: 1973 + resolution: {integrity: sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==} 1974 + hasBin: true 1975 + 1976 + resolve-from@4.0.0: 1977 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1978 + engines: {node: '>=4'} 1979 + 1980 + resolve-from@5.0.0: 1981 + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1982 + engines: {node: '>=8'} 1983 + 1984 + resolve@1.19.0: 1985 + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} 1986 + 1987 + resolve@1.22.10: 1988 + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1989 + engines: {node: '>= 0.4'} 1990 + hasBin: true 1991 + 1992 + restore-cursor@4.0.0: 1993 + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 1994 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1995 + 1996 + reusify@1.1.0: 1997 + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1998 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1999 + 2000 + rfdc@1.4.1: 2001 + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} 2002 + 2003 + rimraf@3.0.2: 2004 + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2005 + deprecated: Rimraf versions prior to v4 are no longer supported 2006 + hasBin: true 2007 + 2008 + rollup-plugin-cjs-check@1.0.3: 2009 + resolution: {integrity: sha512-l8Gn8fm0YsAUuCVPmJ9CjwX5D98xyjc7iBlKfik5RGgXrV35nBwKCb+xbsK2oMrWMIRdLWsfyVUBM153e2zvYg==} 2010 + engines: {node: '>=14.0.0'} 2011 + peerDependencies: 2012 + rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 2013 + 2014 + rollup-plugin-dts@5.3.1: 2015 + resolution: {integrity: sha512-gusMi+Z4gY/JaEQeXnB0RUdU82h1kF0WYzCWgVmV4p3hWXqelaKuCvcJawfeg+EKn2T1Ie+YWF2OiN1/L8bTVg==} 2016 + engines: {node: '>=v14.21.3'} 2017 + peerDependencies: 2018 + rollup: ^3.0 2019 + typescript: ^4.1 || ^5.0 2020 + 2021 + rollup@3.29.5: 2022 + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} 2023 + engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2024 + hasBin: true 2025 + 2026 + rollup@4.34.9: 2027 + resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==} 2028 + engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2029 + hasBin: true 2030 + 2031 + run-parallel@1.2.0: 2032 + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2033 + 2034 + safe-array-concat@1.1.3: 2035 + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} 2036 + engines: {node: '>=0.4'} 2037 + 2038 + safe-push-apply@1.0.0: 2039 + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} 2040 + engines: {node: '>= 0.4'} 2041 + 2042 + safe-regex-test@1.1.0: 2043 + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 2044 + engines: {node: '>= 0.4'} 2045 + 2046 + safer-buffer@2.1.2: 2047 + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2048 + 2049 + semver-compare@1.0.0: 2050 + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} 2051 + 2052 + semver-regex@3.1.4: 2053 + resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} 2054 + engines: {node: '>=8'} 2055 + 2056 + semver@5.7.2: 2057 + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 2058 + hasBin: true 2059 + 2060 + semver@7.7.1: 2061 + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 2062 + engines: {node: '>=10'} 2063 + hasBin: true 2064 + 2065 + set-function-length@1.2.2: 2066 + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 2067 + engines: {node: '>= 0.4'} 2068 + 2069 + set-function-name@2.0.2: 2070 + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 2071 + engines: {node: '>= 0.4'} 2072 + 2073 + set-proto@1.0.0: 2074 + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} 2075 + engines: {node: '>= 0.4'} 2076 + 2077 + shebang-command@1.2.0: 2078 + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 2079 + engines: {node: '>=0.10.0'} 2080 + 2081 + shebang-command@2.0.0: 2082 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2083 + engines: {node: '>=8'} 2084 + 2085 + shebang-regex@1.0.0: 2086 + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 2087 + engines: {node: '>=0.10.0'} 2088 + 2089 + shebang-regex@3.0.0: 2090 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2091 + engines: {node: '>=8'} 2092 + 2093 + shell-quote@1.8.2: 2094 + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} 2095 + engines: {node: '>= 0.4'} 2096 + 2097 + shelljs@0.8.5: 2098 + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} 2099 + engines: {node: '>=4'} 2100 + hasBin: true 2101 + 2102 + side-channel-list@1.0.0: 2103 + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 2104 + engines: {node: '>= 0.4'} 2105 + 2106 + side-channel-map@1.0.1: 2107 + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 2108 + engines: {node: '>= 0.4'} 2109 + 2110 + side-channel-weakmap@1.0.2: 2111 + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 2112 + engines: {node: '>= 0.4'} 2113 + 2114 + side-channel@1.1.0: 2115 + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 2116 + engines: {node: '>= 0.4'} 2117 + 2118 + siginfo@2.0.0: 2119 + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 2120 + 2121 + signal-exit@3.0.7: 2122 + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2123 + 2124 + signal-exit@4.1.0: 2125 + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 2126 + engines: {node: '>=14'} 2127 + 2128 + slash@3.0.0: 2129 + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2130 + engines: {node: '>=8'} 2131 + 2132 + slice-ansi@5.0.0: 2133 + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 2134 + engines: {node: '>=12'} 2135 + 2136 + source-map-js@1.2.1: 2137 + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 2138 + engines: {node: '>=0.10.0'} 2139 + 2140 + source-map-support@0.5.21: 2141 + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 2142 + 2143 + source-map@0.6.1: 2144 + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2145 + engines: {node: '>=0.10.0'} 2146 + 2147 + sourcemap-codec@1.4.8: 2148 + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2149 + deprecated: Please use @jridgewell/sourcemap-codec instead 2150 + 2151 + spawndamnit@3.0.1: 2152 + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} 2153 + 2154 + spdx-correct@3.2.0: 2155 + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 2156 + 2157 + spdx-exceptions@2.5.0: 2158 + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 2159 + 2160 + spdx-expression-parse@3.0.1: 2161 + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2162 + 2163 + spdx-license-ids@3.0.21: 2164 + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} 2165 + 2166 + sprintf-js@1.0.3: 2167 + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 2168 + 2169 + stackback@0.0.2: 2170 + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 2171 + 2172 + std-env@3.8.1: 2173 + resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} 2174 + 2175 + string-argv@0.3.2: 2176 + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 2177 + engines: {node: '>=0.6.19'} 2178 + 2179 + string-width@4.2.3: 2180 + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2181 + engines: {node: '>=8'} 2182 + 2183 + string-width@5.1.2: 2184 + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2185 + engines: {node: '>=12'} 2186 + 2187 + string.prototype.padend@3.1.6: 2188 + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} 2189 + engines: {node: '>= 0.4'} 2190 + 2191 + string.prototype.trim@1.2.10: 2192 + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} 2193 + engines: {node: '>= 0.4'} 2194 + 2195 + string.prototype.trimend@1.0.9: 2196 + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} 2197 + engines: {node: '>= 0.4'} 2198 + 2199 + string.prototype.trimstart@1.0.8: 2200 + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 2201 + engines: {node: '>= 0.4'} 2202 + 2203 + strip-ansi@6.0.1: 2204 + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2205 + engines: {node: '>=8'} 2206 + 2207 + strip-ansi@7.1.0: 2208 + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 2209 + engines: {node: '>=12'} 2210 + 2211 + strip-bom@3.0.0: 2212 + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2213 + engines: {node: '>=4'} 2214 + 2215 + strip-final-newline@3.0.0: 2216 + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 2217 + engines: {node: '>=12'} 2218 + 2219 + strip-json-comments@3.1.1: 2220 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2221 + engines: {node: '>=8'} 2222 + 2223 + strip-literal@2.1.1: 2224 + resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} 2225 + 2226 + sucrase@3.35.0: 2227 + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 2228 + engines: {node: '>=16 || 14 >=14.17'} 2229 + hasBin: true 2230 + 2231 + supports-color@5.5.0: 2232 + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2233 + engines: {node: '>=4'} 2234 + 2235 + supports-color@7.2.0: 2236 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2237 + engines: {node: '>=8'} 2238 + 2239 + supports-preserve-symlinks-flag@1.0.0: 2240 + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2241 + engines: {node: '>= 0.4'} 2242 + 2243 + term-size@2.2.1: 2244 + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} 2245 + engines: {node: '>=8'} 2246 + 2247 + terser@5.39.0: 2248 + resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} 2249 + engines: {node: '>=10'} 2250 + hasBin: true 2251 + 2252 + text-table@0.2.0: 2253 + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2254 + 2255 + thenify-all@1.6.0: 2256 + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2257 + engines: {node: '>=0.8'} 2258 + 2259 + thenify@3.3.1: 2260 + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2261 + 2262 + tinybench@2.9.0: 2263 + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 2264 + 2265 + tinypool@0.8.4: 2266 + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} 2267 + engines: {node: '>=14.0.0'} 2268 + 2269 + tinyspy@2.2.1: 2270 + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} 2271 + engines: {node: '>=14.0.0'} 2272 + 2273 + to-regex-range@5.0.1: 2274 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2275 + engines: {node: '>=8.0'} 2276 + 2277 + tr46@0.0.3: 2278 + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2279 + 2280 + ts-interface-checker@0.1.13: 2281 + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2282 + 2283 + tslib@1.14.1: 2284 + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2285 + 2286 + tslib@2.8.1: 2287 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 2288 + 2289 + tsutils@3.21.0: 2290 + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2291 + engines: {node: '>= 6'} 2292 + peerDependencies: 2293 + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2294 + 2295 + type-check@0.4.0: 2296 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2297 + engines: {node: '>= 0.8.0'} 2298 + 2299 + type-detect@4.1.0: 2300 + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} 2301 + engines: {node: '>=4'} 2302 + 2303 + type-fest@0.20.2: 2304 + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2305 + engines: {node: '>=10'} 2306 + 2307 + type-fest@1.4.0: 2308 + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} 2309 + engines: {node: '>=10'} 2310 + 2311 + typed-array-buffer@1.0.3: 2312 + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 2313 + engines: {node: '>= 0.4'} 2314 + 2315 + typed-array-byte-length@1.0.3: 2316 + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} 2317 + engines: {node: '>= 0.4'} 2318 + 2319 + typed-array-byte-offset@1.0.4: 2320 + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} 2321 + engines: {node: '>= 0.4'} 2322 + 2323 + typed-array-length@1.0.7: 2324 + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} 2325 + engines: {node: '>= 0.4'} 2326 + 2327 + typescript-compiler@1.4.1-2: 2328 + resolution: {integrity: sha512-EMopKmoAEJqA4XXRFGOb7eSBhmQMbBahW6P1Koayeatp0b4AW2q/bBqYWkpG7QVQc9HGQUiS4trx2ZHcnAaZUg==} 2329 + 2330 + typescript@4.4.4: 2331 + resolution: {integrity: sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==} 2332 + engines: {node: '>=4.2.0'} 2333 + hasBin: true 2334 + 2335 + typescript@4.9.5: 2336 + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 2337 + engines: {node: '>=4.2.0'} 2338 + hasBin: true 2339 + 2340 + ufo@1.5.4: 2341 + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} 2342 + 2343 + unbox-primitive@1.1.0: 2344 + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} 2345 + engines: {node: '>= 0.4'} 2346 + 2347 + undici-types@6.20.0: 2348 + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 2349 + 2350 + unicode-canonical-property-names-ecmascript@1.0.4: 2351 + resolution: {integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==} 2352 + engines: {node: '>=4'} 2353 + 2354 + unicode-match-property-ecmascript@1.0.4: 2355 + resolution: {integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==} 2356 + engines: {node: '>=4'} 2357 + 2358 + unicode-match-property-value-ecmascript@1.2.0: 2359 + resolution: {integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==} 2360 + engines: {node: '>=4'} 2361 + 2362 + unicode-property-aliases-ecmascript@1.1.0: 2363 + resolution: {integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==} 2364 + engines: {node: '>=4'} 2365 + 2366 + universalify@0.1.2: 2367 + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 2368 + engines: {node: '>= 4.0.0'} 2369 + 2370 + uri-js@4.4.1: 2371 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2372 + 2373 + validate-npm-package-license@3.0.4: 2374 + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2375 + 2376 + vite-node@1.6.1: 2377 + resolution: {integrity: sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==} 2378 + engines: {node: ^18.0.0 || >=20.0.0} 2379 + hasBin: true 2380 + 2381 + vite@5.4.14: 2382 + resolution: {integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==} 2383 + engines: {node: ^18.0.0 || >=20.0.0} 2384 + hasBin: true 2385 + peerDependencies: 2386 + '@types/node': ^18.0.0 || >=20.0.0 2387 + less: '*' 2388 + lightningcss: ^1.21.0 2389 + sass: '*' 2390 + sass-embedded: '*' 2391 + stylus: '*' 2392 + sugarss: '*' 2393 + terser: ^5.4.0 2394 + peerDependenciesMeta: 2395 + '@types/node': 2396 + optional: true 2397 + less: 2398 + optional: true 2399 + lightningcss: 2400 + optional: true 2401 + sass: 2402 + optional: true 2403 + sass-embedded: 2404 + optional: true 2405 + stylus: 2406 + optional: true 2407 + sugarss: 2408 + optional: true 2409 + terser: 2410 + optional: true 2411 + 2412 + vitest@1.6.1: 2413 + resolution: {integrity: sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==} 2414 + engines: {node: ^18.0.0 || >=20.0.0} 2415 + hasBin: true 2416 + peerDependencies: 2417 + '@edge-runtime/vm': '*' 2418 + '@types/node': ^18.0.0 || >=20.0.0 2419 + '@vitest/browser': 1.6.1 2420 + '@vitest/ui': 1.6.1 2421 + happy-dom: '*' 2422 + jsdom: '*' 2423 + peerDependenciesMeta: 2424 + '@edge-runtime/vm': 2425 + optional: true 2426 + '@types/node': 2427 + optional: true 2428 + '@vitest/browser': 2429 + optional: true 2430 + '@vitest/ui': 2431 + optional: true 2432 + happy-dom: 2433 + optional: true 2434 + jsdom: 2435 + optional: true 2436 + 2437 + webidl-conversions@3.0.1: 2438 + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2439 + 2440 + whatwg-url@5.0.0: 2441 + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2442 + 2443 + which-boxed-primitive@1.1.1: 2444 + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 2445 + engines: {node: '>= 0.4'} 2446 + 2447 + which-builtin-type@1.2.1: 2448 + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} 2449 + engines: {node: '>= 0.4'} 2450 + 2451 + which-collection@1.0.2: 2452 + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 2453 + engines: {node: '>= 0.4'} 2454 + 2455 + which-pm-runs@1.1.0: 2456 + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} 2457 + engines: {node: '>=4'} 2458 + 2459 + which-typed-array@1.1.18: 2460 + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} 2461 + engines: {node: '>= 0.4'} 2462 + 2463 + which@1.3.1: 2464 + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2465 + hasBin: true 2466 + 2467 + which@2.0.2: 2468 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2469 + engines: {node: '>= 8'} 2470 + hasBin: true 2471 + 2472 + why-is-node-running@2.3.0: 2473 + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 2474 + engines: {node: '>=8'} 2475 + hasBin: true 2476 + 2477 + word-wrap@1.2.5: 2478 + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2479 + engines: {node: '>=0.10.0'} 2480 + 2481 + wrap-ansi@7.0.0: 2482 + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2483 + engines: {node: '>=10'} 2484 + 2485 + wrap-ansi@8.1.0: 2486 + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2487 + engines: {node: '>=12'} 2488 + 2489 + wrappy@1.0.2: 2490 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2491 + 2492 + yaml@1.10.2: 2493 + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2494 + engines: {node: '>= 6'} 2495 + 2496 + yaml@2.3.1: 2497 + resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} 2498 + engines: {node: '>= 14'} 2499 + 2500 + yocto-queue@0.1.0: 2501 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2502 + engines: {node: '>=10'} 2503 + 2504 + yocto-queue@1.1.1: 2505 + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} 2506 + engines: {node: '>=12.20'} 2507 + 2508 + zen-observable@0.10.0: 2509 + resolution: {integrity: sha512-iI3lT0iojZhKwT5DaFy2Ce42n3yFcLdFyOh01G7H0flMY60P8MJuVFEoJoNwXlmAyQ45GrjL6AcZmmlv8A5rbw==} 2510 + 2511 + snapshots: 2512 + 2513 + '@babel/code-frame@7.26.2': 2514 + dependencies: 2515 + '@babel/helper-validator-identifier': 7.25.9 2516 + js-tokens: 4.0.0 2517 + picocolors: 1.1.1 2518 + 2519 + '@babel/helper-validator-identifier@7.25.9': {} 2520 + 2521 + '@babel/highlight@7.25.9': 2522 + dependencies: 2523 + '@babel/helper-validator-identifier': 7.25.9 2524 + chalk: 2.4.2 2525 + js-tokens: 4.0.0 2526 + picocolors: 1.1.1 2527 + 2528 + '@babel/runtime@7.26.9': 2529 + dependencies: 2530 + regenerator-runtime: 0.14.1 2531 + 2532 + '@changesets/apply-release-plan@7.0.12': 2533 + dependencies: 2534 + '@changesets/config': 3.1.1 2535 + '@changesets/get-version-range-type': 0.4.0 2536 + '@changesets/git': 3.0.4 2537 + '@changesets/should-skip-package': 0.1.2 2538 + '@changesets/types': 6.1.0 2539 + '@manypkg/get-packages': 1.1.3 2540 + detect-indent: 6.1.0 2541 + fs-extra: 7.0.1 2542 + lodash.startcase: 4.4.0 2543 + outdent: 0.5.0 2544 + prettier: 2.8.8 2545 + resolve-from: 5.0.0 2546 + semver: 7.7.1 2547 + 2548 + '@changesets/assemble-release-plan@6.0.9': 2549 + dependencies: 2550 + '@changesets/errors': 0.2.0 2551 + '@changesets/get-dependents-graph': 2.1.3 2552 + '@changesets/should-skip-package': 0.1.2 2553 + '@changesets/types': 6.1.0 2554 + '@manypkg/get-packages': 1.1.3 2555 + semver: 7.7.1 2556 + 2557 + '@changesets/changelog-git@0.2.1': 2558 + dependencies: 2559 + '@changesets/types': 6.1.0 2560 + 2561 + '@changesets/cli@2.29.6(@types/node@22.13.9)': 2562 + dependencies: 2563 + '@changesets/apply-release-plan': 7.0.12 2564 + '@changesets/assemble-release-plan': 6.0.9 2565 + '@changesets/changelog-git': 0.2.1 2566 + '@changesets/config': 3.1.1 2567 + '@changesets/errors': 0.2.0 2568 + '@changesets/get-dependents-graph': 2.1.3 2569 + '@changesets/get-release-plan': 4.0.13 2570 + '@changesets/git': 3.0.4 2571 + '@changesets/logger': 0.1.1 2572 + '@changesets/pre': 2.0.2 2573 + '@changesets/read': 0.6.5 2574 + '@changesets/should-skip-package': 0.1.2 2575 + '@changesets/types': 6.1.0 2576 + '@changesets/write': 0.4.0 2577 + '@inquirer/external-editor': 1.0.1(@types/node@22.13.9) 2578 + '@manypkg/get-packages': 1.1.3 2579 + ansi-colors: 4.1.3 2580 + ci-info: 3.9.0 2581 + enquirer: 2.4.1 2582 + fs-extra: 7.0.1 2583 + mri: 1.2.0 2584 + p-limit: 2.3.0 2585 + package-manager-detector: 0.2.11 2586 + picocolors: 1.1.1 2587 + resolve-from: 5.0.0 2588 + semver: 7.7.1 2589 + spawndamnit: 3.0.1 2590 + term-size: 2.2.1 2591 + transitivePeerDependencies: 2592 + - '@types/node' 2593 + 2594 + '@changesets/config@3.1.1': 2595 + dependencies: 2596 + '@changesets/errors': 0.2.0 2597 + '@changesets/get-dependents-graph': 2.1.3 2598 + '@changesets/logger': 0.1.1 2599 + '@changesets/types': 6.1.0 2600 + '@manypkg/get-packages': 1.1.3 2601 + fs-extra: 7.0.1 2602 + micromatch: 4.0.8 2603 + 2604 + '@changesets/errors@0.2.0': 2605 + dependencies: 2606 + extendable-error: 0.1.7 2607 + 2608 + '@changesets/get-dependents-graph@2.1.3': 2609 + dependencies: 2610 + '@changesets/types': 6.1.0 2611 + '@manypkg/get-packages': 1.1.3 2612 + picocolors: 1.1.1 2613 + semver: 7.7.1 2614 + 2615 + '@changesets/get-github-info@0.6.0': 2616 + dependencies: 2617 + dataloader: 1.4.0 2618 + node-fetch: 2.7.0 2619 + transitivePeerDependencies: 2620 + - encoding 2621 + 2622 + '@changesets/get-release-plan@4.0.13': 2623 + dependencies: 2624 + '@changesets/assemble-release-plan': 6.0.9 2625 + '@changesets/config': 3.1.1 2626 + '@changesets/pre': 2.0.2 2627 + '@changesets/read': 0.6.5 2628 + '@changesets/types': 6.1.0 2629 + '@manypkg/get-packages': 1.1.3 2630 + 2631 + '@changesets/get-version-range-type@0.4.0': {} 2632 + 2633 + '@changesets/git@3.0.4': 2634 + dependencies: 2635 + '@changesets/errors': 0.2.0 2636 + '@manypkg/get-packages': 1.1.3 2637 + is-subdir: 1.2.0 2638 + micromatch: 4.0.8 2639 + spawndamnit: 3.0.1 2640 + 2641 + '@changesets/logger@0.1.1': 2642 + dependencies: 2643 + picocolors: 1.1.1 2644 + 2645 + '@changesets/parse@0.4.1': 2646 + dependencies: 2647 + '@changesets/types': 6.1.0 2648 + js-yaml: 3.14.1 2649 + 2650 + '@changesets/pre@2.0.2': 2651 + dependencies: 2652 + '@changesets/errors': 0.2.0 2653 + '@changesets/types': 6.1.0 2654 + '@manypkg/get-packages': 1.1.3 2655 + fs-extra: 7.0.1 2656 + 2657 + '@changesets/read@0.6.5': 2658 + dependencies: 2659 + '@changesets/git': 3.0.4 2660 + '@changesets/logger': 0.1.1 2661 + '@changesets/parse': 0.4.1 2662 + '@changesets/types': 6.1.0 2663 + fs-extra: 7.0.1 2664 + p-filter: 2.1.0 2665 + picocolors: 1.1.1 2666 + 2667 + '@changesets/should-skip-package@0.1.2': 2668 + dependencies: 2669 + '@changesets/types': 6.1.0 2670 + '@manypkg/get-packages': 1.1.3 2671 + 2672 + '@changesets/types@4.1.0': {} 2673 + 2674 + '@changesets/types@6.1.0': {} 2675 + 2676 + '@changesets/write@0.4.0': 2677 + dependencies: 2678 + '@changesets/types': 6.1.0 2679 + fs-extra: 7.0.1 2680 + human-id: 4.1.1 2681 + prettier: 2.8.8 2682 + 2683 + '@esbuild/aix-ppc64@0.21.5': 2684 + optional: true 2685 + 2686 + '@esbuild/android-arm64@0.21.5': 2687 + optional: true 2688 + 2689 + '@esbuild/android-arm@0.21.5': 2690 + optional: true 2691 + 2692 + '@esbuild/android-x64@0.21.5': 2693 + optional: true 2694 + 2695 + '@esbuild/darwin-arm64@0.21.5': 2696 + optional: true 2697 + 2698 + '@esbuild/darwin-x64@0.21.5': 2699 + optional: true 2700 + 2701 + '@esbuild/freebsd-arm64@0.21.5': 2702 + optional: true 2703 + 2704 + '@esbuild/freebsd-x64@0.21.5': 2705 + optional: true 2706 + 2707 + '@esbuild/linux-arm64@0.21.5': 2708 + optional: true 2709 + 2710 + '@esbuild/linux-arm@0.21.5': 2711 + optional: true 2712 + 2713 + '@esbuild/linux-ia32@0.21.5': 2714 + optional: true 2715 + 2716 + '@esbuild/linux-loong64@0.21.5': 2717 + optional: true 2718 + 2719 + '@esbuild/linux-mips64el@0.21.5': 2720 + optional: true 2721 + 2722 + '@esbuild/linux-ppc64@0.21.5': 2723 + optional: true 2724 + 2725 + '@esbuild/linux-riscv64@0.21.5': 2726 + optional: true 2727 + 2728 + '@esbuild/linux-s390x@0.21.5': 2729 + optional: true 2730 + 2731 + '@esbuild/linux-x64@0.21.5': 2732 + optional: true 2733 + 2734 + '@esbuild/netbsd-x64@0.21.5': 2735 + optional: true 2736 + 2737 + '@esbuild/openbsd-x64@0.21.5': 2738 + optional: true 2739 + 2740 + '@esbuild/sunos-x64@0.21.5': 2741 + optional: true 2742 + 2743 + '@esbuild/win32-arm64@0.21.5': 2744 + optional: true 2745 + 2746 + '@esbuild/win32-ia32@0.21.5': 2747 + optional: true 2748 + 2749 + '@esbuild/win32-x64@0.21.5': 2750 + optional: true 2751 + 2752 + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': 2753 + dependencies: 2754 + eslint: 8.57.1 2755 + eslint-visitor-keys: 3.4.3 2756 + 2757 + '@eslint-community/regexpp@4.12.1': {} 2758 + 2759 + '@eslint/eslintrc@2.1.4': 2760 + dependencies: 2761 + ajv: 6.12.6 2762 + debug: 4.4.0 2763 + espree: 9.6.1 2764 + globals: 13.24.0 2765 + ignore: 5.3.2 2766 + import-fresh: 3.3.1 2767 + js-yaml: 4.1.0 2768 + minimatch: 3.1.2 2769 + strip-json-comments: 3.1.1 2770 + transitivePeerDependencies: 2771 + - supports-color 2772 + 2773 + '@eslint/js@8.57.1': {} 2774 + 2775 + '@humanwhocodes/config-array@0.13.0': 2776 + dependencies: 2777 + '@humanwhocodes/object-schema': 2.0.3 2778 + debug: 4.4.0 2779 + minimatch: 3.1.2 2780 + transitivePeerDependencies: 2781 + - supports-color 2782 + 2783 + '@humanwhocodes/module-importer@1.0.1': {} 2784 + 2785 + '@humanwhocodes/object-schema@2.0.3': {} 2786 + 2787 + '@inquirer/external-editor@1.0.1(@types/node@22.13.9)': 2788 + dependencies: 2789 + chardet: 2.1.0 2790 + iconv-lite: 0.6.3 2791 + optionalDependencies: 2792 + '@types/node': 22.13.9 2793 + 2794 + '@isaacs/cliui@8.0.2': 2795 + dependencies: 2796 + string-width: 5.1.2 2797 + string-width-cjs: string-width@4.2.3 2798 + strip-ansi: 7.1.0 2799 + strip-ansi-cjs: strip-ansi@6.0.1 2800 + wrap-ansi: 8.1.0 2801 + wrap-ansi-cjs: wrap-ansi@7.0.0 2802 + 2803 + '@jest/schemas@29.6.3': 2804 + dependencies: 2805 + '@sinclair/typebox': 0.27.8 2806 + 2807 + '@jridgewell/gen-mapping@0.3.8': 2808 + dependencies: 2809 + '@jridgewell/set-array': 1.2.1 2810 + '@jridgewell/sourcemap-codec': 1.5.0 2811 + '@jridgewell/trace-mapping': 0.3.25 2812 + 2813 + '@jridgewell/resolve-uri@3.1.2': {} 2814 + 2815 + '@jridgewell/set-array@1.2.1': {} 2816 + 2817 + '@jridgewell/source-map@0.3.6': 2818 + dependencies: 2819 + '@jridgewell/gen-mapping': 0.3.8 2820 + '@jridgewell/trace-mapping': 0.3.25 2821 + 2822 + '@jridgewell/sourcemap-codec@1.5.0': {} 2823 + 2824 + '@jridgewell/trace-mapping@0.3.25': 2825 + dependencies: 2826 + '@jridgewell/resolve-uri': 3.1.2 2827 + '@jridgewell/sourcemap-codec': 1.5.0 2828 + 2829 + '@manypkg/find-root@1.1.0': 2830 + dependencies: 2831 + '@babel/runtime': 7.26.9 2832 + '@types/node': 12.20.55 2833 + find-up: 4.1.0 2834 + fs-extra: 8.1.0 2835 + 2836 + '@manypkg/get-packages@1.1.3': 2837 + dependencies: 2838 + '@babel/runtime': 7.26.9 2839 + '@changesets/types': 4.1.0 2840 + '@manypkg/find-root': 1.1.0 2841 + fs-extra: 8.1.0 2842 + globby: 11.1.0 2843 + read-yaml-file: 1.1.0 2844 + 2845 + '@microsoft/tsdoc-config@0.16.2': 2846 + dependencies: 2847 + '@microsoft/tsdoc': 0.14.2 2848 + ajv: 6.12.6 2849 + jju: 1.4.0 2850 + resolve: 1.19.0 2851 + 2852 + '@microsoft/tsdoc@0.14.2': {} 2853 + 2854 + '@nodelib/fs.scandir@2.1.5': 2855 + dependencies: 2856 + '@nodelib/fs.stat': 2.0.5 2857 + run-parallel: 1.2.0 2858 + 2859 + '@nodelib/fs.stat@2.0.5': {} 2860 + 2861 + '@nodelib/fs.walk@1.2.8': 2862 + dependencies: 2863 + '@nodelib/fs.scandir': 2.1.5 2864 + fastq: 1.19.1 2865 + 2866 + '@pkgjs/parseargs@0.11.0': 2867 + optional: true 2868 + 2869 + '@rollup/plugin-buble@1.0.3(rollup@3.29.5)': 2870 + dependencies: 2871 + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) 2872 + '@types/buble': 0.19.2 2873 + buble: 0.20.0 2874 + optionalDependencies: 2875 + rollup: 3.29.5 2876 + 2877 + '@rollup/plugin-commonjs@23.0.7(rollup@3.29.5)': 2878 + dependencies: 2879 + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) 2880 + commondir: 1.0.1 2881 + estree-walker: 2.0.2 2882 + glob: 8.1.0 2883 + is-reference: 1.2.1 2884 + magic-string: 0.27.0 2885 + optionalDependencies: 2886 + rollup: 3.29.5 2887 + 2888 + '@rollup/plugin-node-resolve@15.3.1(rollup@3.29.5)': 2889 + dependencies: 2890 + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) 2891 + '@types/resolve': 1.20.2 2892 + deepmerge: 4.3.1 2893 + is-module: 1.0.0 2894 + resolve: 1.22.10 2895 + optionalDependencies: 2896 + rollup: 3.29.5 2897 + 2898 + '@rollup/plugin-sucrase@5.0.2(rollup@3.29.5)': 2899 + dependencies: 2900 + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) 2901 + sucrase: 3.35.0 2902 + optionalDependencies: 2903 + rollup: 3.29.5 2904 + 2905 + '@rollup/plugin-terser@0.1.0(rollup@3.29.5)': 2906 + dependencies: 2907 + terser: 5.39.0 2908 + optionalDependencies: 2909 + rollup: 3.29.5 2910 + 2911 + '@rollup/pluginutils@5.1.4(rollup@3.29.5)': 2912 + dependencies: 2913 + '@types/estree': 1.0.6 2914 + estree-walker: 2.0.2 2915 + picomatch: 4.0.2 2916 + optionalDependencies: 2917 + rollup: 3.29.5 2918 + 2919 + '@rollup/rollup-android-arm-eabi@4.34.9': 2920 + optional: true 2921 + 2922 + '@rollup/rollup-android-arm64@4.34.9': 2923 + optional: true 2924 + 2925 + '@rollup/rollup-darwin-arm64@4.34.9': 2926 + optional: true 2927 + 2928 + '@rollup/rollup-darwin-x64@4.34.9': 2929 + optional: true 2930 + 2931 + '@rollup/rollup-freebsd-arm64@4.34.9': 2932 + optional: true 2933 + 2934 + '@rollup/rollup-freebsd-x64@4.34.9': 2935 + optional: true 2936 + 2937 + '@rollup/rollup-linux-arm-gnueabihf@4.34.9': 2938 + optional: true 2939 + 2940 + '@rollup/rollup-linux-arm-musleabihf@4.34.9': 2941 + optional: true 2942 + 2943 + '@rollup/rollup-linux-arm64-gnu@4.34.9': 2944 + optional: true 2945 + 2946 + '@rollup/rollup-linux-arm64-musl@4.34.9': 2947 + optional: true 2948 + 2949 + '@rollup/rollup-linux-loongarch64-gnu@4.34.9': 2950 + optional: true 2951 + 2952 + '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': 2953 + optional: true 2954 + 2955 + '@rollup/rollup-linux-riscv64-gnu@4.34.9': 2956 + optional: true 2957 + 2958 + '@rollup/rollup-linux-s390x-gnu@4.34.9': 2959 + optional: true 2960 + 2961 + '@rollup/rollup-linux-x64-gnu@4.34.9': 2962 + optional: true 2963 + 2964 + '@rollup/rollup-linux-x64-musl@4.34.9': 2965 + optional: true 2966 + 2967 + '@rollup/rollup-win32-arm64-msvc@4.34.9': 2968 + optional: true 2969 + 2970 + '@rollup/rollup-win32-ia32-msvc@4.34.9': 2971 + optional: true 2972 + 2973 + '@rollup/rollup-win32-x64-msvc@4.34.9': 2974 + optional: true 2975 + 2976 + '@sinclair/typebox@0.27.8': {} 2977 + 2978 + '@types/buble@0.19.2': 2979 + dependencies: 2980 + magic-string: 0.25.9 2981 + 2982 + '@types/estree@1.0.6': {} 2983 + 2984 + '@types/json-schema@7.0.15': {} 2985 + 2986 + '@types/node@12.20.55': {} 2987 + 2988 + '@types/node@22.13.9': 2989 + dependencies: 2990 + undici-types: 6.20.0 2991 + optional: true 2992 + 2993 + '@types/parse-json@4.0.2': {} 2994 + 2995 + '@types/resolve@1.20.2': {} 2996 + 2997 + '@types/semver@7.5.8': {} 2998 + 2999 + '@types/zen-observable@0.8.7': {} 3000 + 3001 + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': 3002 + dependencies: 3003 + '@eslint-community/regexpp': 4.12.1 3004 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.9.5) 3005 + '@typescript-eslint/scope-manager': 5.62.0 3006 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) 3007 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) 3008 + debug: 4.4.0 3009 + eslint: 8.57.1 3010 + graphemer: 1.4.0 3011 + ignore: 5.3.2 3012 + natural-compare-lite: 1.4.0 3013 + semver: 7.7.1 3014 + tsutils: 3.21.0(typescript@4.9.5) 3015 + optionalDependencies: 3016 + typescript: 4.9.5 3017 + transitivePeerDependencies: 3018 + - supports-color 3019 + 3020 + '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5)': 3021 + dependencies: 3022 + '@typescript-eslint/scope-manager': 5.62.0 3023 + '@typescript-eslint/types': 5.62.0 3024 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) 3025 + debug: 4.4.0 3026 + eslint: 8.57.1 3027 + optionalDependencies: 3028 + typescript: 4.9.5 3029 + transitivePeerDependencies: 3030 + - supports-color 3031 + 3032 + '@typescript-eslint/scope-manager@5.62.0': 3033 + dependencies: 3034 + '@typescript-eslint/types': 5.62.0 3035 + '@typescript-eslint/visitor-keys': 5.62.0 3036 + 3037 + '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': 3038 + dependencies: 3039 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) 3040 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) 3041 + debug: 4.4.0 3042 + eslint: 8.57.1 3043 + tsutils: 3.21.0(typescript@4.9.5) 3044 + optionalDependencies: 3045 + typescript: 4.9.5 3046 + transitivePeerDependencies: 3047 + - supports-color 3048 + 3049 + '@typescript-eslint/types@5.62.0': {} 3050 + 3051 + '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)': 3052 + dependencies: 3053 + '@typescript-eslint/types': 5.62.0 3054 + '@typescript-eslint/visitor-keys': 5.62.0 3055 + debug: 4.4.0 3056 + globby: 11.1.0 3057 + is-glob: 4.0.3 3058 + semver: 7.7.1 3059 + tsutils: 3.21.0(typescript@4.9.5) 3060 + optionalDependencies: 3061 + typescript: 4.9.5 3062 + transitivePeerDependencies: 3063 + - supports-color 3064 + 3065 + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': 3066 + dependencies: 3067 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) 3068 + '@types/json-schema': 7.0.15 3069 + '@types/semver': 7.5.8 3070 + '@typescript-eslint/scope-manager': 5.62.0 3071 + '@typescript-eslint/types': 5.62.0 3072 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) 3073 + eslint: 8.57.1 3074 + eslint-scope: 5.1.1 3075 + semver: 7.7.1 3076 + transitivePeerDependencies: 3077 + - supports-color 3078 + - typescript 3079 + 3080 + '@typescript-eslint/visitor-keys@5.62.0': 3081 + dependencies: 3082 + '@typescript-eslint/types': 5.62.0 3083 + eslint-visitor-keys: 3.4.3 3084 + 3085 + '@ungap/structured-clone@1.3.0': {} 3086 + 3087 + '@vitest/expect@1.6.1': 3088 + dependencies: 3089 + '@vitest/spy': 1.6.1 3090 + '@vitest/utils': 1.6.1 3091 + chai: 4.5.0 3092 + 3093 + '@vitest/runner@1.6.1': 3094 + dependencies: 3095 + '@vitest/utils': 1.6.1 3096 + p-limit: 5.0.0 3097 + pathe: 1.1.2 3098 + 3099 + '@vitest/snapshot@1.6.1': 3100 + dependencies: 3101 + magic-string: 0.30.17 3102 + pathe: 1.1.2 3103 + pretty-format: 29.7.0 3104 + 3105 + '@vitest/spy@1.6.1': 3106 + dependencies: 3107 + tinyspy: 2.2.1 3108 + 3109 + '@vitest/utils@1.6.1': 3110 + dependencies: 3111 + diff-sequences: 29.6.3 3112 + estree-walker: 3.0.3 3113 + loupe: 2.3.7 3114 + pretty-format: 29.7.0 3115 + 3116 + acorn-dynamic-import@4.0.0(acorn@6.4.2): 3117 + dependencies: 3118 + acorn: 6.4.2 3119 + 3120 + acorn-jsx@5.3.2(acorn@6.4.2): 3121 + dependencies: 3122 + acorn: 6.4.2 3123 + 3124 + acorn-jsx@5.3.2(acorn@8.14.0): 3125 + dependencies: 3126 + acorn: 8.14.0 3127 + 3128 + acorn-walk@8.3.4: 3129 + dependencies: 3130 + acorn: 8.14.0 3131 + 3132 + acorn@6.4.2: {} 3133 + 3134 + acorn@8.14.0: {} 3135 + 3136 + ajv@6.12.6: 3137 + dependencies: 3138 + fast-deep-equal: 3.1.3 3139 + fast-json-stable-stringify: 2.1.0 3140 + json-schema-traverse: 0.4.1 3141 + uri-js: 4.4.1 3142 + 3143 + ansi-colors@4.1.3: {} 3144 + 3145 + ansi-escapes@5.0.0: 3146 + dependencies: 3147 + type-fest: 1.4.0 3148 + 3149 + ansi-regex@5.0.1: {} 3150 + 3151 + ansi-regex@6.1.0: {} 3152 + 3153 + ansi-styles@3.2.1: 3154 + dependencies: 3155 + color-convert: 1.9.3 3156 + 3157 + ansi-styles@4.3.0: 3158 + dependencies: 3159 + color-convert: 2.0.1 3160 + 3161 + ansi-styles@5.2.0: {} 3162 + 3163 + ansi-styles@6.2.1: {} 3164 + 3165 + any-promise@1.3.0: {} 3166 + 3167 + argparse@1.0.10: 3168 + dependencies: 3169 + sprintf-js: 1.0.3 3170 + 3171 + argparse@2.0.1: {} 3172 + 3173 + array-buffer-byte-length@1.0.2: 3174 + dependencies: 3175 + call-bound: 1.0.4 3176 + is-array-buffer: 3.0.5 3177 + 3178 + array-union@2.1.0: {} 3179 + 3180 + arraybuffer.prototype.slice@1.0.4: 3181 + dependencies: 3182 + array-buffer-byte-length: 1.0.2 3183 + call-bind: 1.0.8 3184 + define-properties: 1.2.1 3185 + es-abstract: 1.23.9 3186 + es-errors: 1.3.0 3187 + get-intrinsic: 1.3.0 3188 + is-array-buffer: 3.0.5 3189 + 3190 + assertion-error@1.1.0: {} 3191 + 3192 + async-function@1.0.0: {} 3193 + 3194 + available-typed-arrays@1.0.7: 3195 + dependencies: 3196 + possible-typed-array-names: 1.1.0 3197 + 3198 + balanced-match@1.0.2: {} 3199 + 3200 + better-path-resolve@1.0.0: 3201 + dependencies: 3202 + is-windows: 1.0.2 3203 + 3204 + brace-expansion@1.1.11: 3205 + dependencies: 3206 + balanced-match: 1.0.2 3207 + concat-map: 0.0.1 3208 + 3209 + brace-expansion@2.0.1: 3210 + dependencies: 3211 + balanced-match: 1.0.2 3212 + 3213 + braces@3.0.3: 3214 + dependencies: 3215 + fill-range: 7.1.1 3216 + 3217 + buble@0.20.0: 3218 + dependencies: 3219 + acorn: 6.4.2 3220 + acorn-dynamic-import: 4.0.0(acorn@6.4.2) 3221 + acorn-jsx: 5.3.2(acorn@6.4.2) 3222 + chalk: 2.4.2 3223 + magic-string: 0.25.9 3224 + minimist: 1.2.8 3225 + regexpu-core: 4.5.4 3226 + 3227 + buffer-from@1.1.2: {} 3228 + 3229 + cac@6.7.14: {} 3230 + 3231 + call-bind-apply-helpers@1.0.2: 3232 + dependencies: 3233 + es-errors: 1.3.0 3234 + function-bind: 1.1.2 3235 + 3236 + call-bind@1.0.8: 3237 + dependencies: 3238 + call-bind-apply-helpers: 1.0.2 3239 + es-define-property: 1.0.1 3240 + get-intrinsic: 1.3.0 3241 + set-function-length: 1.2.2 3242 + 3243 + call-bound@1.0.4: 3244 + dependencies: 3245 + call-bind-apply-helpers: 1.0.2 3246 + get-intrinsic: 1.3.0 3247 + 3248 + callbag-from-iter@1.3.0: 3249 + dependencies: 3250 + callbag: 1.5.1 3251 + 3252 + callbag-iterate@1.0.0: {} 3253 + 3254 + callbag-take@1.5.0: 3255 + dependencies: 3256 + callbag: 1.5.1 3257 + 3258 + callbag@1.5.1: {} 3259 + 3260 + callsites@3.1.0: {} 3261 + 3262 + chai@4.5.0: 3263 + dependencies: 3264 + assertion-error: 1.1.0 3265 + check-error: 1.0.3 3266 + deep-eql: 4.1.4 3267 + get-func-name: 2.0.2 3268 + loupe: 2.3.7 3269 + pathval: 1.1.1 3270 + type-detect: 4.1.0 3271 + 3272 + chalk@2.4.2: 3273 + dependencies: 3274 + ansi-styles: 3.2.1 3275 + escape-string-regexp: 1.0.5 3276 + supports-color: 5.5.0 3277 + 3278 + chalk@4.1.2: 3279 + dependencies: 3280 + ansi-styles: 4.3.0 3281 + supports-color: 7.2.0 3282 + 3283 + chalk@5.3.0: {} 3284 + 3285 + chardet@2.1.0: {} 3286 + 3287 + check-error@1.0.3: 3288 + dependencies: 3289 + get-func-name: 2.0.2 3290 + 3291 + ci-info@2.0.0: {} 3292 + 3293 + ci-info@3.9.0: {} 3294 + 3295 + cjs-module-lexer@1.4.3: {} 3296 + 3297 + cli-cursor@4.0.0: 3298 + dependencies: 3299 + restore-cursor: 4.0.0 3300 + 3301 + cli-truncate@3.1.0: 3302 + dependencies: 3303 + slice-ansi: 5.0.0 3304 + string-width: 5.1.2 3305 + 3306 + color-convert@1.9.3: 3307 + dependencies: 3308 + color-name: 1.1.3 3309 + 3310 + color-convert@2.0.1: 3311 + dependencies: 3312 + color-name: 1.1.4 3313 + 3314 + color-name@1.1.3: {} 3315 + 3316 + color-name@1.1.4: {} 3317 + 3318 + colorette@2.0.20: {} 3319 + 3320 + commander@11.0.0: {} 3321 + 3322 + commander@2.20.3: {} 3323 + 3324 + commander@4.1.1: {} 3325 + 3326 + commander@6.2.1: {} 3327 + 3328 + commondir@1.0.1: {} 3329 + 3330 + compare-versions@3.6.0: {} 3331 + 3332 + concat-map@0.0.1: {} 3333 + 3334 + confbox@0.1.8: {} 3335 + 3336 + cosmiconfig@7.1.0: 3337 + dependencies: 3338 + '@types/parse-json': 4.0.2 3339 + import-fresh: 3.3.1 3340 + parse-json: 5.2.0 3341 + path-type: 4.0.0 3342 + yaml: 1.10.2 3343 + 3344 + cross-spawn@6.0.6: 3345 + dependencies: 3346 + nice-try: 1.0.5 3347 + path-key: 2.0.1 3348 + semver: 5.7.2 3349 + shebang-command: 1.2.0 3350 + which: 1.3.1 3351 + 3352 + cross-spawn@7.0.6: 3353 + dependencies: 3354 + path-key: 3.1.1 3355 + shebang-command: 2.0.0 3356 + which: 2.0.2 3357 + 3358 + data-view-buffer@1.0.2: 3359 + dependencies: 3360 + call-bound: 1.0.4 3361 + es-errors: 1.3.0 3362 + is-data-view: 1.0.2 3363 + 3364 + data-view-byte-length@1.0.2: 3365 + dependencies: 3366 + call-bound: 1.0.4 3367 + es-errors: 1.3.0 3368 + is-data-view: 1.0.2 3369 + 3370 + data-view-byte-offset@1.0.1: 3371 + dependencies: 3372 + call-bound: 1.0.4 3373 + es-errors: 1.3.0 3374 + is-data-view: 1.0.2 3375 + 3376 + dataloader@1.4.0: {} 3377 + 3378 + debug@4.3.4: 3379 + dependencies: 3380 + ms: 2.1.2 3381 + 3382 + debug@4.4.0: 3383 + dependencies: 3384 + ms: 2.1.3 3385 + 3386 + deep-eql@4.1.4: 3387 + dependencies: 3388 + type-detect: 4.1.0 3389 + 3390 + deep-is@0.1.4: {} 3391 + 3392 + deepmerge@4.3.1: {} 3393 + 3394 + define-data-property@1.1.4: 3395 + dependencies: 3396 + es-define-property: 1.0.1 3397 + es-errors: 1.3.0 3398 + gopd: 1.2.0 3399 + 3400 + define-properties@1.2.1: 3401 + dependencies: 3402 + define-data-property: 1.1.4 3403 + has-property-descriptors: 1.0.2 3404 + object-keys: 1.1.1 3405 + 3406 + detect-indent@6.1.0: {} 3407 + 3408 + diff-sequences@29.6.3: {} 3409 + 3410 + dir-glob@3.0.1: 3411 + dependencies: 3412 + path-type: 4.0.0 3413 + 3414 + doctrine@3.0.0: 3415 + dependencies: 3416 + esutils: 2.0.3 3417 + 3418 + dotenv@16.4.7: {} 3419 + 3420 + dunder-proto@1.0.1: 3421 + dependencies: 3422 + call-bind-apply-helpers: 1.0.2 3423 + es-errors: 1.3.0 3424 + gopd: 1.2.0 3425 + 3426 + eastasianwidth@0.2.0: {} 3427 + 3428 + emoji-regex@8.0.0: {} 3429 + 3430 + emoji-regex@9.2.2: {} 3431 + 3432 + enquirer@2.4.1: 3433 + dependencies: 3434 + ansi-colors: 4.1.3 3435 + strip-ansi: 6.0.1 3436 + 3437 + error-ex@1.3.2: 3438 + dependencies: 3439 + is-arrayish: 0.2.1 3440 + 3441 + es-abstract@1.23.9: 3442 + dependencies: 3443 + array-buffer-byte-length: 1.0.2 3444 + arraybuffer.prototype.slice: 1.0.4 3445 + available-typed-arrays: 1.0.7 3446 + call-bind: 1.0.8 3447 + call-bound: 1.0.4 3448 + data-view-buffer: 1.0.2 3449 + data-view-byte-length: 1.0.2 3450 + data-view-byte-offset: 1.0.1 3451 + es-define-property: 1.0.1 3452 + es-errors: 1.3.0 3453 + es-object-atoms: 1.1.1 3454 + es-set-tostringtag: 2.1.0 3455 + es-to-primitive: 1.3.0 3456 + function.prototype.name: 1.1.8 3457 + get-intrinsic: 1.3.0 3458 + get-proto: 1.0.1 3459 + get-symbol-description: 1.1.0 3460 + globalthis: 1.0.4 3461 + gopd: 1.2.0 3462 + has-property-descriptors: 1.0.2 3463 + has-proto: 1.2.0 3464 + has-symbols: 1.1.0 3465 + hasown: 2.0.2 3466 + internal-slot: 1.1.0 3467 + is-array-buffer: 3.0.5 3468 + is-callable: 1.2.7 3469 + is-data-view: 1.0.2 3470 + is-regex: 1.2.1 3471 + is-shared-array-buffer: 1.0.4 3472 + is-string: 1.1.1 3473 + is-typed-array: 1.1.15 3474 + is-weakref: 1.1.1 3475 + math-intrinsics: 1.1.0 3476 + object-inspect: 1.13.4 3477 + object-keys: 1.1.1 3478 + object.assign: 4.1.7 3479 + own-keys: 1.0.1 3480 + regexp.prototype.flags: 1.5.4 3481 + safe-array-concat: 1.1.3 3482 + safe-push-apply: 1.0.0 3483 + safe-regex-test: 1.1.0 3484 + set-proto: 1.0.0 3485 + string.prototype.trim: 1.2.10 3486 + string.prototype.trimend: 1.0.9 3487 + string.prototype.trimstart: 1.0.8 3488 + typed-array-buffer: 1.0.3 3489 + typed-array-byte-length: 1.0.3 3490 + typed-array-byte-offset: 1.0.4 3491 + typed-array-length: 1.0.7 3492 + unbox-primitive: 1.1.0 3493 + which-typed-array: 1.1.18 3494 + 3495 + es-define-property@1.0.1: {} 3496 + 3497 + es-errors@1.3.0: {} 3498 + 3499 + es-object-atoms@1.1.1: 3500 + dependencies: 3501 + es-errors: 1.3.0 3502 + 3503 + es-set-tostringtag@2.1.0: 3504 + dependencies: 3505 + es-errors: 1.3.0 3506 + get-intrinsic: 1.3.0 3507 + has-tostringtag: 1.0.2 3508 + hasown: 2.0.2 3509 + 3510 + es-to-primitive@1.3.0: 3511 + dependencies: 3512 + is-callable: 1.2.7 3513 + is-date-object: 1.1.0 3514 + is-symbol: 1.1.1 3515 + 3516 + esbuild@0.21.5: 3517 + optionalDependencies: 3518 + '@esbuild/aix-ppc64': 0.21.5 3519 + '@esbuild/android-arm': 0.21.5 3520 + '@esbuild/android-arm64': 0.21.5 3521 + '@esbuild/android-x64': 0.21.5 3522 + '@esbuild/darwin-arm64': 0.21.5 3523 + '@esbuild/darwin-x64': 0.21.5 3524 + '@esbuild/freebsd-arm64': 0.21.5 3525 + '@esbuild/freebsd-x64': 0.21.5 3526 + '@esbuild/linux-arm': 0.21.5 3527 + '@esbuild/linux-arm64': 0.21.5 3528 + '@esbuild/linux-ia32': 0.21.5 3529 + '@esbuild/linux-loong64': 0.21.5 3530 + '@esbuild/linux-mips64el': 0.21.5 3531 + '@esbuild/linux-ppc64': 0.21.5 3532 + '@esbuild/linux-riscv64': 0.21.5 3533 + '@esbuild/linux-s390x': 0.21.5 3534 + '@esbuild/linux-x64': 0.21.5 3535 + '@esbuild/netbsd-x64': 0.21.5 3536 + '@esbuild/openbsd-x64': 0.21.5 3537 + '@esbuild/sunos-x64': 0.21.5 3538 + '@esbuild/win32-arm64': 0.21.5 3539 + '@esbuild/win32-ia32': 0.21.5 3540 + '@esbuild/win32-x64': 0.21.5 3541 + 3542 + escape-string-regexp@1.0.5: {} 3543 + 3544 + escape-string-regexp@4.0.0: {} 3545 + 3546 + eslint-config-prettier@8.10.0(eslint@8.57.1): 3547 + dependencies: 3548 + eslint: 8.57.1 3549 + 3550 + eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.8): 3551 + dependencies: 3552 + eslint: 8.57.1 3553 + prettier: 2.8.8 3554 + prettier-linter-helpers: 1.0.0 3555 + optionalDependencies: 3556 + eslint-config-prettier: 8.10.0(eslint@8.57.1) 3557 + 3558 + eslint-plugin-tsdoc@0.2.17: 3559 + dependencies: 3560 + '@microsoft/tsdoc': 0.14.2 3561 + '@microsoft/tsdoc-config': 0.16.2 3562 + 3563 + eslint-scope@5.1.1: 3564 + dependencies: 3565 + esrecurse: 4.3.0 3566 + estraverse: 4.3.0 3567 + 3568 + eslint-scope@7.2.2: 3569 + dependencies: 3570 + esrecurse: 4.3.0 3571 + estraverse: 5.3.0 3572 + 3573 + eslint-visitor-keys@3.4.3: {} 3574 + 3575 + eslint@8.57.1: 3576 + dependencies: 3577 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) 3578 + '@eslint-community/regexpp': 4.12.1 3579 + '@eslint/eslintrc': 2.1.4 3580 + '@eslint/js': 8.57.1 3581 + '@humanwhocodes/config-array': 0.13.0 3582 + '@humanwhocodes/module-importer': 1.0.1 3583 + '@nodelib/fs.walk': 1.2.8 3584 + '@ungap/structured-clone': 1.3.0 3585 + ajv: 6.12.6 3586 + chalk: 4.1.2 3587 + cross-spawn: 7.0.6 3588 + debug: 4.4.0 3589 + doctrine: 3.0.0 3590 + escape-string-regexp: 4.0.0 3591 + eslint-scope: 7.2.2 3592 + eslint-visitor-keys: 3.4.3 3593 + espree: 9.6.1 3594 + esquery: 1.6.0 3595 + esutils: 2.0.3 3596 + fast-deep-equal: 3.1.3 3597 + file-entry-cache: 6.0.1 3598 + find-up: 5.0.0 3599 + glob-parent: 6.0.2 3600 + globals: 13.24.0 3601 + graphemer: 1.4.0 3602 + ignore: 5.3.2 3603 + imurmurhash: 0.1.4 3604 + is-glob: 4.0.3 3605 + is-path-inside: 3.0.3 3606 + js-yaml: 4.1.0 3607 + json-stable-stringify-without-jsonify: 1.0.1 3608 + levn: 0.4.1 3609 + lodash.merge: 4.6.2 3610 + minimatch: 3.1.2 3611 + natural-compare: 1.4.0 3612 + optionator: 0.9.4 3613 + strip-ansi: 6.0.1 3614 + text-table: 0.2.0 3615 + transitivePeerDependencies: 3616 + - supports-color 3617 + 3618 + espree@9.6.1: 3619 + dependencies: 3620 + acorn: 8.14.0 3621 + acorn-jsx: 5.3.2(acorn@8.14.0) 3622 + eslint-visitor-keys: 3.4.3 3623 + 3624 + esprima@4.0.1: {} 3625 + 3626 + esquery@1.6.0: 3627 + dependencies: 3628 + estraverse: 5.3.0 3629 + 3630 + esrecurse@4.3.0: 3631 + dependencies: 3632 + estraverse: 5.3.0 3633 + 3634 + estraverse@4.3.0: {} 3635 + 3636 + estraverse@5.3.0: {} 3637 + 3638 + estree-walker@2.0.2: {} 3639 + 3640 + estree-walker@3.0.3: 3641 + dependencies: 3642 + '@types/estree': 1.0.6 3643 + 3644 + esutils@2.0.3: {} 3645 + 3646 + eventemitter3@5.0.1: {} 3647 + 3648 + execa@7.2.0: 3649 + dependencies: 3650 + cross-spawn: 7.0.6 3651 + get-stream: 6.0.1 3652 + human-signals: 4.3.1 3653 + is-stream: 3.0.0 3654 + merge-stream: 2.0.0 3655 + npm-run-path: 5.3.0 3656 + onetime: 6.0.0 3657 + signal-exit: 3.0.7 3658 + strip-final-newline: 3.0.0 3659 + 3660 + execa@8.0.1: 3661 + dependencies: 3662 + cross-spawn: 7.0.6 3663 + get-stream: 8.0.1 3664 + human-signals: 5.0.0 3665 + is-stream: 3.0.0 3666 + merge-stream: 2.0.0 3667 + npm-run-path: 5.3.0 3668 + onetime: 6.0.0 3669 + signal-exit: 4.1.0 3670 + strip-final-newline: 3.0.0 3671 + 3672 + extendable-error@0.1.7: {} 3673 + 3674 + fast-deep-equal@3.1.3: {} 3675 + 3676 + fast-diff@1.3.0: {} 3677 + 3678 + fast-glob@3.3.3: 3679 + dependencies: 3680 + '@nodelib/fs.stat': 2.0.5 3681 + '@nodelib/fs.walk': 1.2.8 3682 + glob-parent: 5.1.2 3683 + merge2: 1.4.1 3684 + micromatch: 4.0.8 3685 + 3686 + fast-json-stable-stringify@2.1.0: {} 3687 + 3688 + fast-levenshtein@2.0.6: {} 3689 + 3690 + fastq@1.19.1: 3691 + dependencies: 3692 + reusify: 1.1.0 3693 + 3694 + file-entry-cache@6.0.1: 3695 + dependencies: 3696 + flat-cache: 3.2.0 3697 + 3698 + fill-range@7.1.1: 3699 + dependencies: 3700 + to-regex-range: 5.0.1 3701 + 3702 + find-up@4.1.0: 3703 + dependencies: 3704 + locate-path: 5.0.0 3705 + path-exists: 4.0.0 3706 + 3707 + find-up@5.0.0: 3708 + dependencies: 3709 + locate-path: 6.0.0 3710 + path-exists: 4.0.0 3711 + 3712 + find-versions@4.0.0: 3713 + dependencies: 3714 + semver-regex: 3.1.4 3715 + 3716 + flat-cache@3.2.0: 3717 + dependencies: 3718 + flatted: 3.3.3 3719 + keyv: 4.5.4 3720 + rimraf: 3.0.2 3721 + 3722 + flatted@3.3.3: {} 3723 + 3724 + flowgen@1.21.0: 3725 + dependencies: 3726 + '@babel/code-frame': 7.26.2 3727 + '@babel/highlight': 7.25.9 3728 + commander: 6.2.1 3729 + lodash: 4.17.21 3730 + prettier: 2.8.8 3731 + shelljs: 0.8.5 3732 + typescript: 4.4.4 3733 + typescript-compiler: 1.4.1-2 3734 + 3735 + for-each@0.3.5: 3736 + dependencies: 3737 + is-callable: 1.2.7 3738 + 3739 + foreground-child@3.3.1: 3740 + dependencies: 3741 + cross-spawn: 7.0.6 3742 + signal-exit: 4.1.0 3743 + 3744 + fs-extra@7.0.1: 3745 + dependencies: 3746 + graceful-fs: 4.2.11 3747 + jsonfile: 4.0.0 3748 + universalify: 0.1.2 3749 + 3750 + fs-extra@8.1.0: 3751 + dependencies: 3752 + graceful-fs: 4.2.11 3753 + jsonfile: 4.0.0 3754 + universalify: 0.1.2 3755 + 3756 + fs.realpath@1.0.0: {} 3757 + 3758 + fsevents@2.3.3: 3759 + optional: true 3760 + 3761 + function-bind@1.1.2: {} 3762 + 3763 + function.prototype.name@1.1.8: 3764 + dependencies: 3765 + call-bind: 1.0.8 3766 + call-bound: 1.0.4 3767 + define-properties: 1.2.1 3768 + functions-have-names: 1.2.3 3769 + hasown: 2.0.2 3770 + is-callable: 1.2.7 3771 + 3772 + functions-have-names@1.2.3: {} 3773 + 3774 + get-func-name@2.0.2: {} 3775 + 3776 + get-intrinsic@1.3.0: 3777 + dependencies: 3778 + call-bind-apply-helpers: 1.0.2 3779 + es-define-property: 1.0.1 3780 + es-errors: 1.3.0 3781 + es-object-atoms: 1.1.1 3782 + function-bind: 1.1.2 3783 + get-proto: 1.0.1 3784 + gopd: 1.2.0 3785 + has-symbols: 1.1.0 3786 + hasown: 2.0.2 3787 + math-intrinsics: 1.1.0 3788 + 3789 + get-proto@1.0.1: 3790 + dependencies: 3791 + dunder-proto: 1.0.1 3792 + es-object-atoms: 1.1.1 3793 + 3794 + get-stream@6.0.1: {} 3795 + 3796 + get-stream@8.0.1: {} 3797 + 3798 + get-symbol-description@1.1.0: 3799 + dependencies: 3800 + call-bound: 1.0.4 3801 + es-errors: 1.3.0 3802 + get-intrinsic: 1.3.0 3803 + 3804 + glob-parent@5.1.2: 3805 + dependencies: 3806 + is-glob: 4.0.3 3807 + 3808 + glob-parent@6.0.2: 3809 + dependencies: 3810 + is-glob: 4.0.3 3811 + 3812 + glob@10.4.5: 3813 + dependencies: 3814 + foreground-child: 3.3.1 3815 + jackspeak: 3.4.3 3816 + minimatch: 9.0.5 3817 + minipass: 7.1.2 3818 + package-json-from-dist: 1.0.1 3819 + path-scurry: 1.11.1 3820 + 3821 + glob@7.2.3: 3822 + dependencies: 3823 + fs.realpath: 1.0.0 3824 + inflight: 1.0.6 3825 + inherits: 2.0.4 3826 + minimatch: 3.1.2 3827 + once: 1.4.0 3828 + path-is-absolute: 1.0.1 3829 + 3830 + glob@8.1.0: 3831 + dependencies: 3832 + fs.realpath: 1.0.0 3833 + inflight: 1.0.6 3834 + inherits: 2.0.4 3835 + minimatch: 5.1.6 3836 + once: 1.4.0 3837 + 3838 + globals@13.24.0: 3839 + dependencies: 3840 + type-fest: 0.20.2 3841 + 3842 + globalthis@1.0.4: 3843 + dependencies: 3844 + define-properties: 1.2.1 3845 + gopd: 1.2.0 3846 + 3847 + globby@11.1.0: 3848 + dependencies: 3849 + array-union: 2.1.0 3850 + dir-glob: 3.0.1 3851 + fast-glob: 3.3.3 3852 + ignore: 5.3.2 3853 + merge2: 1.4.1 3854 + slash: 3.0.0 3855 + 3856 + gopd@1.2.0: {} 3857 + 3858 + graceful-fs@4.2.11: {} 3859 + 3860 + graphemer@1.4.0: {} 3861 + 3862 + has-bigints@1.1.0: {} 3863 + 3864 + has-flag@3.0.0: {} 3865 + 3866 + has-flag@4.0.0: {} 3867 + 3868 + has-property-descriptors@1.0.2: 3869 + dependencies: 3870 + es-define-property: 1.0.1 3871 + 3872 + has-proto@1.2.0: 3873 + dependencies: 3874 + dunder-proto: 1.0.1 3875 + 3876 + has-symbols@1.1.0: {} 3877 + 3878 + has-tostringtag@1.0.2: 3879 + dependencies: 3880 + has-symbols: 1.1.0 3881 + 3882 + hasown@2.0.2: 3883 + dependencies: 3884 + function-bind: 1.1.2 3885 + 3886 + hosted-git-info@2.8.9: {} 3887 + 3888 + human-id@4.1.1: {} 3889 + 3890 + human-signals@4.3.1: {} 3891 + 3892 + human-signals@5.0.0: {} 3893 + 3894 + husky-v4@4.3.8: 3895 + dependencies: 3896 + chalk: 4.1.2 3897 + ci-info: 2.0.0 3898 + compare-versions: 3.6.0 3899 + cosmiconfig: 7.1.0 3900 + find-versions: 4.0.0 3901 + opencollective-postinstall: 2.0.3 3902 + pkg-dir: 5.0.0 3903 + please-upgrade-node: 3.2.0 3904 + slash: 3.0.0 3905 + which-pm-runs: 1.1.0 3906 + 3907 + iconv-lite@0.6.3: 3908 + dependencies: 3909 + safer-buffer: 2.1.2 3910 + 3911 + ignore@5.3.2: {} 3912 + 3913 + import-fresh@3.3.1: 3914 + dependencies: 3915 + parent-module: 1.0.1 3916 + resolve-from: 4.0.0 3917 + 3918 + imurmurhash@0.1.4: {} 3919 + 3920 + inflight@1.0.6: 3921 + dependencies: 3922 + once: 1.4.0 3923 + wrappy: 1.0.2 3924 + 3925 + inherits@2.0.4: {} 3926 + 3927 + internal-slot@1.1.0: 3928 + dependencies: 3929 + es-errors: 1.3.0 3930 + hasown: 2.0.2 3931 + side-channel: 1.1.0 3932 + 3933 + interpret@1.4.0: {} 3934 + 3935 + is-array-buffer@3.0.5: 3936 + dependencies: 3937 + call-bind: 1.0.8 3938 + call-bound: 1.0.4 3939 + get-intrinsic: 1.3.0 3940 + 3941 + is-arrayish@0.2.1: {} 3942 + 3943 + is-async-function@2.1.1: 3944 + dependencies: 3945 + async-function: 1.0.0 3946 + call-bound: 1.0.4 3947 + get-proto: 1.0.1 3948 + has-tostringtag: 1.0.2 3949 + safe-regex-test: 1.1.0 3950 + 3951 + is-bigint@1.1.0: 3952 + dependencies: 3953 + has-bigints: 1.1.0 3954 + 3955 + is-boolean-object@1.2.2: 3956 + dependencies: 3957 + call-bound: 1.0.4 3958 + has-tostringtag: 1.0.2 3959 + 3960 + is-callable@1.2.7: {} 3961 + 3962 + is-core-module@2.16.1: 3963 + dependencies: 3964 + hasown: 2.0.2 3965 + 3966 + is-data-view@1.0.2: 3967 + dependencies: 3968 + call-bound: 1.0.4 3969 + get-intrinsic: 1.3.0 3970 + is-typed-array: 1.1.15 3971 + 3972 + is-date-object@1.1.0: 3973 + dependencies: 3974 + call-bound: 1.0.4 3975 + has-tostringtag: 1.0.2 3976 + 3977 + is-extglob@2.1.1: {} 3978 + 3979 + is-finalizationregistry@1.1.1: 3980 + dependencies: 3981 + call-bound: 1.0.4 3982 + 3983 + is-fullwidth-code-point@3.0.0: {} 3984 + 3985 + is-fullwidth-code-point@4.0.0: {} 3986 + 3987 + is-generator-function@1.1.0: 3988 + dependencies: 3989 + call-bound: 1.0.4 3990 + get-proto: 1.0.1 3991 + has-tostringtag: 1.0.2 3992 + safe-regex-test: 1.1.0 3993 + 3994 + is-glob@4.0.3: 3995 + dependencies: 3996 + is-extglob: 2.1.1 3997 + 3998 + is-map@2.0.3: {} 3999 + 4000 + is-module@1.0.0: {} 4001 + 4002 + is-number-object@1.1.1: 4003 + dependencies: 4004 + call-bound: 1.0.4 4005 + has-tostringtag: 1.0.2 4006 + 4007 + is-number@7.0.0: {} 4008 + 4009 + is-path-inside@3.0.3: {} 4010 + 4011 + is-reference@1.2.1: 4012 + dependencies: 4013 + '@types/estree': 1.0.6 4014 + 4015 + is-regex@1.2.1: 4016 + dependencies: 4017 + call-bound: 1.0.4 4018 + gopd: 1.2.0 4019 + has-tostringtag: 1.0.2 4020 + hasown: 2.0.2 4021 + 4022 + is-set@2.0.3: {} 4023 + 4024 + is-shared-array-buffer@1.0.4: 4025 + dependencies: 4026 + call-bound: 1.0.4 4027 + 4028 + is-stream@3.0.0: {} 4029 + 4030 + is-string@1.1.1: 4031 + dependencies: 4032 + call-bound: 1.0.4 4033 + has-tostringtag: 1.0.2 4034 + 4035 + is-subdir@1.2.0: 4036 + dependencies: 4037 + better-path-resolve: 1.0.0 4038 + 4039 + is-symbol@1.1.1: 4040 + dependencies: 4041 + call-bound: 1.0.4 4042 + has-symbols: 1.1.0 4043 + safe-regex-test: 1.1.0 4044 + 4045 + is-typed-array@1.1.15: 4046 + dependencies: 4047 + which-typed-array: 1.1.18 4048 + 4049 + is-weakmap@2.0.2: {} 4050 + 4051 + is-weakref@1.1.1: 4052 + dependencies: 4053 + call-bound: 1.0.4 4054 + 4055 + is-weakset@2.0.4: 4056 + dependencies: 4057 + call-bound: 1.0.4 4058 + get-intrinsic: 1.3.0 4059 + 4060 + is-windows@1.0.2: {} 4061 + 4062 + isarray@2.0.5: {} 4063 + 4064 + isexe@2.0.0: {} 4065 + 4066 + jackspeak@3.4.3: 4067 + dependencies: 4068 + '@isaacs/cliui': 8.0.2 4069 + optionalDependencies: 4070 + '@pkgjs/parseargs': 0.11.0 4071 + 4072 + jju@1.4.0: {} 4073 + 4074 + js-tokens@4.0.0: {} 4075 + 4076 + js-tokens@9.0.1: {} 4077 + 4078 + js-yaml@3.14.1: 4079 + dependencies: 4080 + argparse: 1.0.10 4081 + esprima: 4.0.1 4082 + 4083 + js-yaml@4.1.0: 4084 + dependencies: 4085 + argparse: 2.0.1 4086 + 4087 + jsesc@0.5.0: {} 4088 + 4089 + json-buffer@3.0.1: {} 4090 + 4091 + json-parse-better-errors@1.0.2: {} 4092 + 4093 + json-parse-even-better-errors@2.3.1: {} 4094 + 4095 + json-schema-traverse@0.4.1: {} 4096 + 4097 + json-stable-stringify-without-jsonify@1.0.1: {} 4098 + 4099 + jsonfile@4.0.0: 4100 + optionalDependencies: 4101 + graceful-fs: 4.2.11 4102 + 4103 + keyv@4.5.4: 4104 + dependencies: 4105 + json-buffer: 3.0.1 4106 + 4107 + levn@0.4.1: 4108 + dependencies: 4109 + prelude-ls: 1.2.1 4110 + type-check: 0.4.0 4111 + 4112 + lilconfig@2.1.0: {} 4113 + 4114 + lines-and-columns@1.2.4: {} 4115 + 4116 + lint-staged@13.3.0(enquirer@2.4.1): 4117 + dependencies: 4118 + chalk: 5.3.0 4119 + commander: 11.0.0 4120 + debug: 4.3.4 4121 + execa: 7.2.0 4122 + lilconfig: 2.1.0 4123 + listr2: 6.6.1(enquirer@2.4.1) 4124 + micromatch: 4.0.5 4125 + pidtree: 0.6.0 4126 + string-argv: 0.3.2 4127 + yaml: 2.3.1 4128 + transitivePeerDependencies: 4129 + - enquirer 4130 + - supports-color 4131 + 4132 + listr2@6.6.1(enquirer@2.4.1): 4133 + dependencies: 4134 + cli-truncate: 3.1.0 4135 + colorette: 2.0.20 4136 + eventemitter3: 5.0.1 4137 + log-update: 5.0.1 4138 + rfdc: 1.4.1 4139 + wrap-ansi: 8.1.0 4140 + optionalDependencies: 4141 + enquirer: 2.4.1 4142 + 4143 + load-json-file@4.0.0: 4144 + dependencies: 4145 + graceful-fs: 4.2.11 4146 + parse-json: 4.0.0 4147 + pify: 3.0.0 4148 + strip-bom: 3.0.0 4149 + 4150 + local-pkg@0.5.1: 4151 + dependencies: 4152 + mlly: 1.7.4 4153 + pkg-types: 1.3.1 4154 + 4155 + locate-path@5.0.0: 4156 + dependencies: 4157 + p-locate: 4.1.0 4158 + 4159 + locate-path@6.0.0: 4160 + dependencies: 4161 + p-locate: 5.0.0 4162 + 4163 + lodash.merge@4.6.2: {} 4164 + 4165 + lodash.startcase@4.4.0: {} 4166 + 4167 + lodash@4.17.21: {} 4168 + 4169 + log-update@5.0.1: 4170 + dependencies: 4171 + ansi-escapes: 5.0.0 4172 + cli-cursor: 4.0.0 4173 + slice-ansi: 5.0.0 4174 + strip-ansi: 7.1.0 4175 + wrap-ansi: 8.1.0 4176 + 4177 + loupe@2.3.7: 4178 + dependencies: 4179 + get-func-name: 2.0.2 4180 + 4181 + lru-cache@10.4.3: {} 4182 + 4183 + magic-string@0.25.9: 4184 + dependencies: 4185 + sourcemap-codec: 1.4.8 4186 + 4187 + magic-string@0.27.0: 4188 + dependencies: 4189 + '@jridgewell/sourcemap-codec': 1.5.0 4190 + 4191 + magic-string@0.30.17: 4192 + dependencies: 4193 + '@jridgewell/sourcemap-codec': 1.5.0 4194 + 4195 + math-intrinsics@1.1.0: {} 4196 + 4197 + memorystream@0.3.1: {} 4198 + 4199 + merge-stream@2.0.0: {} 4200 + 4201 + merge2@1.4.1: {} 4202 + 4203 + micromatch@4.0.5: 4204 + dependencies: 4205 + braces: 3.0.3 4206 + picomatch: 2.3.1 4207 + 4208 + micromatch@4.0.8: 4209 + dependencies: 4210 + braces: 3.0.3 4211 + picomatch: 2.3.1 4212 + 4213 + mimic-fn@2.1.0: {} 4214 + 4215 + mimic-fn@4.0.0: {} 4216 + 4217 + minimatch@3.1.2: 4218 + dependencies: 4219 + brace-expansion: 1.1.11 4220 + 4221 + minimatch@5.1.6: 4222 + dependencies: 4223 + brace-expansion: 2.0.1 4224 + 4225 + minimatch@9.0.5: 4226 + dependencies: 4227 + brace-expansion: 2.0.1 4228 + 4229 + minimist@1.2.8: {} 4230 + 4231 + minipass@7.1.2: {} 4232 + 4233 + mlly@1.7.4: 4234 + dependencies: 4235 + acorn: 8.14.0 4236 + pathe: 2.0.3 4237 + pkg-types: 1.3.1 4238 + ufo: 1.5.4 4239 + 4240 + mri@1.2.0: {} 4241 + 4242 + ms@2.1.2: {} 4243 + 4244 + ms@2.1.3: {} 4245 + 4246 + mz@2.7.0: 4247 + dependencies: 4248 + any-promise: 1.3.0 4249 + object-assign: 4.1.1 4250 + thenify-all: 1.6.0 4251 + 4252 + nanoid@3.3.8: {} 4253 + 4254 + natural-compare-lite@1.4.0: {} 4255 + 4256 + natural-compare@1.4.0: {} 4257 + 4258 + nice-try@1.0.5: {} 4259 + 4260 + node-fetch@2.7.0: 4261 + dependencies: 4262 + whatwg-url: 5.0.0 4263 + 4264 + normalize-package-data@2.5.0: 4265 + dependencies: 4266 + hosted-git-info: 2.8.9 4267 + resolve: 1.22.10 4268 + semver: 5.7.2 4269 + validate-npm-package-license: 3.0.4 4270 + 4271 + npm-run-all@4.1.5: 4272 + dependencies: 4273 + ansi-styles: 3.2.1 4274 + chalk: 2.4.2 4275 + cross-spawn: 6.0.6 4276 + memorystream: 0.3.1 4277 + minimatch: 3.1.2 4278 + pidtree: 0.3.1 4279 + read-pkg: 3.0.0 4280 + shell-quote: 1.8.2 4281 + string.prototype.padend: 3.1.6 4282 + 4283 + npm-run-path@5.3.0: 4284 + dependencies: 4285 + path-key: 4.0.0 4286 + 4287 + object-assign@4.1.1: {} 4288 + 4289 + object-inspect@1.13.4: {} 4290 + 4291 + object-keys@1.1.1: {} 4292 + 4293 + object.assign@4.1.7: 4294 + dependencies: 4295 + call-bind: 1.0.8 4296 + call-bound: 1.0.4 4297 + define-properties: 1.2.1 4298 + es-object-atoms: 1.1.1 4299 + has-symbols: 1.1.0 4300 + object-keys: 1.1.1 4301 + 4302 + once@1.4.0: 4303 + dependencies: 4304 + wrappy: 1.0.2 4305 + 4306 + onetime@5.1.2: 4307 + dependencies: 4308 + mimic-fn: 2.1.0 4309 + 4310 + onetime@6.0.0: 4311 + dependencies: 4312 + mimic-fn: 4.0.0 4313 + 4314 + opencollective-postinstall@2.0.3: {} 4315 + 4316 + optionator@0.9.4: 4317 + dependencies: 4318 + deep-is: 0.1.4 4319 + fast-levenshtein: 2.0.6 4320 + levn: 0.4.1 4321 + prelude-ls: 1.2.1 4322 + type-check: 0.4.0 4323 + word-wrap: 1.2.5 4324 + 4325 + outdent@0.5.0: {} 4326 + 4327 + own-keys@1.0.1: 4328 + dependencies: 4329 + get-intrinsic: 1.3.0 4330 + object-keys: 1.1.1 4331 + safe-push-apply: 1.0.0 4332 + 4333 + p-filter@2.1.0: 4334 + dependencies: 4335 + p-map: 2.1.0 4336 + 4337 + p-limit@2.3.0: 4338 + dependencies: 4339 + p-try: 2.2.0 4340 + 4341 + p-limit@3.1.0: 4342 + dependencies: 4343 + yocto-queue: 0.1.0 4344 + 4345 + p-limit@5.0.0: 4346 + dependencies: 4347 + yocto-queue: 1.1.1 4348 + 4349 + p-locate@4.1.0: 4350 + dependencies: 4351 + p-limit: 2.3.0 4352 + 4353 + p-locate@5.0.0: 4354 + dependencies: 4355 + p-limit: 3.1.0 4356 + 4357 + p-map@2.1.0: {} 4358 + 4359 + p-try@2.2.0: {} 4360 + 4361 + package-json-from-dist@1.0.1: {} 4362 + 4363 + package-manager-detector@0.2.11: 4364 + dependencies: 4365 + quansync: 0.2.8 4366 + 4367 + parent-module@1.0.1: 4368 + dependencies: 4369 + callsites: 3.1.0 4370 + 4371 + parse-json@4.0.0: 4372 + dependencies: 4373 + error-ex: 1.3.2 4374 + json-parse-better-errors: 1.0.2 4375 + 4376 + parse-json@5.2.0: 4377 + dependencies: 4378 + '@babel/code-frame': 7.26.2 4379 + error-ex: 1.3.2 4380 + json-parse-even-better-errors: 2.3.1 4381 + lines-and-columns: 1.2.4 4382 + 4383 + path-exists@4.0.0: {} 4384 + 4385 + path-is-absolute@1.0.1: {} 4386 + 4387 + path-key@2.0.1: {} 4388 + 4389 + path-key@3.1.1: {} 4390 + 4391 + path-key@4.0.0: {} 4392 + 4393 + path-parse@1.0.7: {} 4394 + 4395 + path-scurry@1.11.1: 4396 + dependencies: 4397 + lru-cache: 10.4.3 4398 + minipass: 7.1.2 4399 + 4400 + path-type@3.0.0: 4401 + dependencies: 4402 + pify: 3.0.0 4403 + 4404 + path-type@4.0.0: {} 4405 + 4406 + pathe@1.1.2: {} 4407 + 4408 + pathe@2.0.3: {} 4409 + 4410 + pathval@1.1.1: {} 4411 + 4412 + picocolors@1.1.1: {} 4413 + 4414 + picomatch@2.3.1: {} 4415 + 4416 + picomatch@4.0.2: {} 4417 + 4418 + pidtree@0.3.1: {} 4419 + 4420 + pidtree@0.6.0: {} 4421 + 4422 + pify@3.0.0: {} 4423 + 4424 + pify@4.0.1: {} 4425 + 4426 + pirates@4.0.6: {} 4427 + 4428 + pkg-dir@5.0.0: 4429 + dependencies: 4430 + find-up: 5.0.0 4431 + 4432 + pkg-types@1.3.1: 4433 + dependencies: 4434 + confbox: 0.1.8 4435 + mlly: 1.7.4 4436 + pathe: 2.0.3 4437 + 4438 + please-upgrade-node@3.2.0: 4439 + dependencies: 4440 + semver-compare: 1.0.0 4441 + 4442 + possible-typed-array-names@1.1.0: {} 4443 + 4444 + postcss@8.5.3: 4445 + dependencies: 4446 + nanoid: 3.3.8 4447 + picocolors: 1.1.1 4448 + source-map-js: 1.2.1 4449 + 4450 + prelude-ls@1.2.1: {} 4451 + 4452 + prettier-linter-helpers@1.0.0: 4453 + dependencies: 4454 + fast-diff: 1.3.0 4455 + 4456 + prettier@2.8.8: {} 4457 + 4458 + pretty-format@29.7.0: 4459 + dependencies: 4460 + '@jest/schemas': 29.6.3 4461 + ansi-styles: 5.2.0 4462 + react-is: 18.3.1 4463 + 4464 + punycode@2.3.1: {} 4465 + 4466 + quansync@0.2.8: {} 4467 + 4468 + queue-microtask@1.2.3: {} 4469 + 4470 + react-is@18.3.1: {} 4471 + 4472 + read-pkg@3.0.0: 4473 + dependencies: 4474 + load-json-file: 4.0.0 4475 + normalize-package-data: 2.5.0 4476 + path-type: 3.0.0 4477 + 4478 + read-yaml-file@1.1.0: 4479 + dependencies: 4480 + graceful-fs: 4.2.11 4481 + js-yaml: 3.14.1 4482 + pify: 4.0.1 4483 + strip-bom: 3.0.0 4484 + 4485 + rechoir@0.6.2: 4486 + dependencies: 4487 + resolve: 1.22.10 4488 + 4489 + reflect.getprototypeof@1.0.10: 4490 + dependencies: 4491 + call-bind: 1.0.8 4492 + define-properties: 1.2.1 4493 + es-abstract: 1.23.9 4494 + es-errors: 1.3.0 4495 + es-object-atoms: 1.1.1 4496 + get-intrinsic: 1.3.0 4497 + get-proto: 1.0.1 4498 + which-builtin-type: 1.2.1 4499 + 4500 + regenerate-unicode-properties@8.2.0: 4501 + dependencies: 4502 + regenerate: 1.4.2 4503 + 4504 + regenerate@1.4.2: {} 4505 + 4506 + regenerator-runtime@0.14.1: {} 4507 + 4508 + regexp.prototype.flags@1.5.4: 4509 + dependencies: 4510 + call-bind: 1.0.8 4511 + define-properties: 1.2.1 4512 + es-errors: 1.3.0 4513 + get-proto: 1.0.1 4514 + gopd: 1.2.0 4515 + set-function-name: 2.0.2 4516 + 4517 + regexpu-core@4.5.4: 4518 + dependencies: 4519 + regenerate: 1.4.2 4520 + regenerate-unicode-properties: 8.2.0 4521 + regjsgen: 0.5.2 4522 + regjsparser: 0.6.9 4523 + unicode-match-property-ecmascript: 1.0.4 4524 + unicode-match-property-value-ecmascript: 1.2.0 4525 + 4526 + regjsgen@0.5.2: {} 4527 + 4528 + regjsparser@0.6.9: 4529 + dependencies: 4530 + jsesc: 0.5.0 4531 + 4532 + resolve-from@4.0.0: {} 4533 + 4534 + resolve-from@5.0.0: {} 4535 + 4536 + resolve@1.19.0: 4537 + dependencies: 4538 + is-core-module: 2.16.1 4539 + path-parse: 1.0.7 4540 + 4541 + resolve@1.22.10: 4542 + dependencies: 4543 + is-core-module: 2.16.1 4544 + path-parse: 1.0.7 4545 + supports-preserve-symlinks-flag: 1.0.0 4546 + 4547 + restore-cursor@4.0.0: 4548 + dependencies: 4549 + onetime: 5.1.2 4550 + signal-exit: 3.0.7 4551 + 4552 + reusify@1.1.0: {} 4553 + 4554 + rfdc@1.4.1: {} 4555 + 4556 + rimraf@3.0.2: 4557 + dependencies: 4558 + glob: 7.2.3 4559 + 4560 + rollup-plugin-cjs-check@1.0.3(rollup@3.29.5): 4561 + dependencies: 4562 + '@rollup/pluginutils': 5.1.4(rollup@3.29.5) 4563 + cjs-module-lexer: 1.4.3 4564 + rollup: 3.29.5 4565 + 4566 + rollup-plugin-dts@5.3.1(rollup@3.29.5)(typescript@4.9.5): 4567 + dependencies: 4568 + magic-string: 0.30.17 4569 + rollup: 3.29.5 4570 + typescript: 4.9.5 4571 + optionalDependencies: 4572 + '@babel/code-frame': 7.26.2 4573 + 4574 + rollup@3.29.5: 4575 + optionalDependencies: 4576 + fsevents: 2.3.3 4577 + 4578 + rollup@4.34.9: 4579 + dependencies: 4580 + '@types/estree': 1.0.6 4581 + optionalDependencies: 4582 + '@rollup/rollup-android-arm-eabi': 4.34.9 4583 + '@rollup/rollup-android-arm64': 4.34.9 4584 + '@rollup/rollup-darwin-arm64': 4.34.9 4585 + '@rollup/rollup-darwin-x64': 4.34.9 4586 + '@rollup/rollup-freebsd-arm64': 4.34.9 4587 + '@rollup/rollup-freebsd-x64': 4.34.9 4588 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.9 4589 + '@rollup/rollup-linux-arm-musleabihf': 4.34.9 4590 + '@rollup/rollup-linux-arm64-gnu': 4.34.9 4591 + '@rollup/rollup-linux-arm64-musl': 4.34.9 4592 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.9 4593 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.9 4594 + '@rollup/rollup-linux-riscv64-gnu': 4.34.9 4595 + '@rollup/rollup-linux-s390x-gnu': 4.34.9 4596 + '@rollup/rollup-linux-x64-gnu': 4.34.9 4597 + '@rollup/rollup-linux-x64-musl': 4.34.9 4598 + '@rollup/rollup-win32-arm64-msvc': 4.34.9 4599 + '@rollup/rollup-win32-ia32-msvc': 4.34.9 4600 + '@rollup/rollup-win32-x64-msvc': 4.34.9 4601 + fsevents: 2.3.3 4602 + 4603 + run-parallel@1.2.0: 4604 + dependencies: 4605 + queue-microtask: 1.2.3 4606 + 4607 + safe-array-concat@1.1.3: 4608 + dependencies: 4609 + call-bind: 1.0.8 4610 + call-bound: 1.0.4 4611 + get-intrinsic: 1.3.0 4612 + has-symbols: 1.1.0 4613 + isarray: 2.0.5 4614 + 4615 + safe-push-apply@1.0.0: 4616 + dependencies: 4617 + es-errors: 1.3.0 4618 + isarray: 2.0.5 4619 + 4620 + safe-regex-test@1.1.0: 4621 + dependencies: 4622 + call-bound: 1.0.4 4623 + es-errors: 1.3.0 4624 + is-regex: 1.2.1 4625 + 4626 + safer-buffer@2.1.2: {} 4627 + 4628 + semver-compare@1.0.0: {} 4629 + 4630 + semver-regex@3.1.4: {} 4631 + 4632 + semver@5.7.2: {} 4633 + 4634 + semver@7.7.1: {} 4635 + 4636 + set-function-length@1.2.2: 4637 + dependencies: 4638 + define-data-property: 1.1.4 4639 + es-errors: 1.3.0 4640 + function-bind: 1.1.2 4641 + get-intrinsic: 1.3.0 4642 + gopd: 1.2.0 4643 + has-property-descriptors: 1.0.2 4644 + 4645 + set-function-name@2.0.2: 4646 + dependencies: 4647 + define-data-property: 1.1.4 4648 + es-errors: 1.3.0 4649 + functions-have-names: 1.2.3 4650 + has-property-descriptors: 1.0.2 4651 + 4652 + set-proto@1.0.0: 4653 + dependencies: 4654 + dunder-proto: 1.0.1 4655 + es-errors: 1.3.0 4656 + es-object-atoms: 1.1.1 4657 + 4658 + shebang-command@1.2.0: 4659 + dependencies: 4660 + shebang-regex: 1.0.0 4661 + 4662 + shebang-command@2.0.0: 4663 + dependencies: 4664 + shebang-regex: 3.0.0 4665 + 4666 + shebang-regex@1.0.0: {} 4667 + 4668 + shebang-regex@3.0.0: {} 4669 + 4670 + shell-quote@1.8.2: {} 4671 + 4672 + shelljs@0.8.5: 4673 + dependencies: 4674 + glob: 7.2.3 4675 + interpret: 1.4.0 4676 + rechoir: 0.6.2 4677 + 4678 + side-channel-list@1.0.0: 4679 + dependencies: 4680 + es-errors: 1.3.0 4681 + object-inspect: 1.13.4 4682 + 4683 + side-channel-map@1.0.1: 4684 + dependencies: 4685 + call-bound: 1.0.4 4686 + es-errors: 1.3.0 4687 + get-intrinsic: 1.3.0 4688 + object-inspect: 1.13.4 4689 + 4690 + side-channel-weakmap@1.0.2: 4691 + dependencies: 4692 + call-bound: 1.0.4 4693 + es-errors: 1.3.0 4694 + get-intrinsic: 1.3.0 4695 + object-inspect: 1.13.4 4696 + side-channel-map: 1.0.1 4697 + 4698 + side-channel@1.1.0: 4699 + dependencies: 4700 + es-errors: 1.3.0 4701 + object-inspect: 1.13.4 4702 + side-channel-list: 1.0.0 4703 + side-channel-map: 1.0.1 4704 + side-channel-weakmap: 1.0.2 4705 + 4706 + siginfo@2.0.0: {} 4707 + 4708 + signal-exit@3.0.7: {} 4709 + 4710 + signal-exit@4.1.0: {} 4711 + 4712 + slash@3.0.0: {} 4713 + 4714 + slice-ansi@5.0.0: 4715 + dependencies: 4716 + ansi-styles: 6.2.1 4717 + is-fullwidth-code-point: 4.0.0 4718 + 4719 + source-map-js@1.2.1: {} 4720 + 4721 + source-map-support@0.5.21: 4722 + dependencies: 4723 + buffer-from: 1.1.2 4724 + source-map: 0.6.1 4725 + 4726 + source-map@0.6.1: {} 4727 + 4728 + sourcemap-codec@1.4.8: {} 4729 + 4730 + spawndamnit@3.0.1: 4731 + dependencies: 4732 + cross-spawn: 7.0.6 4733 + signal-exit: 4.1.0 4734 + 4735 + spdx-correct@3.2.0: 4736 + dependencies: 4737 + spdx-expression-parse: 3.0.1 4738 + spdx-license-ids: 3.0.21 4739 + 4740 + spdx-exceptions@2.5.0: {} 4741 + 4742 + spdx-expression-parse@3.0.1: 4743 + dependencies: 4744 + spdx-exceptions: 2.5.0 4745 + spdx-license-ids: 3.0.21 4746 + 4747 + spdx-license-ids@3.0.21: {} 4748 + 4749 + sprintf-js@1.0.3: {} 4750 + 4751 + stackback@0.0.2: {} 4752 + 4753 + std-env@3.8.1: {} 4754 + 4755 + string-argv@0.3.2: {} 4756 + 4757 + string-width@4.2.3: 4758 + dependencies: 4759 + emoji-regex: 8.0.0 4760 + is-fullwidth-code-point: 3.0.0 4761 + strip-ansi: 6.0.1 4762 + 4763 + string-width@5.1.2: 4764 + dependencies: 4765 + eastasianwidth: 0.2.0 4766 + emoji-regex: 9.2.2 4767 + strip-ansi: 7.1.0 4768 + 4769 + string.prototype.padend@3.1.6: 4770 + dependencies: 4771 + call-bind: 1.0.8 4772 + define-properties: 1.2.1 4773 + es-abstract: 1.23.9 4774 + es-object-atoms: 1.1.1 4775 + 4776 + string.prototype.trim@1.2.10: 4777 + dependencies: 4778 + call-bind: 1.0.8 4779 + call-bound: 1.0.4 4780 + define-data-property: 1.1.4 4781 + define-properties: 1.2.1 4782 + es-abstract: 1.23.9 4783 + es-object-atoms: 1.1.1 4784 + has-property-descriptors: 1.0.2 4785 + 4786 + string.prototype.trimend@1.0.9: 4787 + dependencies: 4788 + call-bind: 1.0.8 4789 + call-bound: 1.0.4 4790 + define-properties: 1.2.1 4791 + es-object-atoms: 1.1.1 4792 + 4793 + string.prototype.trimstart@1.0.8: 4794 + dependencies: 4795 + call-bind: 1.0.8 4796 + define-properties: 1.2.1 4797 + es-object-atoms: 1.1.1 4798 + 4799 + strip-ansi@6.0.1: 4800 + dependencies: 4801 + ansi-regex: 5.0.1 4802 + 4803 + strip-ansi@7.1.0: 4804 + dependencies: 4805 + ansi-regex: 6.1.0 4806 + 4807 + strip-bom@3.0.0: {} 4808 + 4809 + strip-final-newline@3.0.0: {} 4810 + 4811 + strip-json-comments@3.1.1: {} 4812 + 4813 + strip-literal@2.1.1: 4814 + dependencies: 4815 + js-tokens: 9.0.1 4816 + 4817 + sucrase@3.35.0: 4818 + dependencies: 4819 + '@jridgewell/gen-mapping': 0.3.8 4820 + commander: 4.1.1 4821 + glob: 10.4.5 4822 + lines-and-columns: 1.2.4 4823 + mz: 2.7.0 4824 + pirates: 4.0.6 4825 + ts-interface-checker: 0.1.13 4826 + 4827 + supports-color@5.5.0: 4828 + dependencies: 4829 + has-flag: 3.0.0 4830 + 4831 + supports-color@7.2.0: 4832 + dependencies: 4833 + has-flag: 4.0.0 4834 + 4835 + supports-preserve-symlinks-flag@1.0.0: {} 4836 + 4837 + term-size@2.2.1: {} 4838 + 4839 + terser@5.39.0: 4840 + dependencies: 4841 + '@jridgewell/source-map': 0.3.6 4842 + acorn: 8.14.0 4843 + commander: 2.20.3 4844 + source-map-support: 0.5.21 4845 + 4846 + text-table@0.2.0: {} 4847 + 4848 + thenify-all@1.6.0: 4849 + dependencies: 4850 + thenify: 3.3.1 4851 + 4852 + thenify@3.3.1: 4853 + dependencies: 4854 + any-promise: 1.3.0 4855 + 4856 + tinybench@2.9.0: {} 4857 + 4858 + tinypool@0.8.4: {} 4859 + 4860 + tinyspy@2.2.1: {} 4861 + 4862 + to-regex-range@5.0.1: 4863 + dependencies: 4864 + is-number: 7.0.0 4865 + 4866 + tr46@0.0.3: {} 4867 + 4868 + ts-interface-checker@0.1.13: {} 4869 + 4870 + tslib@1.14.1: {} 4871 + 4872 + tslib@2.8.1: {} 4873 + 4874 + tsutils@3.21.0(typescript@4.9.5): 4875 + dependencies: 4876 + tslib: 1.14.1 4877 + typescript: 4.9.5 4878 + 4879 + type-check@0.4.0: 4880 + dependencies: 4881 + prelude-ls: 1.2.1 4882 + 4883 + type-detect@4.1.0: {} 4884 + 4885 + type-fest@0.20.2: {} 4886 + 4887 + type-fest@1.4.0: {} 4888 + 4889 + typed-array-buffer@1.0.3: 4890 + dependencies: 4891 + call-bound: 1.0.4 4892 + es-errors: 1.3.0 4893 + is-typed-array: 1.1.15 4894 + 4895 + typed-array-byte-length@1.0.3: 4896 + dependencies: 4897 + call-bind: 1.0.8 4898 + for-each: 0.3.5 4899 + gopd: 1.2.0 4900 + has-proto: 1.2.0 4901 + is-typed-array: 1.1.15 4902 + 4903 + typed-array-byte-offset@1.0.4: 4904 + dependencies: 4905 + available-typed-arrays: 1.0.7 4906 + call-bind: 1.0.8 4907 + for-each: 0.3.5 4908 + gopd: 1.2.0 4909 + has-proto: 1.2.0 4910 + is-typed-array: 1.1.15 4911 + reflect.getprototypeof: 1.0.10 4912 + 4913 + typed-array-length@1.0.7: 4914 + dependencies: 4915 + call-bind: 1.0.8 4916 + for-each: 0.3.5 4917 + gopd: 1.2.0 4918 + is-typed-array: 1.1.15 4919 + possible-typed-array-names: 1.1.0 4920 + reflect.getprototypeof: 1.0.10 4921 + 4922 + typescript-compiler@1.4.1-2: {} 4923 + 4924 + typescript@4.4.4: {} 4925 + 4926 + typescript@4.9.5: {} 4927 + 4928 + ufo@1.5.4: {} 4929 + 4930 + unbox-primitive@1.1.0: 4931 + dependencies: 4932 + call-bound: 1.0.4 4933 + has-bigints: 1.1.0 4934 + has-symbols: 1.1.0 4935 + which-boxed-primitive: 1.1.1 4936 + 4937 + undici-types@6.20.0: 4938 + optional: true 4939 + 4940 + unicode-canonical-property-names-ecmascript@1.0.4: {} 4941 + 4942 + unicode-match-property-ecmascript@1.0.4: 4943 + dependencies: 4944 + unicode-canonical-property-names-ecmascript: 1.0.4 4945 + unicode-property-aliases-ecmascript: 1.1.0 4946 + 4947 + unicode-match-property-value-ecmascript@1.2.0: {} 4948 + 4949 + unicode-property-aliases-ecmascript@1.1.0: {} 4950 + 4951 + universalify@0.1.2: {} 4952 + 4953 + uri-js@4.4.1: 4954 + dependencies: 4955 + punycode: 2.3.1 4956 + 4957 + validate-npm-package-license@3.0.4: 4958 + dependencies: 4959 + spdx-correct: 3.2.0 4960 + spdx-expression-parse: 3.0.1 4961 + 4962 + vite-node@1.6.1(@types/node@22.13.9)(terser@5.39.0): 4963 + dependencies: 4964 + cac: 6.7.14 4965 + debug: 4.4.0 4966 + pathe: 1.1.2 4967 + picocolors: 1.1.1 4968 + vite: 5.4.14(@types/node@22.13.9)(terser@5.39.0) 4969 + transitivePeerDependencies: 4970 + - '@types/node' 4971 + - less 4972 + - lightningcss 4973 + - sass 4974 + - sass-embedded 4975 + - stylus 4976 + - sugarss 4977 + - supports-color 4978 + - terser 4979 + 4980 + vite@5.4.14(@types/node@22.13.9)(terser@5.39.0): 4981 + dependencies: 4982 + esbuild: 0.21.5 4983 + postcss: 8.5.3 4984 + rollup: 4.34.9 4985 + optionalDependencies: 4986 + '@types/node': 22.13.9 4987 + fsevents: 2.3.3 4988 + terser: 5.39.0 4989 + 4990 + vitest@1.6.1(@types/node@22.13.9)(terser@5.39.0): 4991 + dependencies: 4992 + '@vitest/expect': 1.6.1 4993 + '@vitest/runner': 1.6.1 4994 + '@vitest/snapshot': 1.6.1 4995 + '@vitest/spy': 1.6.1 4996 + '@vitest/utils': 1.6.1 4997 + acorn-walk: 8.3.4 4998 + chai: 4.5.0 4999 + debug: 4.4.0 5000 + execa: 8.0.1 5001 + local-pkg: 0.5.1 5002 + magic-string: 0.30.17 5003 + pathe: 1.1.2 5004 + picocolors: 1.1.1 5005 + std-env: 3.8.1 5006 + strip-literal: 2.1.1 5007 + tinybench: 2.9.0 5008 + tinypool: 0.8.4 5009 + vite: 5.4.14(@types/node@22.13.9)(terser@5.39.0) 5010 + vite-node: 1.6.1(@types/node@22.13.9)(terser@5.39.0) 5011 + why-is-node-running: 2.3.0 5012 + optionalDependencies: 5013 + '@types/node': 22.13.9 5014 + transitivePeerDependencies: 5015 + - less 5016 + - lightningcss 5017 + - sass 5018 + - sass-embedded 5019 + - stylus 5020 + - sugarss 5021 + - supports-color 5022 + - terser 5023 + 5024 + webidl-conversions@3.0.1: {} 5025 + 5026 + whatwg-url@5.0.0: 5027 + dependencies: 5028 + tr46: 0.0.3 5029 + webidl-conversions: 3.0.1 5030 + 5031 + which-boxed-primitive@1.1.1: 5032 + dependencies: 5033 + is-bigint: 1.1.0 5034 + is-boolean-object: 1.2.2 5035 + is-number-object: 1.1.1 5036 + is-string: 1.1.1 5037 + is-symbol: 1.1.1 5038 + 5039 + which-builtin-type@1.2.1: 5040 + dependencies: 5041 + call-bound: 1.0.4 5042 + function.prototype.name: 1.1.8 5043 + has-tostringtag: 1.0.2 5044 + is-async-function: 2.1.1 5045 + is-date-object: 1.1.0 5046 + is-finalizationregistry: 1.1.1 5047 + is-generator-function: 1.1.0 5048 + is-regex: 1.2.1 5049 + is-weakref: 1.1.1 5050 + isarray: 2.0.5 5051 + which-boxed-primitive: 1.1.1 5052 + which-collection: 1.0.2 5053 + which-typed-array: 1.1.18 5054 + 5055 + which-collection@1.0.2: 5056 + dependencies: 5057 + is-map: 2.0.3 5058 + is-set: 2.0.3 5059 + is-weakmap: 2.0.2 5060 + is-weakset: 2.0.4 5061 + 5062 + which-pm-runs@1.1.0: {} 5063 + 5064 + which-typed-array@1.1.18: 5065 + dependencies: 5066 + available-typed-arrays: 1.0.7 5067 + call-bind: 1.0.8 5068 + call-bound: 1.0.4 5069 + for-each: 0.3.5 5070 + gopd: 1.2.0 5071 + has-tostringtag: 1.0.2 5072 + 5073 + which@1.3.1: 5074 + dependencies: 5075 + isexe: 2.0.0 5076 + 5077 + which@2.0.2: 5078 + dependencies: 5079 + isexe: 2.0.0 5080 + 5081 + why-is-node-running@2.3.0: 5082 + dependencies: 5083 + siginfo: 2.0.0 5084 + stackback: 0.0.2 5085 + 5086 + word-wrap@1.2.5: {} 5087 + 5088 + wrap-ansi@7.0.0: 5089 + dependencies: 5090 + ansi-styles: 4.3.0 5091 + string-width: 4.2.3 5092 + strip-ansi: 6.0.1 5093 + 5094 + wrap-ansi@8.1.0: 5095 + dependencies: 5096 + ansi-styles: 6.2.1 5097 + string-width: 5.1.2 5098 + strip-ansi: 7.1.0 5099 + 5100 + wrappy@1.0.2: {} 5101 + 5102 + yaml@1.10.2: {} 5103 + 5104 + yaml@2.3.1: {} 5105 + 5106 + yocto-queue@0.1.0: {} 5107 + 5108 + yocto-queue@1.1.1: {} 5109 + 5110 + zen-observable@0.10.0: {}
-128
rollup.config.js
··· 1 - import commonjs from '@rollup/plugin-commonjs'; 2 - import resolve from '@rollup/plugin-node-resolve'; 3 - import typescript from '@rollup/plugin-typescript'; 4 - import buble from '@rollup/plugin-buble'; 5 - import { terser } from 'rollup-plugin-terser'; 6 - 7 - import flowTypings from './scripts/flow-typings-plugin'; 8 - 9 - const plugins = [ 10 - resolve({ 11 - extensions: ['.mjs', '.js', '.ts'], 12 - mainFields: ['module', 'jsnext', 'main'], 13 - preferBuiltins: false, 14 - browser: true, 15 - }), 16 - 17 - commonjs({ 18 - ignoreGlobal: true, 19 - include: /\/node_modules\//, 20 - extensions: ['.mjs', '.js', '.ts'], 21 - }), 22 - 23 - typescript({ 24 - typescript: require('typescript'), 25 - exclude: ['src/**/*.test.ts', '**/__tests__/*'], 26 - compilerOptions: { 27 - sourceMap: true, 28 - sourceRoot: './', 29 - noEmit: false, 30 - declaration: true, 31 - declarationDir: './dist/types/', 32 - target: 'esnext', 33 - }, 34 - }), 35 - 36 - flowTypings(), 37 - 38 - buble({ 39 - transforms: { 40 - unicodeRegExp: false, 41 - defaultParameter: false, 42 - dangerousForOf: true, 43 - dangerousTaggedTemplateString: true, 44 - destructuring: false, 45 - asyncAwait: false, 46 - arrow: false, 47 - classes: false, 48 - computedProperty: false, 49 - conciseMethodProperty: false, 50 - templateString: false, 51 - objectRestSpread: false, 52 - parameterDestructuring: false, 53 - spreadRest: false, 54 - }, 55 - exclude: 'node_modules/**', 56 - }), 57 - 58 - terser({ 59 - warnings: true, 60 - ecma: 2015, 61 - keep_fnames: true, 62 - ie8: false, 63 - compress: { 64 - pure_getters: true, 65 - toplevel: true, 66 - booleans_as_integers: false, 67 - keep_fnames: true, 68 - keep_fargs: true, 69 - if_return: false, 70 - ie8: false, 71 - sequences: false, 72 - loops: false, 73 - conditionals: false, 74 - join_vars: false, 75 - }, 76 - mangle: { 77 - module: true, 78 - keep_fnames: true, 79 - }, 80 - output: { 81 - beautify: true, 82 - braces: true, 83 - indent_level: 2, 84 - }, 85 - }), 86 - ]; 87 - 88 - const output = format => { 89 - const extension = format === 'esm' ? '.mjs' : '.js'; 90 - return { 91 - chunkFileNames: '[hash]' + extension, 92 - entryFileNames: '[name]' + extension, 93 - dir: './dist', 94 - exports: 'named', 95 - sourcemap: true, 96 - indent: false, 97 - freeze: false, 98 - strict: false, 99 - format, 100 - // NOTE: All below settings are important for cjs-module-lexer to detect the export 101 - // When this changes (and terser mangles the output) this will interfere with Node.js ESM intercompatibility 102 - esModule: format !== 'esm', 103 - externalLiveBindings: format !== 'esm', 104 - generatedCode: { 105 - preset: 'es5', 106 - reservedNamesAsProps: false, 107 - objectShorthand: false, 108 - constBindings: false, 109 - }, 110 - }; 111 - }; 112 - 113 - const config = { 114 - input: { 115 - wonka: './src/index.ts', 116 - }, 117 - onwarn: () => {}, 118 - external: () => false, 119 - plugins, 120 - treeshake: { 121 - unknownGlobalSideEffects: false, 122 - tryCatchDeoptimization: false, 123 - moduleSideEffects: false, 124 - }, 125 - output: [output('esm'), output('cjs')], 126 - }; 127 - 128 - export default config;
+125
scripts/changelog.js
··· 1 + const { config } = require('dotenv'); 2 + const { getInfo } = require('@changesets/get-github-info'); 3 + 4 + config(); 5 + 6 + const REPO = '0no-co/wonka'; 7 + const SEE_LINE = /^See:\s*(.*)/i; 8 + const TRAILING_CHAR = /[.;:]$/g; 9 + const listFormatter = new Intl.ListFormat('en-US'); 10 + 11 + const getSummaryLines = cs => { 12 + let lines = cs.summary.trim().split(/\r?\n/); 13 + if (!lines.some(line => /```/.test(line))) { 14 + lines = lines.map(l => l.trim()).filter(Boolean); 15 + const size = lines.length; 16 + if (size > 0) { 17 + lines[size - 1] = lines[size - 1].replace(TRAILING_CHAR, ''); 18 + } 19 + } 20 + return lines; 21 + }; 22 + 23 + /** Creates a "(See X)" string from a template */ 24 + const templateSeeRef = links => { 25 + const humanReadableLinks = links.filter(Boolean).map(link => { 26 + if (typeof link === 'string') return link; 27 + return link.pull || link.commit; 28 + }); 29 + 30 + const size = humanReadableLinks.length; 31 + if (size === 0) return ''; 32 + 33 + const str = listFormatter.format(humanReadableLinks); 34 + return `(See ${str})`; 35 + }; 36 + 37 + const changelogFunctions = { 38 + getDependencyReleaseLine: async (changesets, dependenciesUpdated) => { 39 + if (dependenciesUpdated.length === 0) return ''; 40 + 41 + const dependenciesLinks = await Promise.all( 42 + changesets.map(async cs => { 43 + if (!cs.commit) return undefined; 44 + 45 + const lines = getSummaryLines(cs); 46 + const prLine = lines.find(line => SEE_LINE.test(line)); 47 + if (prLine) { 48 + const match = prLine.match(SEE_LINE); 49 + return (match && match[1].trim()) || undefined; 50 + } 51 + 52 + const { links } = await getInfo({ 53 + repo: REPO, 54 + commit: cs.commit, 55 + }); 56 + 57 + return links; 58 + }) 59 + ); 60 + 61 + let changesetLink = '- Updated dependencies'; 62 + 63 + const seeRef = templateSeeRef(dependenciesLinks); 64 + if (seeRef) changesetLink += ` ${seeRef}`; 65 + 66 + const detailsLinks = dependenciesUpdated.map(dep => { 67 + return ` - ${dep.name}@${dep.newVersion}`; 68 + }); 69 + 70 + return [changesetLink, ...detailsLinks].join('\n'); 71 + }, 72 + getReleaseLine: async (changeset, type) => { 73 + let pull, commit, user; 74 + 75 + const lines = getSummaryLines(changeset); 76 + const prLineIndex = lines.findIndex(line => SEE_LINE.test(line)); 77 + if (prLineIndex > -1) { 78 + const match = lines[prLineIndex].match(SEE_LINE); 79 + pull = (match && match[1].trim()) || undefined; 80 + lines.splice(prLineIndex, 1); 81 + } 82 + 83 + const [firstLine, ...futureLines] = lines; 84 + 85 + if (changeset.commit && !pull) { 86 + const { links } = await getInfo({ 87 + repo: REPO, 88 + commit: changeset.commit, 89 + }); 90 + 91 + pull = links.pull || undefined; 92 + commit = links.commit || undefined; 93 + user = links.user || undefined; 94 + } 95 + 96 + let annotation = ''; 97 + if (type === 'patch' && /^\s*fix/i.test(firstLine)) { 98 + annotation = '⚠️ '; 99 + } 100 + 101 + let str = `- ${annotation}${firstLine}`; 102 + if (futureLines.length > 0) { 103 + str += `\n${futureLines.map(l => ` ${l}`).join('\n')}`; 104 + } 105 + 106 + const endsWithParagraph = /(?<=(?:[!;?.]|```) *)$/g; 107 + if (user && !endsWithParagraph) { 108 + str += `, by ${user}`; 109 + } else { 110 + str += `\nSubmitted by ${user}`; 111 + } 112 + 113 + if (pull || commit) { 114 + const seeRef = templateSeeRef([pull || commit]); 115 + if (seeRef) str += ` ${seeRef}`; 116 + } 117 + 118 + return str; 119 + }, 120 + }; 121 + 122 + module.exports = { 123 + ...changelogFunctions, 124 + default: changelogFunctions, 125 + };
+2 -13
scripts/eslint-preset.js
··· 7 7 }, 8 8 }, 9 9 extends: ['prettier'], 10 - plugins: ['prettier', 'jest'], 10 + plugins: ['prettier', 'tsdoc'], 11 11 ignorePatterns: ['node_modules/', 'dist/', 'coverage/', 'perf/'], 12 12 rules: { 13 13 'sort-keys': 'off', ··· 27 27 28 28 overrides: [ 29 29 { 30 - files: ['*.test.ts', '*.test.tsx', '*.spec.ts', '*.spec.tsx'], 31 - rules: { 32 - 'jest/no-disabled-tests': 'error', 33 - 'jest/no-focused-tests': 'error', 34 - 'jest/no-identical-title': 'warn', 35 - 'jest/consistent-test-it': ['warn', { fn: 'it' }], 36 - }, 37 - }, 38 - ], 39 - 40 - overrides: [ 41 - { 42 30 files: ['*.ts'], 43 31 parser: '@typescript-eslint/parser', 44 32 extends: ['plugin:@typescript-eslint/recommended', 'prettier'], ··· 59 47 '@typescript-eslint/no-empty-function': 'off', 60 48 '@typescript-eslint/no-unused-vars': 'off', 61 49 'prefer-rest-params': 'off', 50 + 'tsdoc/syntax': 'error', 62 51 }, 63 52 }, 64 53 ],
-24
scripts/flow-typings-plugin.js
··· 1 - import { resolve, basename, dirname, join } from 'path'; 2 - import { writeFileSync } from 'fs'; 3 - import { sync as glob } from 'glob'; 4 - import { compiler, beautify } from 'flowgen'; 5 - 6 - function flowTypings() { 7 - return { 8 - name: 'flow-typings', 9 - async writeBundle() { 10 - const cwd = process.cwd(); 11 - for (const file of glob('dist/types/**/*.d.ts')) { 12 - const fullpath = resolve(cwd, file); 13 - const flowdef = beautify(compiler.compileDefinitionFile(fullpath)); 14 - const name = basename(fullpath, '.d.ts'); 15 - const filepath = dirname(fullpath); 16 - const newpath = join(filepath, name + '.js.flow'); 17 - const definition = flowdef.replace(/import/g, 'import type'); 18 - writeFileSync(newpath, '// @flow\n\n' + definition); 19 - } 20 - }, 21 - }; 22 - } 23 - 24 - export default flowTypings;
+32
scripts/flow-typings-plugin.mjs
··· 1 + import { compiler, beautify } from 'flowgen'; 2 + 3 + function flowTypings() { 4 + return { 5 + name: 'flow-typings', 6 + async renderChunk(code, chunk) { 7 + if (chunk.fileName.endsWith('d.ts')) { 8 + // NOTE: Computed property names will be omitted 9 + code = code.replace(/\[Symbol\.\w+\][?()]*:(?:.*);\n?/g, ''); 10 + 11 + let flowdef = compiler.compileDefinitionString(code, { 12 + jsdoc: false, 13 + }); 14 + 15 + flowdef = beautify(flowdef); 16 + flowdef = flowdef.replace(/import/g, 'import type'); 17 + flowdef = `// @flow\n\n${flowdef}`; 18 + 19 + this.emitFile({ 20 + type: 'asset', 21 + name: chunk.name, 22 + fileName: `${chunk.name}.js.flow`, 23 + source: flowdef, 24 + }); 25 + } 26 + 27 + return null; 28 + }, 29 + }; 30 + } 31 + 32 + export default flowTypings;
+18
scripts/prepare.js
··· 1 + const path = require('path'); 2 + const fs = require('fs'); 3 + 4 + const hookSource = path.resolve(__dirname, '../node_modules/husky-v4/sh/husky.sh'); 5 + const hook = path.resolve(__dirname, '../.git/hooks/husky.sh'); 6 + const localHook = path.resolve(__dirname, '../.git/hooks/husky.local.sh'); 7 + const gitConfig = path.resolve(__dirname, '../.git/config'); 8 + 9 + let script = fs.readFileSync(hookSource, { encoding: 'utf-8' }); 10 + script = script.replace(`$(basename "$0")`, `$(basename "$0" .sh)`); 11 + 12 + let config = fs.readFileSync(gitConfig, { encoding: 'utf-8' }); 13 + config = config.replace(/\s*hooksPath\s*=\s*\.husky\n?/g, '\n'); 14 + 15 + fs.writeFileSync(hook, script); 16 + fs.writeFileSync(gitConfig, config); 17 + 18 + fs.writeFileSync(localHook, 'packageManager=yarn\n' + 'cd "."\n');
+179
scripts/rollup.config.mjs
··· 1 + import commonjs from '@rollup/plugin-commonjs'; 2 + import resolve from '@rollup/plugin-node-resolve'; 3 + import sucrase from '@rollup/plugin-sucrase'; 4 + import buble from '@rollup/plugin-buble'; 5 + import terser from '@rollup/plugin-terser'; 6 + import cjsCheck from 'rollup-plugin-cjs-check'; 7 + import dts from 'rollup-plugin-dts'; 8 + 9 + import flowTypings from './flow-typings-plugin.mjs'; 10 + import * as types from '../src/types.mjs'; 11 + 12 + const minify = terser({ 13 + warnings: true, 14 + ecma: 2015, 15 + keep_fnames: true, 16 + ie8: false, 17 + compress: { 18 + pure_getters: true, 19 + toplevel: true, 20 + booleans_as_integers: false, 21 + keep_fnames: true, 22 + keep_fargs: true, 23 + if_return: false, 24 + ie8: false, 25 + sequences: false, 26 + loops: false, 27 + conditionals: false, 28 + join_vars: false, 29 + }, 30 + mangle: { 31 + module: true, 32 + keep_fnames: true, 33 + }, 34 + output: { 35 + beautify: true, 36 + braces: true, 37 + indent_level: 2, 38 + }, 39 + }); 40 + 41 + const commonPlugins = [ 42 + resolve({ 43 + extensions: ['.mjs', '.js', '.ts'], 44 + mainFields: ['module', 'jsnext', 'main'], 45 + preferBuiltins: false, 46 + browser: true, 47 + }), 48 + 49 + commonjs({ 50 + ignoreGlobal: true, 51 + include: /\/node_modules\//, 52 + extensions: ['.mjs', '.js', '.ts'], 53 + }), 54 + 55 + sucrase({ 56 + exclude: ['node_modules/**'], 57 + transforms: ['typescript'] 58 + }), 59 + ]; 60 + 61 + const jsPlugins = [ 62 + ...commonPlugins, 63 + cjsCheck(), 64 + 65 + buble({ 66 + transforms: { 67 + unicodeRegExp: false, 68 + defaultParameter: false, 69 + dangerousForOf: true, 70 + dangerousTaggedTemplateString: true, 71 + destructuring: false, 72 + asyncAwait: false, 73 + arrow: false, 74 + classes: false, 75 + computedProperty: false, 76 + conciseMethodProperty: false, 77 + templateString: false, 78 + objectRestSpread: false, 79 + parameterDestructuring: false, 80 + spreadRest: false, 81 + }, 82 + exclude: 'node_modules/**', 83 + }), 84 + ]; 85 + 86 + const dtsPlugins = [ 87 + ...commonPlugins, 88 + dts(), 89 + flowTypings(), 90 + ]; 91 + 92 + const output = format => { 93 + const extension = format === 'esm' ? '.mjs' : '.js'; 94 + return { 95 + chunkFileNames: '[hash]' + extension, 96 + entryFileNames: '[name]' + extension, 97 + dir: './dist', 98 + exports: 'named', 99 + sourcemap: true, 100 + sourcemapExcludeSources: true, 101 + indent: false, 102 + freeze: false, 103 + strict: false, 104 + format, 105 + // NOTE: All below settings are important for cjs-module-lexer to detect the export 106 + // When this changes (and terser mangles the output) this will interfere with Node.js ESM intercompatibility 107 + esModule: format !== 'esm', 108 + externalLiveBindings: format !== 'esm', 109 + generatedCode: { 110 + preset: 'es5', 111 + reservedNamesAsProps: false, 112 + objectShorthand: false, 113 + constBindings: false, 114 + }, 115 + plugins: [ 116 + { 117 + renderChunk(code, _chunk) { 118 + const kinds = Object.keys(types); 119 + const members = Object.values(types) 120 + .reduce((acc, item) => [...acc, ...Object.keys(item)], []) 121 + const enumRe = new RegExp(`(${kinds.join('|')})[.](${members.join('|')})`, 'g') 122 + return code.replace(enumRe, (match, kind, member) => { 123 + const value = (types[kind] && types[kind][member]); 124 + return value != null ? '' + value : match; 125 + }); 126 + }, 127 + }, 128 + 129 + minify, 130 + ] 131 + }; 132 + }; 133 + 134 + const commonConfig = { 135 + input: { 136 + wonka: './src/index.ts', 137 + }, 138 + onwarn: () => {}, 139 + external: () => false, 140 + treeshake: { 141 + unknownGlobalSideEffects: false, 142 + tryCatchDeoptimization: false, 143 + moduleSideEffects: false, 144 + }, 145 + }; 146 + 147 + const jsConfig = { 148 + ...commonConfig, 149 + plugins: jsPlugins, 150 + output: [ 151 + output('esm'), 152 + output('cjs'), 153 + ], 154 + }; 155 + 156 + const dtsConfig = { 157 + ...commonConfig, 158 + input: { 159 + wonka: './src/index.ts', 160 + }, 161 + onwarn: () => {}, 162 + external: () => false, 163 + plugins: dtsPlugins, 164 + treeshake: { 165 + unknownGlobalSideEffects: false, 166 + tryCatchDeoptimization: false, 167 + moduleSideEffects: false, 168 + }, 169 + output: { 170 + dir: './dist', 171 + entryFileNames: '[name].d.ts', 172 + format: 'es' 173 + }, 174 + }; 175 + 176 + export default [ 177 + jsConfig, 178 + dtsConfig, 179 + ];
+6 -4
src/__tests__/combine.test.ts
··· 1 + import { describe, it, expect, beforeEach, vi } from 'vitest'; 2 + 1 3 import { Source } from '../types'; 2 4 import { fromValue, makeSubject } from '../sources'; 3 5 import { forEach } from '../sinks'; ··· 14 16 import { combine, zip } from '../combine'; 15 17 16 18 beforeEach(() => { 17 - jest.useFakeTimers(); 19 + vi.useFakeTimers(); 18 20 }); 19 21 20 22 describe('zip', () => { ··· 30 32 it('emits the zipped values of two sources', () => { 31 33 const { source: sourceA, next: nextA } = makeSubject<number>(); 32 34 const { source: sourceB, next: nextB } = makeSubject<number>(); 33 - const fn = jest.fn(); 35 + const fn = vi.fn(); 34 36 35 37 const combined = combine(sourceA, sourceB); 36 38 forEach(fn)(combined); ··· 45 47 const { source: sourceA, next: nextA } = makeSubject<number>(); 46 48 const { source: sourceB, next: nextB } = makeSubject<number>(); 47 49 const { source: sourceC, next: nextC } = makeSubject<number>(); 48 - const fn = jest.fn(); 50 + const fn = vi.fn(); 49 51 50 52 const combined = zip([sourceA, sourceB, sourceC]); 51 53 forEach(fn)(combined); ··· 61 63 it('emits the zipped values of a dictionary of two sources', () => { 62 64 const { source: sourceA, next: nextA } = makeSubject<number>(); 63 65 const { source: sourceB, next: nextB } = makeSubject<number>(); 64 - const fn = jest.fn(); 66 + const fn = vi.fn(); 65 67 66 68 const combined = zip({ a: sourceA, b: sourceB }); 67 69 forEach(fn)(combined);
+11 -9
src/__tests__/compliance.ts
··· 1 + import { it, expect, vi } from 'vitest'; 2 + 1 3 import { Source, Sink, Operator, Signal, SignalKind, TalkbackKind, TalkbackFn } from '../types'; 2 4 import { push, start } from '../helpers'; 3 5 ··· 41 43 42 44 // When pulling a value we expect an immediate response 43 45 talkback!(TalkbackKind.Pull); 44 - jest.runAllTimers(); 46 + vi.runAllTimers(); 45 47 expect(values).toEqual([output]); 46 48 }); 47 49 }; ··· 82 84 83 85 // When pushing a value we expect an immediate response 84 86 sink!(push(0)); 85 - jest.runAllTimers(); 87 + vi.runAllTimers(); 86 88 expect(values).toEqual([result]); 87 89 // Subsequently the Pull signal should have travelled upwards 88 90 expect(pulls).toBe(1); ··· 124 126 125 127 // When pushing a value we expect an immediate close signal 126 128 talkback!(TalkbackKind.Pull); 127 - jest.runAllTimers(); 129 + vi.runAllTimers(); 128 130 expect(closing).toBe(1); 129 131 }); 130 132 }; ··· 170 172 171 173 // When pushing a value we expect an immediate Push then End signal 172 174 talkback!(TalkbackKind.Pull); 173 - jest.runAllTimers(); 175 + vi.runAllTimers(); 174 176 expect(ending).toBe(1); 175 177 expect(signals).toEqual([push(result), SignalKind.End]); 176 178 // Also no additional pull event should be created by the operator ··· 221 223 222 224 // When pushing a value we expect an immediate Push then End signal 223 225 talkback!(TalkbackKind.Pull); 224 - jest.runAllTimers(); 226 + vi.runAllTimers(); 225 227 expect(ending).toBe(1); 226 228 expect(pulls).toBe(3); 227 229 expect(signals).toEqual([push(result), push(result), SignalKind.End]); ··· 288 290 operator(source)(sink); 289 291 290 292 // The Push signal should've been dropped 291 - jest.runAllTimers(); 293 + vi.runAllTimers(); 292 294 expect(signals).toEqual([SignalKind.End]); 293 295 expect(pulls).toBe(1); 294 296 }); ··· 319 321 operator(source)(sink); 320 322 321 323 // The Push signal should've been dropped 322 - jest.runAllTimers(); 324 + vi.runAllTimers(); 323 325 expect(signals).toEqual([]); 324 326 }); 325 327 }; ··· 395 397 // Afterwards after all timers all other signals come in 396 398 operator(source)(sink); 397 399 expect(signals.length).toBe(0); 398 - jest.advanceTimersByTime(5); 400 + vi.advanceTimersByTime(5); 399 401 expect(hasPushed).toBeTruthy(); 400 - jest.runAllTimers(); 402 + vi.runAllTimers(); 401 403 402 404 expect(signals).toEqual([push(result), SignalKind.End]); 403 405 });
+119 -45
src/__tests__/operators.test.ts
··· 1 + import { describe, it, expect, beforeEach, vi } from 'vitest'; 2 + 1 3 import { Source, Sink, Signal, SignalKind, TalkbackKind, TalkbackFn } from '../types'; 2 4 import { push, start } from '../helpers'; 3 5 ··· 18 20 import * as operators from '../operators'; 19 21 20 22 beforeEach(() => { 21 - jest.useFakeTimers(); 23 + vi.useFakeTimers(); 22 24 }); 23 25 24 26 describe('buffer', () => { ··· 41 43 it('emits batches of input values when a notifier emits', () => { 42 44 const { source: notifier$, next: notify } = sources.makeSubject(); 43 45 const { source: input$, next } = sources.makeSubject(); 44 - const fn = jest.fn(); 46 + const fn = vi.fn(); 45 47 46 48 sinks.forEach(fn)(operators.buffer(notifier$)(input$)); 47 49 ··· 71 73 // This synchronous test for concatMap will behave the same as mergeMap & switchMap 72 74 it('emits values from each flattened synchronous source', () => { 73 75 const { source, next, complete } = sources.makeSubject<number>(); 74 - const fn = jest.fn(); 76 + const fn = vi.fn(); 75 77 76 78 operators.concatMap((x: number) => sources.fromArray([x, x + 1]))(source)(fn); 77 79 ··· 93 95 // This synchronous test for concatMap will behave the same as mergeMap & switchMap 94 96 it('lets inner sources finish when outer source ends', () => { 95 97 const signals: Signal<any>[] = []; 96 - const teardown = jest.fn(); 98 + const teardown = vi.fn(); 97 99 const fn = (signal: Signal<any>) => { 98 100 signals.push(signal); 99 101 if (signal !== SignalKind.End && signal.tag === SignalKind.Start) { ··· 113 115 // This asynchronous test for concatMap will behave differently than mergeMap & switchMap 114 116 it('emits values from each flattened asynchronous source, one at a time', () => { 115 117 const source = operators.delay<number>(4)(sources.fromArray([1, 10])); 116 - const fn = jest.fn(); 118 + const fn = vi.fn(); 117 119 118 120 sinks.forEach(fn)( 119 121 operators.concatMap((x: number) => { ··· 121 123 })(source) 122 124 ); 123 125 124 - jest.advanceTimersByTime(14); 126 + vi.advanceTimersByTime(14); 125 127 expect(fn.mock.calls).toEqual([[1], [2]]); 126 128 127 - jest.runAllTimers(); 129 + vi.runAllTimers(); 128 130 expect(fn.mock.calls).toEqual([[1], [2], [10], [20]]); 129 131 }); 130 132 131 133 it('works for fully asynchronous sources', () => { 132 - const fn = jest.fn(); 134 + const fn = vi.fn(); 133 135 134 136 sinks.forEach(fn)( 135 137 operators.concatMap(() => { ··· 140 142 })(sources.fromValue(null)) 141 143 ); 142 144 143 - jest.runAllTimers(); 145 + vi.runAllTimers(); 144 146 expect(fn).toHaveBeenCalledWith(1); 145 147 }); 146 148 ··· 167 169 168 170 it('waits for a specified amount of silence before emitting the last value', () => { 169 171 const { source, next } = sources.makeSubject<number>(); 170 - const fn = jest.fn(); 172 + const fn = vi.fn(); 171 173 172 174 sinks.forEach(fn)(operators.debounce(() => 100)(source)); 173 175 174 176 next(1); 175 - jest.advanceTimersByTime(50); 177 + vi.advanceTimersByTime(50); 176 178 expect(fn).not.toHaveBeenCalled(); 177 179 178 180 next(2); 179 - jest.advanceTimersByTime(99); 181 + vi.advanceTimersByTime(99); 180 182 expect(fn).not.toHaveBeenCalled(); 181 183 182 - jest.advanceTimersByTime(1); 184 + vi.advanceTimersByTime(1); 183 185 expect(fn).toHaveBeenCalledWith(2); 184 186 }); 185 187 186 188 it('emits debounced value with delayed End signal', () => { 187 189 const { source, next, complete } = sources.makeSubject<number>(); 188 - const fn = jest.fn(); 190 + const fn = vi.fn(); 189 191 190 192 sinks.forEach(fn)(operators.debounce(() => 100)(source)); 191 193 192 194 next(1); 193 195 complete(); 194 - jest.advanceTimersByTime(100); 196 + vi.advanceTimersByTime(100); 195 197 expect(fn).toHaveBeenCalled(); 196 198 }); 197 199 }); ··· 207 209 208 210 it('delays outputs by a specified delay timeout value', () => { 209 211 const { source, next } = sources.makeSubject(); 210 - const fn = jest.fn(); 212 + const fn = vi.fn(); 211 213 212 214 sinks.forEach(fn)(operators.delay(100)(source)); 213 215 214 216 next(1); 215 217 expect(fn).not.toHaveBeenCalled(); 216 218 217 - jest.advanceTimersByTime(100); 219 + vi.advanceTimersByTime(100); 218 220 expect(fn).toHaveBeenCalledWith(1); 219 221 }); 220 222 }); ··· 229 231 passesAsyncSequence(noop); 230 232 231 233 it('prevents emissions for which a predicate fails', () => { 232 - const { source, next } = sources.makeSubject(); 233 - const fn = jest.fn(); 234 + const { source, next } = sources.makeSubject<boolean>(); 235 + const fn = vi.fn(); 234 236 235 - sinks.forEach(fn)(operators.filter(x => !!x)(source)); 237 + sinks.forEach((x: true) => { 238 + fn(x); 239 + })(operators.filter((x): x is true => !!x)(source)); 236 240 237 241 next(false); 238 242 expect(fn).not.toHaveBeenCalled(); ··· 253 257 254 258 it('maps over values given a transform function', () => { 255 259 const { source, next } = sources.makeSubject<number>(); 256 - const fn = jest.fn(); 260 + const fn = vi.fn(); 257 261 258 262 sinks.forEach(fn)(operators.map((x: number) => x + 1)(source)); 259 263 ··· 275 279 // This synchronous test for mergeMap will behave the same as concatMap & switchMap 276 280 it('emits values from each flattened synchronous source', () => { 277 281 const { source, next, complete } = sources.makeSubject<number>(); 278 - const fn = jest.fn(); 282 + const fn = vi.fn(); 279 283 280 284 operators.mergeMap((x: number) => sources.fromArray([x, x + 1]))(source)(fn); 281 285 ··· 296 300 // This synchronous test for mergeMap will behave the same as concatMap & switchMap 297 301 it('lets inner sources finish when outer source ends', () => { 298 302 const values: Signal<any>[] = []; 299 - const teardown = jest.fn(); 303 + const teardown = vi.fn(); 300 304 const fn = (signal: Signal<any>) => { 301 305 values.push(signal); 302 306 if (signal !== SignalKind.End && signal.tag === SignalKind.Start) { ··· 316 320 // This asynchronous test for mergeMap will behave differently than concatMap & switchMap 317 321 it('emits values from each flattened asynchronous source simultaneously', () => { 318 322 const source = operators.delay<number>(4)(sources.fromArray([1, 10])); 319 - const fn = jest.fn(); 323 + const fn = vi.fn(); 320 324 321 325 sinks.forEach(fn)( 322 326 operators.mergeMap((x: number) => { ··· 324 328 })(source) 325 329 ); 326 330 327 - jest.runAllTimers(); 331 + vi.runAllTimers(); 328 332 expect(fn.mock.calls).toEqual([[1], [10], [2], [20]]); 329 333 }); 330 334 ··· 351 355 352 356 it('calls a callback when the source ends', () => { 353 357 const { source, next, complete } = sources.makeSubject<any>(); 354 - const fn = jest.fn(); 358 + const fn = vi.fn(); 355 359 356 360 sinks.forEach(() => {})(operators.onEnd(fn)(source)); 357 361 ··· 375 379 376 380 it('calls a callback when the source emits', () => { 377 381 const { source, next } = sources.makeSubject<number>(); 378 - const fn = jest.fn(); 382 + const fn = vi.fn(); 379 383 380 384 sinks.forEach(() => {})(operators.onPush(fn)(source)); 381 385 ··· 402 406 it('is called when the source starts', () => { 403 407 let sink: Sink<any>; 404 408 405 - const fn = jest.fn(); 409 + const fn = vi.fn(); 406 410 const source: Source<any> = _sink => { 407 411 sink = _sink; 408 412 }; ··· 436 440 it('emits the latest value when a notifier source emits', () => { 437 441 const { source: notifier$, next: notify } = sources.makeSubject(); 438 442 const { source: input$, next } = sources.makeSubject(); 439 - const fn = jest.fn(); 443 + const fn = vi.fn(); 440 444 441 445 sinks.forEach(fn)(operators.sample(notifier$)(input$)); 442 446 ··· 460 464 461 465 it('folds values continuously with a reducer and initial value', () => { 462 466 const { source: input$, next } = sources.makeSubject<number>(); 463 - const fn = jest.fn(); 467 + const fn = vi.fn(); 464 468 465 469 const reducer = (acc: number, x: number) => acc + x; 466 470 sinks.forEach(fn)(operators.scan(reducer, 0)(input$)); ··· 493 497 }; 494 498 }); 495 499 496 - const fnA = jest.fn(); 497 - const fnB = jest.fn(); 500 + const fnA = vi.fn(); 501 + const fnB = vi.fn(); 498 502 499 503 sinks.forEach(fnA)(source); 500 504 sinks.forEach(fnB)(source); ··· 504 508 expect(fnB).toHaveBeenCalledWith([0]); 505 509 expect(fnA.mock.calls[0][0]).toBe(fnB.mock.calls[0][0]); 506 510 }); 511 + 512 + it('completes the source when no more sink is listening', () => { 513 + let onPush = () => {}; 514 + 515 + const talkback = vi.fn(); 516 + const source: Source<any> = operators.share(sink => { 517 + sink(start(talkback)); 518 + onPush = () => { 519 + sink(push([0])); 520 + sink(push([1])); 521 + sink(SignalKind.End); 522 + }; 523 + }); 524 + 525 + const fnA = vi.fn(); 526 + const fnB = vi.fn(); 527 + 528 + sinks.forEach(fnA)(operators.take(1)(source)); 529 + sinks.forEach(fnB)(operators.take(1)(source)); 530 + onPush(); 531 + 532 + expect(fnA).toHaveBeenCalledWith([0]); 533 + expect(fnB).toHaveBeenCalledWith([0]); 534 + expect(fnA.mock.calls[0][0]).toBe(fnB.mock.calls[0][0]); 535 + expect(talkback).toHaveBeenCalledWith(TalkbackKind.Close); 536 + }); 507 537 }); 508 538 509 539 describe('skip', () => { ··· 517 547 518 548 it('skips a number of values before emitting normally', () => { 519 549 const { source, next } = sources.makeSubject<number>(); 520 - const fn = jest.fn(); 550 + const fn = vi.fn(); 521 551 522 552 sinks.forEach(fn)(operators.skip(1)(source)); 523 553 ··· 541 571 it('skips values until the notifier source emits', () => { 542 572 const { source: notifier$, next: notify } = sources.makeSubject(); 543 573 const { source: input$, next } = sources.makeSubject<number>(); 544 - const fn = jest.fn(); 574 + const fn = vi.fn(); 545 575 546 576 sinks.forEach(fn)(operators.skipUntil(notifier$)(input$)); 547 577 ··· 564 594 565 595 it('skips values until one fails a predicate', () => { 566 596 const { source, next } = sources.makeSubject<number>(); 567 - const fn = jest.fn(); 597 + const fn = vi.fn(); 568 598 569 599 sinks.forEach(fn)(operators.skipWhile((x: any) => x <= 1)(source)); 570 600 ··· 588 618 // This synchronous test for switchMap will behave the same as concatMap & mergeMap 589 619 it('emits values from each flattened synchronous source', () => { 590 620 const { source, next, complete } = sources.makeSubject<number>(); 591 - const fn = jest.fn(); 621 + const fn = vi.fn(); 592 622 593 623 operators.switchMap((x: number) => sources.fromArray([x, x + 1]))(source)(fn); 594 624 ··· 610 640 // This synchronous test for switchMap will behave the same as concatMap & mergeMap 611 641 it('lets inner sources finish when outer source ends', () => { 612 642 const signals: Signal<any>[] = []; 613 - const teardown = jest.fn(); 643 + const teardown = vi.fn(); 614 644 const fn = (signal: Signal<any>) => { 615 645 signals.push(signal); 616 646 if (signal !== SignalKind.End && signal.tag === SignalKind.Start) { ··· 630 660 // This asynchronous test for switchMap will behave differently than concatMap & mergeMap 631 661 it('emits values from each flattened asynchronous source, one at a time', () => { 632 662 const source = operators.delay<number>(4)(sources.fromArray([1, 10])); 633 - const fn = jest.fn(); 663 + const fn = vi.fn(); 634 664 635 665 sinks.forEach(fn)( 636 666 operators.switchMap((x: number) => ··· 638 668 )(source) 639 669 ); 640 670 641 - jest.runAllTimers(); 671 + vi.runAllTimers(); 642 672 expect(fn.mock.calls).toEqual([[1], [10], [20]]); 643 673 }); 644 674 }); ··· 657 687 658 688 it('emits values until a maximum is reached', () => { 659 689 const { source, next } = sources.makeSubject<number>(); 660 - const fn = jest.fn(); 690 + const fn = vi.fn(); 661 691 662 692 operators.take(1)(source)(fn); 663 693 next(1); ··· 683 713 it('emits values until a notifier emits', () => { 684 714 const { source: notifier$, next: notify } = sources.makeSubject<any>(); 685 715 const { source: input$, next } = sources.makeSubject<number>(); 686 - const fn = jest.fn(); 716 + const fn = vi.fn(); 687 717 688 718 operators.takeUntil(notifier$)(input$)(fn); 689 719 next(1); ··· 695 725 expect(fn).toHaveBeenCalledTimes(3); 696 726 expect(fn.mock.calls[2][0]).toEqual(SignalKind.End); 697 727 }); 728 + 729 + it('emits values until a notifier emits', () => { 730 + const { source: input$, next } = sources.makeSubject<number>(); 731 + const fn = vi.fn(); 732 + 733 + let hasClosed = false; 734 + 735 + operators.takeUntil(sink => { 736 + sink( 737 + start(talkback => { 738 + if (talkback === TalkbackKind.Close) { 739 + hasClosed = true; 740 + } else if (talkback === TalkbackKind.Pull && !hasClosed) { 741 + sink(push(1)); 742 + } 743 + }) 744 + ); 745 + })(input$)(fn); 746 + 747 + next(1); 748 + 749 + expect(fn).toHaveBeenCalledTimes(2); 750 + expect(fn.mock.calls).toEqual([[0], [start(expect.any(Function))]]); 751 + 752 + expect(hasClosed).toBe(true); 753 + }); 698 754 }); 699 755 700 756 describe('takeWhile', () => { ··· 711 767 712 768 it('emits values while a predicate passes for all values', () => { 713 769 const { source, next } = sources.makeSubject<number>(); 714 - const fn = jest.fn(); 770 + const fn = vi.fn(); 715 771 716 772 operators.takeWhile((x: any) => x < 2)(source)(fn); 717 773 next(1); 718 774 next(2); 775 + next(3); 719 776 720 777 expect(fn.mock.calls).toEqual([[start(expect.any(Function))], [push(1)], [SignalKind.End]]); 721 778 }); 779 + 780 + it('emits values while a predicate passes for all values plus an additional one', () => { 781 + const { source, next } = sources.makeSubject<number>(); 782 + const fn = vi.fn(); 783 + 784 + operators.takeWhile((x: any) => x < 2, true)(source)(fn); 785 + next(1); 786 + next(2); 787 + next(3); 788 + 789 + expect(fn.mock.calls).toEqual([ 790 + [start(expect.any(Function))], 791 + [push(1)], 792 + [push(2)], 793 + [SignalKind.End], 794 + ]); 795 + }); 722 796 }); 723 797 724 798 describe('takeLast', () => { ··· 762 836 763 837 it('should ignore emissions for a period of time after a value', () => { 764 838 const { source, next } = sources.makeSubject<number>(); 765 - const fn = jest.fn(); 839 + const fn = vi.fn(); 766 840 767 841 sinks.forEach(fn)(operators.throttle(() => 100)(source)); 768 842 769 843 next(1); 770 844 expect(fn).toHaveBeenCalledWith(1); 771 - jest.advanceTimersByTime(50); 845 + vi.advanceTimersByTime(50); 772 846 773 847 next(2); 774 848 expect(fn).toHaveBeenCalledTimes(1); 775 - jest.advanceTimersByTime(50); 849 + vi.advanceTimersByTime(50); 776 850 777 851 next(3); 778 852 expect(fn).toHaveBeenCalledWith(3);
+174 -9
src/__tests__/sinks.test.ts
··· 1 + import { describe, it, expect, vi } from 'vitest'; 2 + 1 3 import { Source, Sink, SignalKind, TalkbackKind } from '../types'; 2 4 import { push, start } from '../helpers'; 3 5 ··· 13 15 describe('subscribe', () => { 14 16 it('sends Pull talkback signals every Push signal', () => { 15 17 let pulls = 0; 16 - const fn = jest.fn(); 18 + const fn = vi.fn(); 17 19 18 20 const source: Source<any> = sink => { 19 21 sink( ··· 86 88 }); 87 89 88 90 it('ignores Push signals after the source has ended', () => { 89 - const fn = jest.fn(); 91 + const fn = vi.fn(); 90 92 const source: Source<any> = sink => { 91 93 sink( 92 94 start(signal => { ··· 103 105 }); 104 106 105 107 it('ignores Push signals after cancellation', () => { 106 - const fn = jest.fn(); 108 + const fn = vi.fn(); 107 109 const source: Source<any> = sink => { 108 110 sink( 109 111 start(signal => { ··· 206 208 ); 207 209 }; 208 210 209 - const fn = jest.fn(); 211 + const fn = vi.fn(); 210 212 const promise = sinks.toPromise(source).then(fn); 211 213 212 214 expect(pulls).toBe(1); ··· 221 223 }); 222 224 223 225 it('creates a Promise for synchronous sources', async () => { 224 - const fn = jest.fn(); 226 + const fn = vi.fn(); 225 227 await sinks.toPromise(sources.fromArray([1, 2, 3])).then(fn); 226 228 expect(fn).toHaveBeenCalledWith(3); 227 229 }); 228 230 }); 229 231 232 + describe('toAsyncIterable', () => { 233 + it('creates an async iterable mirroring the Wonka source', async () => { 234 + let pulls = 0; 235 + let sink: Sink<any> | null = null; 236 + 237 + const source: Source<any> = _sink => { 238 + sink = _sink; 239 + sink( 240 + start(signal => { 241 + if (signal === TalkbackKind.Pull) pulls++; 242 + }) 243 + ); 244 + }; 245 + 246 + const asyncIterator = sinks.toAsyncIterable(source)[Symbol.asyncIterator](); 247 + const next$ = asyncIterator.next(); 248 + 249 + sink!(push(0)); 250 + expect(await next$).toEqual({ value: 0, done: false }); 251 + expect(pulls).toBe(1); 252 + 253 + sink!(push(1)); 254 + expect(await asyncIterator.next()).toEqual({ value: 1, done: false }); 255 + expect(pulls).toBe(2); 256 + 257 + sink!(SignalKind.End); 258 + expect(await asyncIterator.next()).toEqual({ done: true }); 259 + expect(pulls).toBe(2); 260 + }); 261 + 262 + it('buffers actively pushed values', async () => { 263 + let pulls = 0; 264 + let sink: Sink<any> | null = null; 265 + 266 + const source: Source<any> = _sink => { 267 + sink = _sink; 268 + sink( 269 + start(signal => { 270 + if (signal === TalkbackKind.Pull) pulls++; 271 + }) 272 + ); 273 + }; 274 + 275 + const asyncIterator = sinks.toAsyncIterable(source)[Symbol.asyncIterator](); 276 + const next$ = asyncIterator.next(); 277 + 278 + sink!(push(0)); 279 + sink!(push(1)); 280 + sink!(SignalKind.End); 281 + 282 + expect(pulls).toBe(1); 283 + expect(await next$).toEqual({ value: 0, done: false }); 284 + expect(await asyncIterator.next()).toEqual({ value: 1, done: false }); 285 + expect(await asyncIterator.next()).toEqual({ done: true }); 286 + }); 287 + 288 + it('asynchronously waits for pulled values', async () => { 289 + let pulls = 0; 290 + let sink: Sink<any> | null = null; 291 + 292 + const source: Source<any> = _sink => { 293 + sink = _sink; 294 + sink( 295 + start(signal => { 296 + if (signal === TalkbackKind.Pull) pulls++; 297 + }) 298 + ); 299 + }; 300 + 301 + const asyncIterator = sinks.toAsyncIterable(source)[Symbol.asyncIterator](); 302 + asyncIterator.next(); 303 + expect(pulls).toBe(1); 304 + 305 + let resolved = false; 306 + 307 + const promise = asyncIterator.next().then(value => { 308 + resolved = true; 309 + return value; 310 + }); 311 + 312 + await Promise.resolve(); 313 + expect(resolved).toBe(false); 314 + 315 + sink!(push(0)); 316 + sink!(SignalKind.End); 317 + expect(await promise).toEqual({ value: 0, done: false }); 318 + expect(await asyncIterator.next()).toEqual({ done: true }); 319 + }); 320 + 321 + it('supports cancellation via return', async () => { 322 + let ended = false; 323 + let sink: Sink<any> | null = null; 324 + 325 + const source: Source<any> = _sink => { 326 + sink = _sink; 327 + sink( 328 + start(signal => { 329 + if (signal === TalkbackKind.Close) ended = true; 330 + }) 331 + ); 332 + }; 333 + 334 + const asyncIterator = sinks.toAsyncIterable(source)[Symbol.asyncIterator](); 335 + const next$ = asyncIterator.next(); 336 + 337 + sink!(push(0)); 338 + expect(await next$).toEqual({ value: 0, done: false }); 339 + expect(await asyncIterator.return!()).toEqual({ done: true }); 340 + 341 + sink!(push(1)); 342 + expect(await asyncIterator.next()).toEqual({ done: true }); 343 + 344 + expect(ended).toBeTruthy(); 345 + }); 346 + 347 + it('supports for-await-of', async () => { 348 + let pulls = 0; 349 + 350 + const source: Source<any> = sink => { 351 + sink( 352 + start(signal => { 353 + if (signal === TalkbackKind.Pull) { 354 + sink(pulls < 3 ? push(pulls++) : SignalKind.End); 355 + } 356 + }) 357 + ); 358 + }; 359 + 360 + const iterable = sinks.toAsyncIterable(source); 361 + const values: any[] = []; 362 + for await (const value of iterable) { 363 + values.push(value); 364 + } 365 + 366 + expect(values).toEqual([0, 1, 2]); 367 + }); 368 + 369 + it('supports for-await-of with early break', async () => { 370 + let pulls = 0; 371 + let closed = false; 372 + 373 + const source: Source<any> = sink => { 374 + sink( 375 + start(signal => { 376 + if (signal === TalkbackKind.Pull) { 377 + sink(pulls < 3 ? push(pulls++) : SignalKind.End); 378 + } else { 379 + closed = true; 380 + } 381 + }) 382 + ); 383 + }; 384 + 385 + const iterable = sinks.toAsyncIterable(source); 386 + for await (const value of iterable) { 387 + expect(value).toBe(0); 388 + break; 389 + } 390 + 391 + expect(closed).toBe(true); 392 + }); 393 + }); 394 + 230 395 describe('toObservable', () => { 231 396 it('creates an Observable mirroring the Wonka source', () => { 232 - const next = jest.fn(); 233 - const complete = jest.fn(); 397 + const next = vi.fn(); 398 + const complete = vi.fn(); 234 399 let pulls = 0; 235 400 let sink: Sink<any> | null = null; 236 401 ··· 276 441 277 442 describe('toCallbag', () => { 278 443 it('creates a Callbag mirroring the Wonka source', () => { 279 - const fn = jest.fn(); 444 + const fn = vi.fn(); 280 445 let pulls = 0; 281 446 let sink: Sink<any> | null = null; 282 447 ··· 301 466 302 467 it('forwards cancellations from the Callbag as a talkback', () => { 303 468 let ending = 0; 304 - const fn = jest.fn(); 469 + const fn = vi.fn(); 305 470 306 471 const source: Source<any> = sink => 307 472 sink(
+18 -16
src/__tests__/sources.test.ts
··· 1 + import { describe, it, expect, beforeEach, vi } from 'vitest'; 2 + 1 3 import { Source, Sink, Signal, SignalKind, TalkbackKind, TalkbackFn } from '../types'; 2 4 import { push, start, talkbackPlaceholder } from '../helpers'; 3 5 ··· 70 72 talkback!(TalkbackKind.Pull); 71 73 }, 10); 72 74 73 - jest.runAllTimers(); 75 + vi.runAllTimers(); 74 76 expect(pushes).toBe(1); 75 77 }); 76 78 }; ··· 105 107 }; 106 108 107 109 beforeEach(() => { 108 - jest.useFakeTimers(); 110 + vi.useFakeTimers(); 109 111 }); 110 112 111 113 describe('fromArray', () => { ··· 140 142 }); 141 143 142 144 it('correctly merges hot sources', () => { 143 - const onStart = jest.fn(); 145 + const onStart = vi.fn(); 144 146 const source = operators.merge<any>([ 145 147 operators.onStart(onStart)(sources.never), 146 148 operators.onStart(onStart)(sources.fromArray([1, 2])), ··· 153 155 }); 154 156 155 157 it('correctly merges asynchronous sources', () => { 156 - jest.useFakeTimers(); 158 + vi.useFakeTimers(); 157 159 158 - const onStart = jest.fn(); 160 + const onStart = vi.fn(); 159 161 const source = operators.merge<any>([ 160 162 operators.onStart(onStart)(sources.fromValue(-1)), 161 163 operators.onStart(onStart)(operators.take(2)(sources.interval(50))), 162 164 ]); 163 165 164 166 const signals = collectSignals(source); 165 - jest.advanceTimersByTime(100); 167 + vi.advanceTimersByTime(100); 166 168 expect(onStart).toHaveBeenCalledTimes(2); 167 169 168 170 expect(signals).toEqual([ ··· 190 192 191 193 describe('make', () => { 192 194 it('may be used to create async sources', () => { 193 - const teardown = jest.fn(); 195 + const teardown = vi.fn(); 194 196 const source = sources.make(observer => { 195 197 setTimeout(() => observer.next(1), 10); 196 198 setTimeout(() => observer.complete(), 20); ··· 199 201 200 202 const signals = collectSignals(source); 201 203 expect(signals).toEqual([start(expect.any(Function))]); 202 - jest.runAllTimers(); 204 + vi.runAllTimers(); 203 205 204 206 expect(signals).toEqual([start(expect.any(Function)), push(1), SignalKind.End]); 205 207 }); 206 208 207 209 it('supports active cancellation', () => { 208 - const teardown = jest.fn(); 210 + const teardown = vi.fn(); 209 211 const source = sources.make(() => teardown); 210 212 211 213 const sink: Sink<any> = signal => { ··· 216 218 217 219 source(sink); 218 220 expect(teardown).not.toHaveBeenCalled(); 219 - jest.runAllTimers(); 221 + vi.runAllTimers(); 220 222 expect(teardown).toHaveBeenCalled(); 221 223 }); 222 224 }); ··· 284 286 285 287 describe('fromObservable', () => { 286 288 beforeEach(() => { 287 - jest.useRealTimers(); 289 + vi.useRealTimers(); 288 290 }); 289 291 290 292 it('converts an Observable to a Wonka source', async () => { ··· 345 347 expect(talkback).not.toBe(null); 346 348 expect(pushes).toBe(0); 347 349 348 - jest.advanceTimersByTime(100); 350 + vi.advanceTimersByTime(100); 349 351 expect(pushes).toBe(1); 350 - jest.advanceTimersByTime(100); 352 + vi.advanceTimersByTime(100); 351 353 expect(pushes).toBe(2); 352 354 353 355 talkback!(TalkbackKind.Close); 354 - jest.advanceTimersByTime(100); 356 + vi.advanceTimersByTime(100); 355 357 expect(pushes).toBe(2); 356 358 }); 357 359 }); ··· 361 363 let talkback: TalkbackFn | null = null; 362 364 363 365 const element = { 364 - addEventListener: jest.fn(), 365 - removeEventListener: jest.fn(), 366 + addEventListener: vi.fn(), 367 + removeEventListener: vi.fn(), 366 368 }; 367 369 368 370 const sink: Sink<any> = signal => {
+20
src/callbag.ts
··· 1 1 import { Source, SignalKind } from './types'; 2 2 import { push, start } from './helpers'; 3 3 4 + /** A definition of the Callbag type as per its specification. 5 + * @see {@link https://github.com/callbag/callbag} for the Callbag specification. 6 + */ 4 7 interface Callbag<I, O> { 5 8 (t: 0, d: Callbag<O, I>): void; 6 9 (t: 1, d: I): void; 7 10 (t: 2, d?: any): void; 8 11 } 9 12 13 + /** Converts a Callbag to a {@link Source}. 14 + * @param callbag - The {@link Callbag} object that will be converted. 15 + * @returns A {@link Source} wrapping the passed Callbag. 16 + * 17 + * @remarks 18 + * This converts a Callbag to a {@link Source}. When this Source receives a {@link Sink} and 19 + * the subscription starts, internally, it'll subscribe to the passed Callbag, passing through 20 + * all of its emitted values. 21 + */ 10 22 export function fromCallbag<T>(callbag: Callbag<any, T>): Source<T> { 11 23 return sink => { 12 24 callbag(0, (signal: number, data: any) => { ··· 25 37 }; 26 38 } 27 39 40 + /** Converts a {@link Source} to a Callbag. 41 + * @param source - The {@link Source} that will be converted. 42 + * @returns A {@link Callbag} wrapping the passed Source. 43 + * 44 + * @remarks 45 + * This converts a {@link Source} to a {@link Callbag}. When this Callbag is subscribed to, it 46 + * internally subscribes to the Wonka Source and pulls new values. 47 + */ 28 48 export function toCallbag<T>(source: Source<T>): Callbag<any, T> { 29 49 return (signal: number, sink: any) => { 30 50 if (signal === 0) {
+64 -9
src/combine.ts
··· 5 5 ? [TypeOfSource<Head>, ...TypeOfSourceArray<Tail>] 6 6 : []; 7 7 8 - export function zip<Sources extends readonly [...Source<any>[]]>( 9 - sources: [...Sources] 10 - ): Source<TypeOfSourceArray<Sources>>; 8 + /** Combines the latest values of several sources into a Source issuing either tuple or dictionary 9 + * values. 10 + * 11 + * @param sources - Either an array or dictionary object of Sources. 12 + * @returns A {@link Source} issuing a zipped value whenever any input Source updates. 13 + * 14 + * @remarks 15 + * `zip` combines several {@link Source | Sources}. The resulting Source will issue its first value 16 + * once all input Sources have at least issued one value, and will subsequently issue a new value 17 + * each time any of the Sources emits a new value. 18 + * 19 + * Depending on whether an array or dictionary object of Sources is passed to `zip`, its emitted 20 + * values will be arrays or dictionary objects of the Sources' values. 21 + * 22 + * @example 23 + * An example of passing a dictionary object to `zip`. If an array is passed, the resulting 24 + * values will output arrays of the sources' values instead. 25 + * 26 + * ```ts 27 + * pipe( 28 + * zip({ 29 + * x: fromValue(1), 30 + * y: fromArray([2, 3]), 31 + * }), 32 + * subscribe(result => { 33 + * // logs { x: 1, y: 2 } then { x: 1, y: 3 } 34 + * console.log(result); 35 + * }) 36 + * ); 37 + * ``` 38 + */ 39 + interface zip { 40 + <Sources extends readonly [...Source<any>[]]>(sources: [...Sources]): Source< 41 + TypeOfSourceArray<Sources> 42 + >; 11 43 12 - export function zip<Sources extends { [prop: string]: Source<any> }>( 13 - sources: Sources 14 - ): Source<{ [Property in keyof Sources]: TypeOfSource<Sources[Property]> }>; 44 + <Sources extends { [prop: string]: Source<any> }>(sources: Sources): Source<{ 45 + [Property in keyof Sources]: TypeOfSource<Sources[Property]>; 46 + }>; 47 + } 15 48 16 - export function zip<T>( 17 - sources: Source<T>[] | Record<string, Source<T>> 18 - ): Source<T[] | Record<string, T>> { 49 + function zip<T>(sources: Source<T>[] | Record<string, Source<T>>): Source<T[] | Record<string, T>> { 19 50 const size = Object.keys(sources).length; 20 51 return sink => { 21 52 const filled: Set<string | number> = new Set(); ··· 75 106 }; 76 107 } 77 108 109 + export { zip }; 110 + 111 + /** Combines the latest values of all passed sources into a Source issuing tuple values. 112 + * 113 + * @see {@link zip | `zip`} which this helper wraps and uses. 114 + * @param sources - A variadic list of {@link Source} parameters. 115 + * @returns A {@link Source} issuing a zipped value whenever any input Source updates. 116 + * 117 + * @remarks 118 + * `combine` takes one or more {@link Source | Sources} as arguments. Once all input Sources have at 119 + * least issued one value it will issue an array of all of the Sources' values. Subsequently, it 120 + * will issue a new array value whenever any of the Sources update. 121 + * 122 + * @example 123 + * 124 + * ```ts 125 + * pipe( 126 + * combine(fromValue(1), fromValue(2)), 127 + * subscribe(result => { 128 + * console.log(result); // logs [1, 2] 129 + * }) 130 + * ); 131 + * ``` 132 + */ 78 133 export function combine<Sources extends Source<any>[]>( 79 134 ...sources: Sources 80 135 ): Source<TypeOfSourceArray<Sources>> {
+50 -6
src/helpers.ts
··· 1 1 import { TalkbackFn, TeardownFn, Start, Push, SignalKind } from './types'; 2 2 3 + /** Placeholder {@link TeardownFn | teardown functions} that's a no-op. 4 + * @see {@link TeardownFn} for the definition and usage of teardowns. 5 + * @internal 6 + */ 3 7 export const teardownPlaceholder: TeardownFn = () => { 4 8 /*noop*/ 5 9 }; 10 + 11 + /** Placeholder {@link TalkbackFn | talkback function} that's a no-op. 12 + * @privateRemarks 13 + * This is frequently used in the codebase as a no-op initializer value for talkback functions in 14 + * the implementation of {@link Operator | Operators}. This is cheaper than initializing the 15 + * variables of talkbacks to `undefined` or `null` and performing an extra check before calling 16 + * them. Since the {@link Start | Start signal} is assumed to come first and carry a talkback, we can 17 + * use this to our advantage and use a no-op placeholder before {@link Start} is received. 18 + * 19 + * @internal 20 + */ 6 21 export const talkbackPlaceholder: TalkbackFn = teardownPlaceholder; 7 22 23 + /** Wraps the passed {@link TalkbackFn | talkback function} in a {@link Start | Start signal}. 24 + * @internal 25 + */ 8 26 export function start<T>(talkback: TalkbackFn): Start<T> { 9 - const box: any = [talkback]; 10 - box.tag = SignalKind.Start; 11 - return box; 27 + return { 28 + tag: SignalKind.Start, 29 + 0: talkback, 30 + } as Start<T>; 12 31 } 13 32 33 + /** Wraps the passed value in a {@link Push | Push signal}. 34 + * @internal 35 + */ 14 36 export function push<T>(value: T): Push<T> { 15 - const box: any = [value]; 16 - box.tag = SignalKind.Push; 17 - return box; 37 + return { 38 + tag: SignalKind.Push, 39 + 0: value, 40 + } as Push<T>; 18 41 } 42 + 43 + /** Returns the well-known symbol specifying the default AsyncIterator. 44 + * @internal 45 + */ 46 + export const asyncIteratorSymbol = (): typeof Symbol.asyncIterator => 47 + (typeof Symbol === 'function' && Symbol.asyncIterator) || ('@@asyncIterator' as any); 48 + 49 + /** Returns the well-known symbol specifying the default ES Observable. 50 + * @privateRemarks 51 + * This symbol is used to mark an object as a default ES Observable. By the specification, an object 52 + * that abides by the default Observable implementation must carry a method set to this well-known 53 + * symbol that returns the Observable implementation. It's common for this object to be an 54 + * Observable itself and return itself on this method. 55 + * 56 + * @see {@link https://github.com/0no-co/wonka/issues/122} for notes on the intercompatibility 57 + * between Observable implementations. 58 + * 59 + * @internal 60 + */ 61 + export const observableSymbol = (): typeof Symbol.observable => 62 + (typeof Symbol === 'function' && Symbol.observable) || ('@@observable' as any);
+24 -1
src/index.ts
··· 1 - export * from './types'; 1 + /** 2 + * A tiny but capable push & pull stream library for TypeScript and Flow. 3 + * 4 + * @remarks 5 + * Wonka is a lightweight iterable and observable library and exposes a set of helpers to create 6 + * streams, which are sources emitting multiple values, which allow you to create, transform, and 7 + * consume event streams or iterable sets of data. 8 + * 9 + * It's loosely based on the Callbag spec: {@link https://github.com/callbag/callbag} 10 + * @packageDocumentation 11 + */ 12 + 13 + export type { 14 + TeardownFn, 15 + Signal, 16 + Sink, 17 + Source, 18 + Operator, 19 + TypeOfSource, 20 + Subscription, 21 + Observer, 22 + Subject, 23 + } from './types'; 24 + 2 25 export * from './sources'; 3 26 export * from './operators'; 4 27 export * from './sinks';
+145 -14
src/observable.ts
··· 1 1 import { Source, SignalKind, TalkbackKind } from './types'; 2 - import { push, start, talkbackPlaceholder } from './helpers'; 2 + import { push, start, talkbackPlaceholder, observableSymbol } from './helpers'; 3 + 4 + // NOTE: This must be placed in an exported file for `rollup-plugin-dts` 5 + // to include it in output typings files 6 + declare global { 7 + interface SymbolConstructor { 8 + readonly observable: symbol; 9 + } 10 + } 3 11 12 + /** A definition of the ES Observable Subscription type that is returned by 13 + * {@link Observable.subscribe} 14 + * 15 + * @remarks 16 + * The Subscription in ES Observables is a handle that is held while the Observable is actively 17 + * streaming values. As such, it's used to indicate with {@link ObservableSubscription.closed} 18 + * whether it's active, and {@link ObservableSubscription.unsubscribe} may be used to cancel the 19 + * ongoing subscription and end the {@link Observable} early. 20 + * 21 + * @see {@link https://github.com/tc39/proposal-observable} for the ES Observable specification. 22 + */ 4 23 interface ObservableSubscription { 5 - closed?: boolean; 24 + /** A boolean flag indicating whether the subscription is closed. 25 + * @remarks 26 + * When `true`, the subscription will not issue new values to the {@link ObservableObserver} and 27 + * has terminated. No new values are expected. 28 + * 29 + * @readonly 30 + */ 31 + closed: boolean; 32 + /** Cancels the subscription. 33 + * @remarks 34 + * This cancels the ongoing subscription and the {@link ObservableObserver}'s callbacks will 35 + * subsequently not be called at all. The subscription will be terminated and become inactive. 36 + */ 6 37 unsubscribe(): void; 7 38 } 8 39 40 + /** A definition of the ES Observable Observer type that is used to receive data from an 41 + * {@link Observable}. 42 + * 43 + * @remarks 44 + * The Observer in ES Observables is supplied to {@link Observable.subscribe} to receive events from 45 + * an {@link Observable} as it issues them. 46 + * 47 + * @see {@link https://github.com/tc39/proposal-observable#observer} for the ES Observable 48 + * specification of an Observer. 49 + */ 9 50 interface ObservableObserver<T> { 51 + /** Callback for the Observable issuing new values. 52 + * @param value - The value that the {@link Observable} is sending. 53 + */ 10 54 next(value: T): void; 11 - error(error: any): void; 12 - complete(): void; 55 + /** Callback for the Observable encountering an error, terminating it. 56 + * @param error - The error that the {@link Observable} has encountered. 57 + */ 58 + error?(error: any): void; 59 + /** Callback for the Observable ending, after all values have been issued. */ 60 + complete?(): void; 61 + } 62 + 63 + /** A looser definition of ES Observable-like types that is used for interoperability. 64 + * @remarks 65 + * The Observable is often used by multiple libraries supporting or creating streams to provide 66 + * interoperability for push-based streams. When converting from an Observable to a {@link Source}, 67 + * this looser type is accepted as an input. 68 + * 69 + * @see {@link https://github.com/tc39/proposal-observable} for the ES Observable specification. 70 + * @see {@link Observable} for the full ES Observable type. 71 + */ 72 + interface ObservableLike<T> { 73 + /** 74 + * Subscribes to new signals from an {@link Observable} via callbacks. 75 + * @param observer - An object containing callbacks for the various events of an Observable. 76 + * @returns Subscription handle of type {@link ObservableSubscription}. 77 + * 78 + * @see {@link ObservableObserver} for the callbacks in an object that are called as Observables 79 + * issue events. 80 + */ 81 + subscribe(observer: ObservableObserver<T>): { unsubscribe(): void }; 82 + 83 + /** The well-known symbol specifying the default ES Observable for an object. */ 84 + [Symbol.observable]?(): Observable<T>; 13 85 } 14 86 87 + /** An ES Observable type that is a de-facto standard for push-based data sources across the JS 88 + * ecosystem. 89 + * 90 + * @remarks 91 + * The Observable is often used by multiple libraries supporting or creating streams to provide 92 + * interoperability for push-based streams. As Wonka's {@link Source | Sources} are similar in 93 + * functionality to Observables, it provides utilities to cleanly convert to and from Observables. 94 + * 95 + * @see {@link https://github.com/tc39/proposal-observable} for the ES Observable specification. 96 + */ 15 97 interface Observable<T> { 98 + /** Subscribes to new signals from an {@link Observable} via callbacks. 99 + * @param observer - An object containing callbacks for the various events of an Observable. 100 + * @returns Subscription handle of type {@link ObservableSubscription}. 101 + * 102 + * @see {@link ObservableObserver} for the callbacks in an object that are called as Observables 103 + * issue events. 104 + */ 16 105 subscribe(observer: ObservableObserver<T>): ObservableSubscription; 106 + 107 + /** Subscribes to new signals from an {@link Observable} via callbacks. 108 + * @param onNext - Callback for the Observable issuing new values. 109 + * @param onError - Callback for the Observable encountering an error, terminating it. 110 + * @param onComplete - Callback for the Observable ending, after all values have been issued. 111 + * @returns Subscription handle of type {@link ObservableSubscription}. 112 + */ 113 + subscribe( 114 + onNext: (value: T) => any, 115 + onError?: (error: any) => any, 116 + onComplete?: () => any 117 + ): ObservableSubscription; 118 + 119 + /** The well-known symbol specifying the default ES Observable for an object. */ 120 + [Symbol.observable](): Observable<T>; 17 121 } 18 122 19 - const observableSymbol = (): symbol => 20 - (Symbol as any).observable || ((Symbol as any).observable = Symbol('observable')); 21 - 22 - export function fromObservable<T>(input: Observable<T>): Source<T> { 23 - input = input[observableSymbol()] ? (input as any)[observableSymbol()]() : input; 123 + /** Converts an ES Observable to a {@link Source}. 124 + * @param input - The {@link ObservableLike} object that will be converted. 125 + * @returns A {@link Source} wrapping the passed Observable. 126 + * 127 + * @remarks 128 + * This converts an ES Observable to a {@link Source}. When this Source receives a {@link Sink} and 129 + * the subscription starts, internally, it'll subscribe to the passed Observable, passing through 130 + * all of the Observable's values. As such, this utility provides intercompatibility converting from 131 + * standard Observables to Wonka Sources. 132 + * 133 + * @throws 134 + * When the passed ES Observable throws, the error is simply re-thrown as {@link Source} does 135 + * not support or expect errors to be handled by streams. 136 + */ 137 + export function fromObservable<T>(input: ObservableLike<T>): Source<T> { 24 138 return sink => { 25 - const subscription = input.subscribe({ 139 + const subscription = ( 140 + input[observableSymbol()] ? input[observableSymbol()]!() : input 141 + ).subscribe({ 26 142 next(value: T) { 27 143 sink(push(value)); 28 144 }, 29 145 complete() { 30 146 sink(SignalKind.End); 31 147 }, 32 - error() { 33 - /*noop*/ 148 + error(error) { 149 + throw error; 34 150 }, 35 151 }); 36 152 sink( ··· 41 157 }; 42 158 } 43 159 160 + /** Converts a {@link Source} to an ES Observable. 161 + * @param source - The {@link Source} that will be converted. 162 + * @returns An {@link Observable} wrapping the passed Source. 163 + * 164 + * @remarks 165 + * This converts a {@link Source} to an {@link Observable}. When this Observable is subscribed to, it 166 + * internally subscribes to the Wonka Source and pulls new values. As such, this utility provides 167 + * intercompatibility converting from Wonka Sources to standard ES Observables. 168 + */ 44 169 export function toObservable<T>(source: Source<T>): Observable<T> { 45 170 return { 46 - subscribe(observer: ObservableObserver<T>) { 171 + subscribe( 172 + next: ObservableObserver<T> | ((value: T) => any), 173 + error?: (error: any) => any | undefined, 174 + complete?: () => any | undefined 175 + ) { 176 + const observer: ObservableObserver<T> = 177 + typeof next == 'object' ? next : { next, error, complete }; 47 178 let talkback = talkbackPlaceholder; 48 179 let ended = false; 49 180 source(signal => { ··· 51 182 /*noop*/ 52 183 } else if (signal === SignalKind.End) { 53 184 ended = true; 54 - observer.complete(); 185 + if (observer.complete) observer.complete(); 55 186 } else if (signal.tag === SignalKind.Start) { 56 187 (talkback = signal[0])(TalkbackKind.Pull); 57 188 } else {
+613 -4
src/operators.ts
··· 1 - import { Source, Sink, Operator, SignalKind, TalkbackKind, TalkbackFn } from './types'; 1 + import { Push, Source, Sink, Operator, SignalKind, TalkbackKind, TalkbackFn } from './types'; 2 2 import { push, start, talkbackPlaceholder } from './helpers'; 3 3 import { fromArray } from './sources'; 4 4 5 5 const identity = <T>(x: T): T => x; 6 6 7 + /** Buffers values and emits the array of bufferd values each time a `notifier` Source emits. 8 + * 9 + * @param notifier - A {@link Source} that releases the current buffer. 10 + * @returns An {@link Operator}. 11 + * 12 + * @remarks 13 + * `buffer` will buffer values from the input {@link Source}. When the passed `notifier` Source 14 + * emits, it will emit an array of all buffered values. 15 + * 16 + * This can be used to group values over time. A buffer will only be emitted when it contains any 17 + * values. 18 + * 19 + * @example 20 + * ```ts 21 + * pipe( 22 + * interval(50), 23 + * buffer(interval(100)), 24 + * subscribe(x => { 25 + * console.log(text); // logs: [0], [1, 2], [3, 4]... 26 + * }) 27 + * ); 28 + * ``` 29 + */ 7 30 export function buffer<S, T>(notifier: Source<S>): Operator<T, T[]> { 8 31 return source => sink => { 9 32 let buffer: T[] = []; ··· 64 87 }; 65 88 } 66 89 90 + /** Emits in order from the Sources returned by a mapping function per value of the Source. 91 + * 92 + * @param map - A function returning a {@link Source} per value. 93 + * @returns An {@link Operator}. 94 + * 95 + * @remarks 96 + * `concatMap` accepts a mapping function which must return a {@link Source} per value. 97 + * The output {@link Source} will emit values from each Source the function returned, in order, 98 + * queuing sources that aren't yet active. 99 + * 100 + * This can be used to issue multiple values per emission of an input {@link Source}, while keeping 101 + * the order of their outputs consistent. 102 + * 103 + * @example 104 + * ```ts 105 + * pipe( 106 + * fromArray([1, 2]), 107 + * concatMap(x => fromArray([x, x * 2])), 108 + * subscribe(x => { 109 + * console.log(text); // logs: 1, 2, 2, 4 110 + * }) 111 + * ); 112 + * ``` 113 + */ 67 114 export function concatMap<In, Out>(map: (value: In) => Source<Out>): Operator<In, Out> { 68 115 return source => sink => { 69 116 const inputQueue: In[] = []; ··· 144 191 }; 145 192 } 146 193 194 + /** Flattens a Source emitting Sources into a single Source emitting the inner values in order. 195 + * 196 + * @see {@link concatMap} which this helper uses and instead accept a mapping function. 197 + * @param source - An {@link Source} emitting {@link Source | Sources}. 198 + * @returns A {@link Source} emitting values from the inner Sources. 199 + * 200 + * @remarks 201 + * `concatAll` accepts a {@link Source} emitting {@link Source | Sources}. 202 + * The output {@link Source} will emit values from each Source, in order, queuing sources that 203 + * aren't yet active. 204 + * 205 + * @example 206 + * ```ts 207 + * pipe( 208 + * fromArray([ 209 + * fromArray([1, 2]), 210 + * fromArray([3, 4]), 211 + * ]), 212 + * concatAll, 213 + * subscribe(x => { 214 + * console.log(text); // logs: 1, 2, 3, 4 215 + * }) 216 + * ); 217 + * ``` 218 + */ 147 219 export function concatAll<T>(source: Source<Source<T>>): Source<T> { 148 220 return concatMap<Source<T>, T>(identity)(source); 149 221 } 150 222 223 + /** Emits values from the passed sources in order. 224 + * 225 + * @param sources - An array of {@link Source | Sources}. 226 + * @returns A {@link Source} emitting values from the input Sources. 227 + * 228 + * @remarks 229 + * `concat` accepts an array of {@link Source | Sources} and will emit values from them, starting 230 + * with the first one and continuing to the next only when the prior source ended. 231 + * 232 + * This can be used to issue combine sources while keeping the order of their values intact. 233 + * 234 + * @example 235 + * ```ts 236 + * pipe( 237 + * concat([ 238 + * fromArray([1, 2]), 239 + * fromArray([3, 4]), 240 + * ]), 241 + * subscribe(x => { 242 + * console.log(text); // logs: 1, 2, 3, 4 243 + * }) 244 + * ); 245 + * ``` 246 + */ 151 247 export function concat<T>(sources: Source<T>[]): Source<T> { 152 248 return concatAll(fromArray(sources)); 153 249 } 154 250 155 - export function filter<T>(predicate: (value: T) => boolean): Operator<T, T> { 251 + /** Filters out emitted values for which the passed predicate function returns `false`. 252 + * 253 + * @param predicate - A function returning a boolean per value. 254 + * @returns An {@link Operator}. 255 + * 256 + * @remarks 257 + * `filter` will omit values from the {@link Source} for which the passed `predicate` function 258 + * returns `false`. 259 + * 260 + * @example 261 + * ```ts 262 + * pipe( 263 + * fromArray([1, 2, 3]), 264 + * filter(x => x % 2 === 0), 265 + * subscribe(x => { 266 + * console.log(text); // logs: 2 267 + * }) 268 + * ); 269 + * ``` 270 + */ 271 + function filter<In, Out extends In>(predicate: (value: In) => value is Out): Operator<In, Out>; 272 + function filter<T>(predicate: (value: T) => boolean): Operator<T, T>; 273 + function filter<In, Out>(predicate: (value: In) => boolean): Operator<In, Out> { 156 274 return source => sink => { 157 275 let talkback = talkbackPlaceholder; 158 276 source(signal => { ··· 164 282 } else if (!predicate(signal[0])) { 165 283 talkback(TalkbackKind.Pull); 166 284 } else { 167 - sink(signal); 285 + sink(signal as Push<any>); 168 286 } 169 287 }); 170 288 }; 171 289 } 172 290 291 + export { filter }; 292 + 293 + /** Maps emitted values using the passed mapping function. 294 + * 295 + * @param map - A function returning transforming the {@link Source | Source's} values. 296 + * @returns An {@link Operator}. 297 + * 298 + * @remarks 299 + * `map` accepts a transform function and calls it on each emitted value. It then emits 300 + * the values returned by the transform function instead. 301 + * 302 + * @example 303 + * ```ts 304 + * pipe( 305 + * fromArray([1, 2, 3]), 306 + * map(x => x * 2), 307 + * subscribe(x => { 308 + * console.log(text); // logs: 2, 4, 6 309 + * }) 310 + * ); 311 + * ``` 312 + */ 173 313 export function map<In, Out>(map: (value: In) => Out): Operator<In, Out> { 174 314 return source => sink => 175 315 source(signal => { ··· 181 321 }); 182 322 } 183 323 324 + /** Emits from the Sources returned by a mapping function per value of the Source. 325 + * 326 + * @param map - A function returning a {@link Source} per value. 327 + * @returns An {@link Operator}. 328 + * 329 + * @remarks 330 + * `mergeMap` accepts a mapping function which must return a {@link Source} per value. 331 + * The output {@link Source} will emit values from all {@link Source | Sources} the mapping function 332 + * returned. 333 + * 334 + * This can be used to issue multiple values per emission of an input {@link Source}, essentially 335 + * multiplexing all values to multiple Sources. 336 + * 337 + * @example 338 + * ```ts 339 + * pipe( 340 + * interval(50), 341 + * mergeMap(x => pipe( 342 + * fromValue(x), 343 + * delay(100) 344 + * )), 345 + * subscribe(x => { 346 + * console.log(text); // logs: 0, 1, 2... 347 + * }) 348 + * ); 349 + * ``` 350 + */ 184 351 export function mergeMap<In, Out>(map: (value: In) => Source<Out>): Operator<In, Out> { 185 352 return source => sink => { 186 353 let innerTalkbacks: TalkbackFn[] = []; ··· 254 421 }; 255 422 } 256 423 424 + /** Flattens a Source emitting Sources into a single Source emitting the inner values. 425 + * 426 + * @see {@link mergeMap} which this helper uses and instead accept a mapping function. 427 + * @param source - An {@link Source} emitting {@link Source | Sources}. 428 + * @returns A {@link Source} emitting values from the inner Sources. 429 + * 430 + * @remarks 431 + * `mergeAll` accepts a {@link Source} which must emit {@link Source | Sources}. It will subscribe 432 + * to each incoming source immediately and start passing its emitted values through. 433 + * 434 + * @example 435 + * ```ts 436 + * pipe( 437 + * fromArray([ 438 + * interval(50), 439 + * interval(100), 440 + * ]), 441 + * mergeAll, 442 + * subscribe(x => { 443 + * console.log(text); // logs: 0, 0, 1, 2, 1, 3, 4, 2 444 + * }) 445 + * ); 446 + * ``` 447 + */ 257 448 export function mergeAll<T>(source: Source<Source<T>>): Source<T> { 258 449 return mergeMap<Source<T>, T>(identity)(source); 259 450 } 260 451 452 + /** Emits values from the passed sources simultaneously. 453 + * 454 + * @param sources - An array of {@link Source | Sources}. 455 + * @returns A {@link Source} emitting values from the input Sources. 456 + * 457 + * @remarks 458 + * `merge` accepts an array of {@link Source | Sources} and will subscribe to all of them, passing 459 + * through all their emitted values simultaneously. 460 + * 461 + * This can be used to interleave the values of multiple sources. 462 + * 463 + * @example 464 + * ```ts 465 + * pipe( 466 + * merge([ 467 + * interval(50), 468 + * interval(100), 469 + * ]), 470 + * subscribe(x => { 471 + * console.log(text); // logs: 0, 0, 1, 2, 1, 3, 4, 2 472 + * }) 473 + * ); 474 + * ``` 475 + */ 261 476 export function merge<T>(sources: Source<T>[]): Source<T> { 262 477 return mergeAll(fromArray(sources)); 263 478 } 264 479 480 + /** Calls the passed callback function when the Source ends or is closed. 481 + * 482 + * @param callback - A function that is called when the {@link Source} ends. 483 + * @returns An {@link Operator}. 484 + * 485 + * @remarks 486 + * `onEnd` accepts a callback which is called when the {@link Source} either ends 487 + * or is closed. 488 + * 489 + * This operator can be used to add side-effects to a Source. 490 + * 491 + * @example 492 + * ```ts 493 + * pipe( 494 + * fromArray([1, 2, 3]), 495 + * take(1), 496 + * onEnd(() => { 497 + * console.log('end'); 498 + * }), 499 + * publish 500 + * ); 501 + * ``` 502 + */ 265 503 export function onEnd<T>(callback: () => void): Operator<T, T> { 266 504 return source => sink => { 267 505 let ended = false; ··· 292 530 }; 293 531 } 294 532 533 + /** Calls the passed callback function when the Source emits a value. 534 + * 535 + * @param callback - A function that is called with each value the {@link Source} emits. 536 + * @returns An {@link Operator}. 537 + * 538 + * @remarks 539 + * `onPush` accepts a callback which is called for every emitted value of 540 + * the {@link Source}. 541 + * 542 + * This operator can be used to add side-effects to a Source. 543 + * 544 + * @example 545 + * ```ts 546 + * pipe( 547 + * fromArray([1, 2, 3]), 548 + * onPush(value => { 549 + * console.log(value); // logs: 1, 2, 3 550 + * }), 551 + * publish 552 + * ); 553 + * ``` 554 + */ 295 555 export function onPush<T>(callback: (value: T) => void): Operator<T, T> { 296 556 return source => sink => { 297 557 let ended = false; ··· 317 577 }; 318 578 } 319 579 580 + /** Calls the passed callback function when the Source starts. 581 + * 582 + * @param callback - A function that is called when the {@link Source} is started. 583 + * @returns An {@link Operator}. 584 + * 585 + * @remarks 586 + * `onPush` accepts a callback which is called for every emitted value of 587 + * the {@link Source}. 588 + * 589 + * This operator can be used to add side-effects to a Source. 590 + * Specifically, it's useful to add a side-effect for a Source that triggers only once 591 + * the {@link Source} is used and started. 592 + * 593 + * @example 594 + * ```ts 595 + * pipe( 596 + * fromArray([1, 2, 3]), 597 + * onStart(() => { 598 + * console.log('start'); 599 + * }), 600 + * publish 601 + * ); 602 + * ``` 603 + */ 320 604 export function onStart<T>(callback: () => void): Operator<T, T> { 321 605 return source => sink => 322 606 source(signal => { ··· 331 615 }); 332 616 } 333 617 618 + /** Emits the last value the {@link Source} emitted, whenever the notifier Source emits a value. 619 + * 620 + * @param notifier - A {@link Source} that triggers the last value to be emitted. 621 + * @returns An {@link Operator}. 622 + * 623 + * @remarks 624 + * `sample` will store the latest value the {@link Source} emitted. Every time the `notifier` Source 625 + * emits, it will emit the latest value. 626 + * 627 + * This is a back pressure operator that can be used to omit values from a {@link Source} coming in 628 + * too frequently. 629 + * 630 + * {@link Source | Sources} emitting `undefined` are undefined behaviour and these values will be 631 + * ignored. 632 + * 633 + * @example 634 + * ```ts 635 + * pipe( 636 + * interval(50), 637 + * sample(interval(100)), 638 + * subscribe(x => { 639 + * console.log(text); // logs: 0, 2, 4... 640 + * }) 641 + * ); 642 + * ``` 643 + */ 334 644 export function sample<S, T>(notifier: Source<S>): Operator<T, T> { 335 645 return source => sink => { 336 646 let sourceTalkback = talkbackPlaceholder; ··· 389 699 }; 390 700 } 391 701 702 + /** Maps emitted values using the passed reducer function. 703 + * 704 + * @param reducer - A function called with the last value by the `reducer` and the emitted value. 705 + * @param seed - The initial value that is passed to the `reducer`. 706 + * @returns An {@link Operator}. 707 + * 708 + * @remarks 709 + * `scan` accepts a reducer function and a seed value. The reducer will be called initially with the 710 + * seed value and the first emitted value. The {@link Source} will then emit the value returned by 711 + * the reducer function. Subsequently, the `reducer` is called with the last value the `reducer` 712 + * returned and the emitted value. 713 + * 714 + * This operator is similar to `Array.prototype.reduce`, but instead is called over time and emits 715 + * each value of the reducer. 716 + * 717 + * @example 718 + * ```ts 719 + * pipe( 720 + * fromArray([1, 2, 3]), 721 + * scan((acc, x) => acc + x, 0), 722 + * subscribe(x => { 723 + * console.log(text); // logs: 1, 3, 6 724 + * }) 725 + * ); 726 + * ``` 727 + */ 392 728 export function scan<In, Out>(reducer: (acc: Out, value: In) => Out, seed: Out): Operator<In, Out> { 393 729 return source => sink => { 394 730 let acc = seed; ··· 404 740 }; 405 741 } 406 742 743 + /** Shares one underlying subscription to the Source between all Sinks. 744 + * 745 + * @param source - A {@link Source} that should be shared. 746 + * @returns A shared {@link Source}. 747 + * 748 + * @remarks 749 + * `share` accepts a {@link Source} and returns one. It will emit all values as normal, however, it 750 + * will share one subscription to the input source. This allows side-effects on the input 751 + * {@link Source} to only be triggerd once. 752 + */ 407 753 export function share<T>(source: Source<T>): Source<T> { 408 754 let sinks: Sink<T>[] = []; 409 755 let talkback = talkbackPlaceholder; ··· 438 784 }; 439 785 } 440 786 787 + /** Omits `wait` amount of values from the Source and then runs as usual. 788 + * 789 + * @param wait - The number of values to be omitted. 790 + * @returns An {@link Operator}. 791 + * 792 + * @remarks 793 + * `skip` will skip `wait` number of emitted values, then issue all values as normal afterwards. 794 + * This essentially skips a given number of values on the input {@link Source}. 795 + * 796 + * @example 797 + * ```ts 798 + * pipe( 799 + * fromArray([1, 2, 3]), 800 + * skip(2), 801 + * subscribe(x => { 802 + * console.log(text); // logs: 3 803 + * }) 804 + * ); 805 + * ``` 806 + */ 441 807 export function skip<T>(wait: number): Operator<T, T> { 442 808 return source => sink => { 443 809 let talkback = talkbackPlaceholder; ··· 457 823 }; 458 824 } 459 825 826 + /** Omits values from an input Source until a notifier Source emits a value. 827 + * 828 + * @param notifier - A {@link Source} that starts the operator's sent values. 829 + * @returns An {@link Operator}. 830 + * 831 + * @remarks 832 + * `skipUntil` will omit all values from the input {@link Source} until the `notifier` 833 + * Source emits a value of its own. It'll then start passing values from the Source through. 834 + * 835 + * @example 836 + * ```ts 837 + * pipe( 838 + * interval(50), 839 + * skipUntil(interval(150)), 840 + * subscribe(x => { 841 + * console.log(text); // logs: 2, 3... 842 + * }) 843 + * ); 844 + * ``` 845 + */ 460 846 export function skipUntil<S, T>(notifier: Source<S>): Operator<T, T> { 461 847 return source => sink => { 462 848 let sourceTalkback = talkbackPlaceholder; ··· 513 899 }; 514 900 } 515 901 902 + /** Omits values from an input Source until a predicate function returns `false`. 903 + * 904 + * @param predicate - A function returning a boolean per value. 905 + * @returns An {@link Operator}. 906 + * 907 + * @remarks 908 + * `skipWhile` will omit all values from the input {@link Source} until the `predicate` 909 + * function returns `false`. When the `predicate` function returns `false`, the Source's values will 910 + * be passed through. 911 + * 912 + * @example 913 + * ```ts 914 + * pipe( 915 + * fromArray([1, 2, 3]), 916 + * skipWhile(x => x < 2), 917 + * subscribe(x => { 918 + * console.log(text); // logs: 2, 3 919 + * }) 920 + * ); 921 + * ``` 922 + */ 516 923 export function skipWhile<T>(predicate: (value: T) => boolean): Operator<T, T> { 517 924 return source => sink => { 518 925 let talkback = talkbackPlaceholder; ··· 537 944 }; 538 945 } 539 946 947 + /** Emits from the latest Source returned by a mapping function per value of the Source. 948 + * 949 + * @param map - A function returning a {@link Source} per value. 950 + * @returns An {@link Operator}. 951 + * 952 + * @remarks 953 + * `switchMap` accepts a mapping function which must return a {@link Source} per value. 954 + * The output {@link Source} will emit values from the latest Source the mapping function 955 + * returned. If a value is emitted while the last returned Source is still active, the prior Source 956 + * will be closed. 957 + * 958 + * This can be used to issue multiple values per emission of an input {@link Source}, while only 959 + * letting one of these sub-Sources be active at a time. 960 + * 961 + * @example 962 + * ```ts 963 + * pipe( 964 + * interval(100), 965 + * switchMap(() => interval(50)), 966 + * subscribe(x => { 967 + * console.log(text); // logs: 0, 0, 0... 968 + * }) 969 + * ); 970 + * ``` 971 + */ 540 972 export function switchMap<In, Out>(map: (value: In) => Source<Out>): Operator<In, Out> { 541 973 return source => sink => { 542 974 let outerTalkback = talkbackPlaceholder; ··· 619 1051 }; 620 1052 } 621 1053 1054 + /** Flattens a Source emitting Sources into a single Source emitting the inner values. 1055 + * 1056 + * @see {@link switchMap} which this helper uses and instead accept a mapping function. 1057 + * @param source - An {@link Source} emitting {@link Source | Sources}. 1058 + * @returns A {@link Source} emitting values from the inner Sources. 1059 + * 1060 + * @remarks 1061 + * `switchAll` accepts a {@link Source} which must emit {@link Source | Sources}. Each time it 1062 + * receives a {@link Source} it will close its prior subscription and subscribe to the new Source 1063 + * instead, passing through its values. 1064 + * 1065 + * @example 1066 + * ```ts 1067 + * pipe( 1068 + * interval(100), 1069 + * map(() => interval(50)), 1070 + * switchAll, 1071 + * subscribe(x => { 1072 + * console.log(text); // logs: 0, 0, 0... 1073 + * }) 1074 + * ); 1075 + * ``` 1076 + */ 622 1077 export function switchAll<T>(source: Source<Source<T>>): Source<T> { 623 1078 return switchMap<Source<T>, T>(identity)(source); 624 1079 } 625 1080 1081 + /** Emits `max` values from the Source and then ends. 1082 + * 1083 + * @param max - The maximum number of values emitted. 1084 + * @returns An {@link Operator}. 1085 + * 1086 + * @remarks 1087 + * `take` will issue all values as normal until the `max` number of emitted values has been reached. 1088 + * It will then end and close the {@link Source}. 1089 + * 1090 + * @example 1091 + * ```ts 1092 + * pipe( 1093 + * fromArray([1, 2, 3]), 1094 + * take(2), 1095 + * subscribe(x => { 1096 + * console.log(text); // logs: 1, 2 1097 + * }) 1098 + * ); 1099 + * ``` 1100 + */ 626 1101 export function take<T>(max: number): Operator<T, T> { 627 1102 return source => sink => { 628 1103 let talkback = talkbackPlaceholder; ··· 666 1141 }; 667 1142 } 668 1143 1144 + /** Buffers the `max` last values of the Source and emits them once the Source ends. 1145 + * 1146 + * @param max - The maximum number of values buffered. 1147 + * @returns An {@link Operator}. 1148 + * 1149 + * @remarks 1150 + * `takeLast` will buffer values from the input {@link Source} up until the given `max` number. It 1151 + * will only emit values stored in the buffer once the {@link Source} ends. 1152 + * 1153 + * All values in the buffer are emitted like the {@link fromArray | `fromArray`} source would 1154 + * synchronously. 1155 + * 1156 + * @example 1157 + * ```ts 1158 + * pipe( 1159 + * fromArray([1, 2, 3]), 1160 + * takeLast(1), 1161 + * subscribe(x => { 1162 + * console.log(text); // logs: 3 1163 + * }) 1164 + * ); 1165 + * ``` 1166 + */ 669 1167 export function takeLast<T>(max: number): Operator<T, T> { 670 1168 return source => sink => { 671 1169 const queue: T[] = []; ··· 689 1187 }; 690 1188 } 691 1189 1190 + /** Takes values from an input Source until a notifier Source emits a value. 1191 + * 1192 + * @param notifier - A {@link Source} that stops the operator's sent values. 1193 + * @returns An {@link Operator}. 1194 + * 1195 + * @remarks 1196 + * `takeUntil` will issue all values as normal from the input {@link Source} until the `notifier` 1197 + * Source emits a value of its own. It'll then close the {@link Source}. 1198 + * 1199 + * @example 1200 + * ```ts 1201 + * pipe( 1202 + * interval(50), 1203 + * takeUntil(interval(150)), 1204 + * subscribe(x => { 1205 + * console.log(text); // logs: 0, 1 1206 + * }) 1207 + * ); 1208 + * ``` 1209 + */ 692 1210 export function takeUntil<S, T>(notifier: Source<S>): Operator<T, T> { 693 1211 return source => sink => { 694 1212 let sourceTalkback = talkbackPlaceholder; ··· 710 1228 (notifierTalkback = signal[0])(TalkbackKind.Pull); 711 1229 } else { 712 1230 ended = true; 1231 + notifierTalkback(TalkbackKind.Close); 713 1232 sourceTalkback(TalkbackKind.Close); 714 1233 sink(SignalKind.End); 715 1234 } ··· 732 1251 }; 733 1252 } 734 1253 735 - export function takeWhile<T>(predicate: (value: T) => boolean): Operator<T, T> { 1254 + /** Takes values from an input Source until a predicate function returns `false`. 1255 + * 1256 + * @param predicate - A function returning a boolean per value. 1257 + * @param addOne - Lets an additional input value pass on. 1258 + * @returns An {@link Operator}. 1259 + * 1260 + * @remarks 1261 + * `takeWhile` will issue all values as normal from the input {@link Source} until the `predicate` 1262 + * function returns `false`. When the `predicate` function returns `false`, the current value is 1263 + * omitted and the {@link Source} is closed. 1264 + * 1265 + * If `addOne` is set to `true`, the value for which the `predicate` first returned `false` is 1266 + * issued and passed on as well instead of being omitted. 1267 + * 1268 + * @example 1269 + * ```ts 1270 + * pipe( 1271 + * fromArray([1, 2, 3]), 1272 + * takeWhile(x => x < 2), 1273 + * subscribe(x => { 1274 + * console.log(text); // logs: 1 1275 + * }) 1276 + * ); 1277 + * ``` 1278 + */ 1279 + export function takeWhile<T>(predicate: (value: T) => boolean, addOne?: boolean): Operator<T, T> { 736 1280 return source => sink => { 737 1281 let talkback = talkbackPlaceholder; 738 1282 let ended = false; ··· 747 1291 sink(signal); 748 1292 } else if (!predicate(signal[0])) { 749 1293 ended = true; 1294 + if (addOne) sink(signal); 750 1295 sink(SignalKind.End); 751 1296 talkback(TalkbackKind.Close); 752 1297 } else { ··· 756 1301 }; 757 1302 } 758 1303 1304 + /** Debounces a Source by omitting values until a given timeframe has passed. 1305 + * 1306 + * @param timing - A function returning a debounce time (ms) per emitted value. 1307 + * @returns An {@link Operator}. 1308 + * 1309 + * @remarks 1310 + * `debounce` accepts a mapping function that can be used to return a time (in ms) per emitted 1311 + * value. All emitted values issued by the {@link Source} during the returned time will be omitted 1312 + * until the time has passed. 1313 + * 1314 + * Debouncing means that the returned {@link Source} will wait for a minimum time of silence until a 1315 + * value is let through. 1316 + * 1317 + * This is a back pressure operator that can be used to omit values from a {@link Source} coming in 1318 + * too frequently. 1319 + * 1320 + * @example 1321 + * ```ts 1322 + * pipe( 1323 + * interval(50), 1324 + * debounce(() => 100), 1325 + * subscribe(x => { 1326 + * console.log(text); // never logs any value 1327 + * }) 1328 + * ); 1329 + * ``` 1330 + */ 759 1331 export function debounce<T>(timing: (value: T) => number): Operator<T, T> { 760 1332 return source => sink => { 761 1333 let id: any | void; ··· 797 1369 }; 798 1370 } 799 1371 1372 + /** Delays each signal emitted by a Source by given time (ms). 1373 + * 1374 + * @param wait - A time (in ms) by which each {@link SignalKind | signal} is delayed. 1375 + * @returns An {@link Operator}. 1376 + * 1377 + * @remarks 1378 + * `delay` accepts a time (in ms) by which each {@link SignalKind | signal} will be delayed by. 1379 + * This will create a timeout per received signal and delay the emitted values accordingly. 1380 + * 1381 + * Since the operator only calls `setTimeout` per signal, it relies on the timeout implementation to 1382 + * be ordered. Otherwise, signals will arrive in the wrong order at the sink. 1383 + */ 800 1384 export function delay<T>(wait: number): Operator<T, T> { 801 1385 return source => sink => { 802 1386 let active = 0; ··· 816 1400 }; 817 1401 } 818 1402 1403 + /** Throttles a Source by omitting values that are emitted before a given timeout. 1404 + * 1405 + * @param timing - A function returning a throttle time (ms) per emitted value. 1406 + * @returns An {@link Operator}. 1407 + * 1408 + * @remarks 1409 + * `throttle` accepts a mapping function that can be used to return a time (in ms) per emitted 1410 + * value. During the returned timeframe all values issued by the {@link Source} will be omitted and 1411 + * dropped. 1412 + * 1413 + * This is a back pressure operator that can be used to omit values from a {@link Source} coming in 1414 + * too frequently. 1415 + * 1416 + * @example 1417 + * ```ts 1418 + * pipe( 1419 + * interval(50), 1420 + * throttle(() => 100), 1421 + * subscribe(x => { 1422 + * // omits every second value: 0, 2, 4... 1423 + * console.log(text); 1424 + * }) 1425 + * ); 1426 + * ``` 1427 + */ 819 1428 export function throttle<T>(timing: (value: T) => number): Operator<T, T> { 820 1429 return source => sink => { 821 1430 let skip = false;
+156 -131
src/pipe.ts
··· 1 - import { Source } from './types'; 1 + import { Source, Sink, Operator } from './types'; 2 2 3 3 interface UnaryFn<T, R> { 4 4 (source: T): R; 5 5 } 6 6 7 - /* pipe definitions for source + operators composition */ 7 + /** Chain calls operators on a given source and returns the last result. 8 + * @param args - A source, then a variable number of transform functions 9 + * 10 + * @remarks 11 + * The `pipe` utility can be called with a {@link Source} then one or more unary transform functions. 12 + * Each transform function will be called in turn with the last function's return value, starting 13 + * with the source passed as the first argument to `pipe`. 14 + * 15 + * It's used to transform a source with a list of {@link Operator | Operators}. The last argument may 16 + * also be a {@link Sink} that returns something else than a Source. 17 + * 18 + * @example 19 + * 20 + * ```ts 21 + * pipe( 22 + * fromArray([1, 2, 3]), 23 + * map(x => x * 2), 24 + * subscribe(console.log) 25 + * ); 26 + * ``` 27 + * 28 + * @see {@link https://github.com/tc39/proposal-pipeline-operator} for the JS Pipeline Operator spec, for which this is a replacement utility for. 29 + */ 30 + interface pipe { 31 + /* pipe definitions for source + operators composition */ 8 32 9 - function pipe<T, A>(source: Source<T>, op1: UnaryFn<Source<T>, Source<A>>): Source<A>; 33 + <T, A>(source: Source<T>, op1: UnaryFn<Source<T>, Source<A>>): Source<A>; 10 34 11 - function pipe<T, A, B>( 12 - source: Source<T>, 13 - op1: UnaryFn<Source<T>, Source<A>>, 14 - op2: UnaryFn<Source<A>, Source<B>> 15 - ): Source<B>; 35 + <T, A, B>( 36 + source: Source<T>, 37 + op1: UnaryFn<Source<T>, Source<A>>, 38 + op2: UnaryFn<Source<A>, Source<B>> 39 + ): Source<B>; 16 40 17 - function pipe<T, A, B, C>( 18 - source: Source<T>, 19 - op1: UnaryFn<Source<T>, Source<A>>, 20 - op2: UnaryFn<Source<A>, Source<B>>, 21 - op3: UnaryFn<Source<B>, Source<C>> 22 - ): Source<C>; 41 + <T, A, B, C>( 42 + source: Source<T>, 43 + op1: UnaryFn<Source<T>, Source<A>>, 44 + op2: UnaryFn<Source<A>, Source<B>>, 45 + op3: UnaryFn<Source<B>, Source<C>> 46 + ): Source<C>; 23 47 24 - function pipe<T, A, B, C, D>( 25 - source: Source<T>, 26 - op1: UnaryFn<Source<T>, Source<A>>, 27 - op2: UnaryFn<Source<A>, Source<B>>, 28 - op3: UnaryFn<Source<B>, Source<C>>, 29 - op4: UnaryFn<Source<C>, Source<D>> 30 - ): Source<D>; 48 + <T, A, B, C, D>( 49 + source: Source<T>, 50 + op1: UnaryFn<Source<T>, Source<A>>, 51 + op2: UnaryFn<Source<A>, Source<B>>, 52 + op3: UnaryFn<Source<B>, Source<C>>, 53 + op4: UnaryFn<Source<C>, Source<D>> 54 + ): Source<D>; 31 55 32 - function pipe<T, A, B, C, D, E>( 33 - source: Source<T>, 34 - op1: UnaryFn<Source<T>, Source<A>>, 35 - op2: UnaryFn<Source<A>, Source<B>>, 36 - op3: UnaryFn<Source<B>, Source<C>>, 37 - op4: UnaryFn<Source<C>, Source<D>>, 38 - op5: UnaryFn<Source<D>, Source<E>> 39 - ): Source<E>; 56 + <T, A, B, C, D, E>( 57 + source: Source<T>, 58 + op1: UnaryFn<Source<T>, Source<A>>, 59 + op2: UnaryFn<Source<A>, Source<B>>, 60 + op3: UnaryFn<Source<B>, Source<C>>, 61 + op4: UnaryFn<Source<C>, Source<D>>, 62 + op5: UnaryFn<Source<D>, Source<E>> 63 + ): Source<E>; 40 64 41 - function pipe<T, A, B, C, D, E, F>( 42 - source: Source<T>, 43 - op1: UnaryFn<Source<T>, Source<A>>, 44 - op2: UnaryFn<Source<A>, Source<B>>, 45 - op3: UnaryFn<Source<B>, Source<C>>, 46 - op4: UnaryFn<Source<C>, Source<D>>, 47 - op5: UnaryFn<Source<D>, Source<E>>, 48 - op6: UnaryFn<Source<E>, Source<F>> 49 - ): Source<F>; 65 + <T, A, B, C, D, E, F>( 66 + source: Source<T>, 67 + op1: UnaryFn<Source<T>, Source<A>>, 68 + op2: UnaryFn<Source<A>, Source<B>>, 69 + op3: UnaryFn<Source<B>, Source<C>>, 70 + op4: UnaryFn<Source<C>, Source<D>>, 71 + op5: UnaryFn<Source<D>, Source<E>>, 72 + op6: UnaryFn<Source<E>, Source<F>> 73 + ): Source<F>; 50 74 51 - function pipe<T, A, B, C, D, E, F, G>( 52 - source: Source<T>, 53 - op1: UnaryFn<Source<T>, Source<A>>, 54 - op2: UnaryFn<Source<A>, Source<B>>, 55 - op3: UnaryFn<Source<B>, Source<C>>, 56 - op4: UnaryFn<Source<C>, Source<D>>, 57 - op5: UnaryFn<Source<D>, Source<E>>, 58 - op6: UnaryFn<Source<E>, Source<F>>, 59 - op7: UnaryFn<Source<F>, Source<G>> 60 - ): Source<G>; 75 + <T, A, B, C, D, E, F, G>( 76 + source: Source<T>, 77 + op1: UnaryFn<Source<T>, Source<A>>, 78 + op2: UnaryFn<Source<A>, Source<B>>, 79 + op3: UnaryFn<Source<B>, Source<C>>, 80 + op4: UnaryFn<Source<C>, Source<D>>, 81 + op5: UnaryFn<Source<D>, Source<E>>, 82 + op6: UnaryFn<Source<E>, Source<F>>, 83 + op7: UnaryFn<Source<F>, Source<G>> 84 + ): Source<G>; 61 85 62 - function pipe<T, A, B, C, D, E, F, G, H>( 63 - source: Source<T>, 64 - op1: UnaryFn<Source<T>, Source<A>>, 65 - op2: UnaryFn<Source<A>, Source<B>>, 66 - op3: UnaryFn<Source<B>, Source<C>>, 67 - op4: UnaryFn<Source<C>, Source<D>>, 68 - op5: UnaryFn<Source<D>, Source<E>>, 69 - op6: UnaryFn<Source<E>, Source<F>>, 70 - op7: UnaryFn<Source<F>, Source<G>>, 71 - op8: UnaryFn<Source<G>, Source<H>> 72 - ): Source<H>; 86 + <T, A, B, C, D, E, F, G, H>( 87 + source: Source<T>, 88 + op1: UnaryFn<Source<T>, Source<A>>, 89 + op2: UnaryFn<Source<A>, Source<B>>, 90 + op3: UnaryFn<Source<B>, Source<C>>, 91 + op4: UnaryFn<Source<C>, Source<D>>, 92 + op5: UnaryFn<Source<D>, Source<E>>, 93 + op6: UnaryFn<Source<E>, Source<F>>, 94 + op7: UnaryFn<Source<F>, Source<G>>, 95 + op8: UnaryFn<Source<G>, Source<H>> 96 + ): Source<H>; 73 97 74 - /* pipe definitions for source + operators + consumer composition */ 98 + /* pipe definitions for source + operators + consumer composition */ 75 99 76 - function pipe<T, R>(source: Source<T>, consumer: UnaryFn<Source<T>, R>): R; 100 + <T, R>(source: Source<T>, consumer: UnaryFn<Source<T>, R>): R; 77 101 78 - function pipe<T, A, R>( 79 - source: Source<T>, 80 - op1: UnaryFn<Source<T>, Source<A>>, 81 - consumer: UnaryFn<Source<A>, R> 82 - ): R; 102 + <T, A, R>( 103 + source: Source<T>, 104 + op1: UnaryFn<Source<T>, Source<A>>, 105 + consumer: UnaryFn<Source<A>, R> 106 + ): R; 83 107 84 - function pipe<T, A, B, R>( 85 - source: Source<T>, 86 - op1: UnaryFn<Source<T>, Source<A>>, 87 - op2: UnaryFn<Source<A>, Source<B>>, 88 - consumer: UnaryFn<Source<B>, R> 89 - ): R; 108 + <T, A, B, R>( 109 + source: Source<T>, 110 + op1: UnaryFn<Source<T>, Source<A>>, 111 + op2: UnaryFn<Source<A>, Source<B>>, 112 + consumer: UnaryFn<Source<B>, R> 113 + ): R; 90 114 91 - function pipe<T, A, B, C, R>( 92 - source: Source<T>, 93 - op1: UnaryFn<Source<T>, Source<A>>, 94 - op2: UnaryFn<Source<A>, Source<B>>, 95 - op3: UnaryFn<Source<B>, Source<C>>, 96 - consumer: UnaryFn<Source<C>, R> 97 - ): R; 115 + <T, A, B, C, R>( 116 + source: Source<T>, 117 + op1: UnaryFn<Source<T>, Source<A>>, 118 + op2: UnaryFn<Source<A>, Source<B>>, 119 + op3: UnaryFn<Source<B>, Source<C>>, 120 + consumer: UnaryFn<Source<C>, R> 121 + ): R; 98 122 99 - function pipe<T, A, B, C, D, R>( 100 - source: Source<T>, 101 - op1: UnaryFn<Source<T>, Source<A>>, 102 - op2: UnaryFn<Source<A>, Source<B>>, 103 - op3: UnaryFn<Source<B>, Source<C>>, 104 - op4: UnaryFn<Source<C>, Source<D>>, 105 - consumer: UnaryFn<Source<D>, R> 106 - ): R; 123 + <T, A, B, C, D, R>( 124 + source: Source<T>, 125 + op1: UnaryFn<Source<T>, Source<A>>, 126 + op2: UnaryFn<Source<A>, Source<B>>, 127 + op3: UnaryFn<Source<B>, Source<C>>, 128 + op4: UnaryFn<Source<C>, Source<D>>, 129 + consumer: UnaryFn<Source<D>, R> 130 + ): R; 107 131 108 - function pipe<T, A, B, C, D, E, R>( 109 - source: Source<T>, 110 - op1: UnaryFn<Source<T>, Source<A>>, 111 - op2: UnaryFn<Source<A>, Source<B>>, 112 - op3: UnaryFn<Source<B>, Source<C>>, 113 - op4: UnaryFn<Source<C>, Source<D>>, 114 - op5: UnaryFn<Source<D>, Source<E>>, 115 - consumer: UnaryFn<Source<E>, R> 116 - ): R; 132 + <T, A, B, C, D, E, R>( 133 + source: Source<T>, 134 + op1: UnaryFn<Source<T>, Source<A>>, 135 + op2: UnaryFn<Source<A>, Source<B>>, 136 + op3: UnaryFn<Source<B>, Source<C>>, 137 + op4: UnaryFn<Source<C>, Source<D>>, 138 + op5: UnaryFn<Source<D>, Source<E>>, 139 + consumer: UnaryFn<Source<E>, R> 140 + ): R; 117 141 118 - function pipe<T, A, B, C, D, E, F, R>( 119 - source: Source<T>, 120 - op1: UnaryFn<Source<T>, Source<A>>, 121 - op2: UnaryFn<Source<A>, Source<B>>, 122 - op3: UnaryFn<Source<B>, Source<C>>, 123 - op4: UnaryFn<Source<C>, Source<D>>, 124 - op5: UnaryFn<Source<D>, Source<E>>, 125 - op6: UnaryFn<Source<E>, Source<F>>, 126 - consumer: UnaryFn<Source<F>, R> 127 - ): R; 142 + <T, A, B, C, D, E, F, R>( 143 + source: Source<T>, 144 + op1: UnaryFn<Source<T>, Source<A>>, 145 + op2: UnaryFn<Source<A>, Source<B>>, 146 + op3: UnaryFn<Source<B>, Source<C>>, 147 + op4: UnaryFn<Source<C>, Source<D>>, 148 + op5: UnaryFn<Source<D>, Source<E>>, 149 + op6: UnaryFn<Source<E>, Source<F>>, 150 + consumer: UnaryFn<Source<F>, R> 151 + ): R; 128 152 129 - function pipe<T, A, B, C, D, E, F, G, R>( 130 - source: Source<T>, 131 - op1: UnaryFn<Source<T>, Source<A>>, 132 - op2: UnaryFn<Source<A>, Source<B>>, 133 - op3: UnaryFn<Source<B>, Source<C>>, 134 - op4: UnaryFn<Source<C>, Source<D>>, 135 - op5: UnaryFn<Source<D>, Source<E>>, 136 - op6: UnaryFn<Source<E>, Source<F>>, 137 - op7: UnaryFn<Source<F>, Source<G>>, 138 - consumer: UnaryFn<Source<G>, R> 139 - ): R; 153 + <T, A, B, C, D, E, F, G, R>( 154 + source: Source<T>, 155 + op1: UnaryFn<Source<T>, Source<A>>, 156 + op2: UnaryFn<Source<A>, Source<B>>, 157 + op3: UnaryFn<Source<B>, Source<C>>, 158 + op4: UnaryFn<Source<C>, Source<D>>, 159 + op5: UnaryFn<Source<D>, Source<E>>, 160 + op6: UnaryFn<Source<E>, Source<F>>, 161 + op7: UnaryFn<Source<F>, Source<G>>, 162 + consumer: UnaryFn<Source<G>, R> 163 + ): R; 140 164 141 - function pipe<T, A, B, C, D, E, F, G, H, R>( 142 - source: Source<T>, 143 - op1: UnaryFn<Source<T>, Source<A>>, 144 - op2: UnaryFn<Source<A>, Source<B>>, 145 - op3: UnaryFn<Source<B>, Source<C>>, 146 - op4: UnaryFn<Source<C>, Source<D>>, 147 - op5: UnaryFn<Source<D>, Source<E>>, 148 - op6: UnaryFn<Source<E>, Source<F>>, 149 - op7: UnaryFn<Source<F>, Source<G>>, 150 - op8: UnaryFn<Source<G>, Source<H>>, 151 - consumer: UnaryFn<Source<H>, R> 152 - ): R; 165 + <T, A, B, C, D, E, F, G, H, R>( 166 + source: Source<T>, 167 + op1: UnaryFn<Source<T>, Source<A>>, 168 + op2: UnaryFn<Source<A>, Source<B>>, 169 + op3: UnaryFn<Source<B>, Source<C>>, 170 + op4: UnaryFn<Source<C>, Source<D>>, 171 + op5: UnaryFn<Source<D>, Source<E>>, 172 + op6: UnaryFn<Source<E>, Source<F>>, 173 + op7: UnaryFn<Source<F>, Source<G>>, 174 + op8: UnaryFn<Source<G>, Source<H>>, 175 + consumer: UnaryFn<Source<H>, R> 176 + ): R; 177 + } 153 178 154 - function pipe(...args: any[]) { 179 + const pipe: pipe = (...args: Function[]): any => { 155 180 let x = args[0]; 156 181 for (let i = 1, l = args.length; i < l; i++) x = args[i](x); 157 182 return x; 158 - } 183 + }; 159 184 160 185 export { pipe };
+182 -3
src/sinks.ts
··· 1 - import { Source, Subscription, TalkbackKind, SignalKind } from './types'; 2 - import { talkbackPlaceholder } from './helpers'; 1 + import { Source, Subscription, TalkbackKind, SignalKind, SourceIterable } from './types'; 2 + import { talkbackPlaceholder, asyncIteratorSymbol } from './helpers'; 3 3 4 + /** Creates a subscription to a given source and invokes a `subscriber` callback for each value. 5 + * @param subscriber - A callback function called for each issued value. 6 + * @returns A function accepting a {@link Source} and returning a {@link Subscription}. 7 + * 8 + * @remarks 9 + * `subscribe` accepts a `subscriber` callback and returns a function accepting a {@link Source}. 10 + * When a source is passed to the returned funtion, the subscription will start and `subscriber` 11 + * will be called for each new value the Source issues. This will also return a {@link Subscription} 12 + * object that can cancel the ongoing {@link Source} early. 13 + * 14 + * @example 15 + * ```ts 16 + * const subscription = pipe( 17 + * fromValue('test'), 18 + * subscribe(text => { 19 + * console.log(text); // 'test' 20 + * }) 21 + * ); 22 + * ``` 23 + */ 4 24 export function subscribe<T>(subscriber: (value: T) => void) { 5 25 return (source: Source<T>): Subscription => { 6 26 let talkback = talkbackPlaceholder; ··· 26 46 }; 27 47 } 28 48 49 + /** Creates a subscription to a given source and invokes a `subscriber` callback for each value. 50 + * @see {@link subscribe} which this helper aliases without returnin a {@link Subscription}. 51 + * @param subscriber - A callback function called for each issued value. 52 + * @returns A function accepting a {@link Source}. 53 + * 54 + * @remarks 55 + * `forEach` accepts a `subscriber` callback and returns a function accepting a {@link Source}. 56 + * When a source is passed to the returned funtion, the subscription will start and `subscriber` 57 + * will be called for each new value the Source issues. Unlike `subscribe` it will not return a 58 + * Subscription object and can't be cancelled early. 59 + * 60 + * @example 61 + * ```ts 62 + * pipe( 63 + * fromValue('test'), 64 + * forEach(text => { 65 + * console.log(text); // 'test' 66 + * }) 67 + * ); // undefined 68 + * ``` 69 + */ 29 70 export function forEach<T>(subscriber: (value: T) => void) { 30 71 return (source: Source<T>): void => { 31 72 subscribe(subscriber)(source); 32 73 }; 33 74 } 34 75 76 + /** Creates a subscription to a given source and invokes a `subscriber` callback for each value. 77 + * @see {@link subscribe} which this helper aliases without accepting parameters or returning a 78 + * {@link Subscription | Subscription}. 79 + * 80 + * @param source - A {@link Source}. 81 + * 82 + * @remarks 83 + * `publish` accepts a {@link Source} and subscribes to it, starting its values. The resulting 84 + * values cannot be observed and the subscription can't be cancelled, as this helper is purely 85 + * intended to start side-effects. 86 + * 87 + * @example 88 + * ```ts 89 + * pipe( 90 + * lazy(() => { 91 + * console.log('test'); // this is called 92 + * return fromValue(123); // this is never used 93 + * }), 94 + * publish 95 + * ); // undefined 96 + * ``` 97 + */ 35 98 export function publish<T>(source: Source<T>): void { 36 99 subscribe(_value => { 37 100 /*noop*/ 38 101 })(source); 39 102 } 40 103 104 + const doneResult = { done: true } as IteratorReturnResult<void>; 105 + 106 + /** Converts a Source to an AsyncIterable that pulls and issues values from the Source. 107 + * 108 + * @param source - A {@link Source}. 109 + * @returns An {@link AsyncIterable | `AsyncIterable`} issuing values from the Source. 110 + * 111 + * @remarks 112 + * `toAsyncIterable` will create an {@link AsyncIterable} that pulls and issues values from a given 113 + * {@link Source}. This can be used in many interoperability situations, to provide an iterable when 114 + * a consumer requires it. 115 + * 116 + * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols} 117 + * for the JS Iterable protocol. 118 + * 119 + * @example 120 + * ```ts 121 + * const iterable = toAsyncIterable(fromArray([1, 2, 3])); 122 + * for await (const value of iterable) { 123 + * console.log(value); // outputs: 1, 2, 3 124 + * } 125 + * ``` 126 + */ 127 + export const toAsyncIterable = <T>(source: Source<T>): SourceIterable<T> => { 128 + const buffer: T[] = []; 129 + 130 + let ended = false; 131 + let started = false; 132 + let pulled = false; 133 + let talkback = talkbackPlaceholder; 134 + let next: ((value: IteratorResult<T>) => void) | void; 135 + 136 + return { 137 + async next(): Promise<IteratorResult<T>> { 138 + if (!started) { 139 + started = true; 140 + source(signal => { 141 + if (ended) { 142 + /*noop*/ 143 + } else if (signal === SignalKind.End) { 144 + if (next) next = next(doneResult); 145 + ended = true; 146 + } else if (signal.tag === SignalKind.Start) { 147 + pulled = true; 148 + (talkback = signal[0])(TalkbackKind.Pull); 149 + } else { 150 + pulled = false; 151 + if (next) { 152 + next = next({ value: signal[0], done: false }); 153 + } else { 154 + buffer.push(signal[0]); 155 + } 156 + } 157 + }); 158 + } 159 + 160 + if (ended && !buffer.length) { 161 + return doneResult; 162 + } else if (!ended && !pulled && buffer.length <= 1) { 163 + pulled = true; 164 + talkback(TalkbackKind.Pull); 165 + } 166 + 167 + return buffer.length 168 + ? { value: buffer.shift()!, done: false } 169 + : new Promise(resolve => (next = resolve)); 170 + }, 171 + async return(): Promise<IteratorReturnResult<void>> { 172 + if (!ended) next = talkback(TalkbackKind.Close); 173 + ended = true; 174 + return doneResult; 175 + }, 176 + [asyncIteratorSymbol()](): SourceIterable<T> { 177 + return this; 178 + }, 179 + }; 180 + }; 181 + 182 + /** Subscribes to a given source and collects all synchronous values into an array. 183 + * @param source - A {@link Source}. 184 + * @returns An array of values collected from the {@link Source}. 185 + * 186 + * @remarks 187 + * `toArray` accepts a {@link Source} and returns an array of all synchronously issued values from 188 + * this Source. It will issue {@link TalkbackKind.Pull | Pull signals} after every value it receives 189 + * and expects the Source to recursively issue values. 190 + * 191 + * Any asynchronously issued values will not be 192 + * added to the array and a {@link TalkbackKind.Close | Close signal} is issued by the sink before 193 + * returning the array. 194 + * 195 + * @example 196 + * ```ts 197 + * toArray(fromArray([1, 2, 3])); // [1, 2, 3] 198 + * ``` 199 + */ 41 200 export function toArray<T>(source: Source<T>): T[] { 42 201 const values: T[] = []; 43 202 let talkback = talkbackPlaceholder; ··· 56 215 return values; 57 216 } 58 217 218 + /** Subscribes to a given source and returns a Promise that will resolve with the last value the 219 + * source issues. 220 + * 221 + * @param source - A {@link Source}. 222 + * @returns A {@link Promise} resolving to the last value of the {@link Source}. 223 + * 224 + * @remarks 225 + * `toPromise` will subscribe to the passed {@link Source} and resolve to the last value of it once 226 + * it receives the last value, as signaled by the {@link SignalKind.End | End signal}. 227 + * 228 + * To keep its implementation simple, padding sources that don't issue any values to `toPromise` is 229 + * undefined behaviour and `toPromise` will issue `undefined` in that case. 230 + * 231 + * The returned {@link Promise} delays its value by a microtick, using `Promise.resolve`. 232 + * 233 + * @example 234 + * ```ts 235 + * toPromise(fromValue('test')); // resolves: 'test' 236 + * ``` 237 + */ 59 238 export function toPromise<T>(source: Source<T>): Promise<T> { 60 239 return new Promise(resolve => { 61 240 let talkback = talkbackPlaceholder; 62 241 let value: T | void; 63 242 source(signal => { 64 243 if (signal === SignalKind.End) { 65 - resolve(value!); 244 + Promise.resolve(value!).then(resolve); 66 245 } else if (signal.tag === SignalKind.Start) { 67 246 (talkback = signal[0])(TalkbackKind.Pull); 68 247 } else {
+218 -8
src/sources.ts
··· 1 1 import { Source, Sink, SignalKind, TalkbackKind, Observer, Subject, TeardownFn } from './types'; 2 - import { push, start, talkbackPlaceholder, teardownPlaceholder } from './helpers'; 2 + import { 3 + push, 4 + start, 5 + talkbackPlaceholder, 6 + teardownPlaceholder, 7 + asyncIteratorSymbol, 8 + } from './helpers'; 3 9 import { share } from './operators'; 4 10 5 - export function lazy<T>(make: () => Source<T>): Source<T> { 6 - return sink => make()(sink); 11 + /** Helper creating a Source from a factory function when it's subscribed to. 12 + * @param produce - A factory function returning a {@link Source}. 13 + * @returns A {@link Source} lazyily subscribing to the Source returned by the given factory 14 + * function. 15 + * 16 + * @remarks 17 + * At times it's necessary to create a {@link Source} lazily. The time of a {@link Source} being 18 + * created could be different from when it's subscribed to, and hence we may want to split the 19 + * creation and subscription time. This is especially useful when the Source we wrap is "hot" and 20 + * issues values as soon as it's created, which we may then not receive in a subscriber. 21 + * 22 + * @example An example of creating a {@link Source} that issues the timestamp of subscription. Here 23 + * we effectively use `lazy` with the simple {@link fromValue | `fromValue`} source, to quickly 24 + * create a Source that issues the time of its subscription, rather than the time of its creation 25 + * that it would otherwise issue without `lazy`. 26 + * 27 + * ```ts 28 + * lazy(() => fromValue(Date.now())); 29 + * ``` 30 + */ 31 + export function lazy<T>(produce: () => Source<T>): Source<T> { 32 + return sink => produce()(sink); 7 33 } 8 34 9 - export function fromAsyncIterable<T>(iterable: AsyncIterable<T>): Source<T> { 35 + /** Converts an AsyncIterable to a Source that pulls and issues values from it as requested. 36 + * 37 + * @see {@link fromIterable | `fromIterable`} for the non-async Iterable version of this helper, 38 + * which calls this helper automatically as needed. 39 + * 40 + * @param iterable - An {@link AsyncIterable | `AsyncIterable`}. 41 + * @returns A {@link Source} issuing values sourced from the Iterable. 42 + * 43 + * @remarks 44 + * `fromAsyncIterable` will create a {@link Source} that pulls and issues values from a given 45 + * {@link AsyncIterable}. This can be used in many interoperability situations, including to consume 46 + * an async generator function. 47 + * 48 + * When the {@link Sink} throws an exception when a new value is pushed, this helper will rethrow it 49 + * using {@link AsyncIterator.throw}, which allows an async generator to recover from the exception. 50 + * 51 + * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols} 52 + * for the JS Iterable protocol. 53 + */ 54 + export function fromAsyncIterable<T>(iterable: AsyncIterable<T> | AsyncIterator<T>): Source<T> { 10 55 return sink => { 11 - const iterator = iterable[Symbol.asyncIterator](); 56 + const iterator: AsyncIterator<T> = 57 + (iterable[asyncIteratorSymbol()] && iterable[asyncIteratorSymbol()]()) || iterable; 58 + 12 59 let ended = false; 13 60 let looping = false; 14 61 let pulled = false; ··· 46 93 }; 47 94 } 48 95 96 + /** Converts an Iterable to a Source that pulls and issues values from it as requested. 97 + * @see {@link fromAsyncIterable | `fromAsyncIterable`} for the AsyncIterable version of this helper. 98 + * @param iterable - An {@link Iterable | `Iterable`} or an `AsyncIterable` 99 + * @returns A {@link Source} issuing values sourced from the Iterable. 100 + * 101 + * @remarks 102 + * `fromIterable` will create a {@link Source} that pulls and issues values from a given 103 + * {@link Iterable | JS Iterable}. As iterables are the common standard for any lazily iterated list 104 + * of values in JS it can be applied to many different JS data types, including a JS Generator 105 + * function. 106 + * 107 + * This Source will only call {@link Iterator.next} on the iterator when the subscribing {@link Sink} 108 + * has pulled a new value with the {@link TalkbackKind.Pull | Pull signal}. `fromIterable` can 109 + * therefore also be applied to "infinite" iterables, without a predefined end. 110 + * 111 + * This helper will call {@link fromAsyncIterable | `fromAsyncIterable`} automatically when the 112 + * passed object also implements the async iterator protocol. 113 + * 114 + * When the {@link Sink} throws an exception when a new value is pushed, this helper will rethrow it 115 + * using {@link Iterator.throw}, which allows a generator to recover from the exception. 116 + * 117 + * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol} 118 + * for the JS Iterable protocol. 119 + */ 49 120 export function fromIterable<T>(iterable: Iterable<T> | AsyncIterable<T>): Source<T> { 50 - if (iterable[Symbol.asyncIterator]) return fromAsyncIterable(iterable as AsyncIterable<T>); 121 + if (iterable[asyncIteratorSymbol()]) return fromAsyncIterable(iterable as AsyncIterable<T>); 51 122 return sink => { 52 123 const iterator = iterable[Symbol.iterator](); 53 124 let ended = false; ··· 87 158 }; 88 159 } 89 160 161 + /** Creates a Source that issues a each value of a given array synchronously. 162 + * @see {@link fromIterable} which `fromArray` aliases. 163 + * @param array - The array whose values will be issued one by one. 164 + * @returns A {@link Source} issuing the array's values. 165 + * 166 + * @remarks 167 + * `fromArray` will create a {@link Source} that issues the values of a given JS array one by one. It 168 + * will issue values as they're pulled and is hence a "cold" source, not eagerly emitting values. It 169 + * will end and issue the {@link SignalKind.End | End signal} when the array is exhausted of values. 170 + * 171 + * @example 172 + * ```ts 173 + * fromArray([1, 2, 3]); 174 + * ``` 175 + */ 90 176 export const fromArray: <T>(array: T[]) => Source<T> = fromIterable; 91 177 178 + /** Creates a Source that issues a single value and ends immediately after. 179 + * @param value - The value that will be issued. 180 + * @returns A {@link Source} issuing the single value. 181 + * 182 + * @example 183 + * ```ts 184 + * fromValue('test'); 185 + * ``` 186 + */ 92 187 export function fromValue<T>(value: T): Source<T> { 93 188 return sink => { 94 189 let ended = false; ··· 106 201 }; 107 202 } 108 203 109 - export function make<T>(produce: (observer: Observer<T>) => TeardownFn): Source<T> { 204 + /** Creates a new Source from scratch from a passed `subscriber` function. 205 + * @param subscriber - A callback that is called when the {@link Source} is subscribed to. 206 + * @returns A {@link Source} created from the `subscriber` parameter. 207 + * 208 + * @remarks 209 + * `make` is used to create a new, arbitrary {@link Source} from scratch. It calls the passed 210 + * `subscriber` function when it's subscribed to. 211 + * 212 + * The `subscriber` function receives an {@link Observer}. You may call {@link Observer.next} to 213 + * issue values on the Source, and {@link Observer.complete} to end the Source. 214 + * 215 + * Your `subscribr` function must return a {@link TeardownFn | teardown function} which is only 216 + * called when your source is cancelled — not when you invoke `complete` yourself. As this creates a 217 + * "cold" source, every time this source is subscribed to, it will invoke the `subscriber` function 218 + * again and create a new source. 219 + * 220 + * @example 221 + * 222 + * ```ts 223 + * make(observer => { 224 + * const frame = requestAnimationFrame(() => { 225 + * observer.next('animate!'); 226 + * }); 227 + * return () => { 228 + * cancelAnimationFrame(frame); 229 + * }; 230 + * }); 231 + * ``` 232 + */ 233 + export function make<T>(subscriber: (observer: Observer<T>) => TeardownFn): Source<T> { 110 234 return sink => { 111 235 let ended = false; 112 - const teardown = produce({ 236 + const teardown = subscriber({ 113 237 next(value: T) { 114 238 if (!ended) sink(push(value)); 115 239 }, ··· 131 255 }; 132 256 } 133 257 258 + /** Creates a new Subject which can be used as an IO event hub. 259 + * @returns A new {@link Subject}. 260 + * 261 + * @remarks 262 + * `makeSubject` creates a new {@link Subject}. A Subject is a {@link Source} and an {@link Observer} 263 + * combined in one interface, as the Observer is used to send new signals to the Source. This means 264 + * that it's "hot" and hence all subscriptions to {@link Subject.source} share the same underlying 265 + * signals coming from {@link Subject.next} and {@link Subject.complete}. 266 + * 267 + * @example 268 + * ```ts 269 + * const subject = makeSubject(); 270 + * pipe(subject.source, subscribe(console.log)); 271 + * // This will log the string on the above subscription 272 + * subject.next('hello subject!'); 273 + * ``` 274 + */ 134 275 export function makeSubject<T>(): Subject<T> { 135 276 let next: Subject<T>['next'] | void; 136 277 let complete: Subject<T>['complete'] | void; ··· 151 292 }; 152 293 } 153 294 295 + /** A {@link Source} that immediately ends. 296 + * @remarks 297 + * `empty` is a {@link Source} that immediately issues an {@link SignalKind.End | End signal} when 298 + * it's subscribed to, ending immediately. 299 + * 300 + * @see {@link never | `never`} for a source that instead never ends. 301 + */ 154 302 export const empty: Source<any> = (sink: Sink<any>): void => { 155 303 let ended = false; 156 304 sink( ··· 165 313 ); 166 314 }; 167 315 316 + /** A {@link Source} without values that never ends. 317 + * @remarks 318 + * `never` is a {@link Source} that never issues any signals and neither sends values nor ends. 319 + * 320 + * @see {@link empty | `empty`} for a source that instead ends immediately. 321 + */ 168 322 export const never: Source<any> = (sink: Sink<any>): void => { 169 323 sink(start(talkbackPlaceholder)); 170 324 }; 171 325 326 + /** Creates a Source that issues an incrementing integer in intervals. 327 + * @param ms - The interval in milliseconds. 328 + * @returns A {@link Source} issuing an incrementing count on each interval. 329 + * 330 + * @remarks 331 + * `interval` will create a {@link Source} that issues an incrementing counter each time the `ms` 332 + * interval expires. 333 + * 334 + * It'll only stop when it's cancelled by a {@link TalkbackKind.Close | Close signal}. 335 + * 336 + * @example 337 + * An example printing `0`, then `1`, and so on, in intervals of 50ms. 338 + * 339 + * ```ts 340 + * pipe(interval(50), subscribe(console.log)); 341 + * ``` 342 + */ 172 343 export function interval(ms: number): Source<number> { 173 344 return make(observer => { 174 345 let i = 0; ··· 177 348 }); 178 349 } 179 350 351 + /** Converts DOM Events to a Source given an `HTMLElement` and an event's name. 352 + * @param element - The {@link HTMLElement} to listen to. 353 + * @param event - The DOM Event name to listen to. 354 + * @returns A {@link Source} issuing the {@link Event | DOM Events} as they're issued by the DOM. 355 + * 356 + * @remarks 357 + * `fromDomEvent` will create a {@link Source} that listens to the given element's events and issues 358 + * them as values on the source. This source will only stop when it's cancelled by a 359 + * {@link TalkbackKind.Close | Close signal}. 360 + * 361 + * @example 362 + * An example printing `'clicked!'` when the given `#root` element is clicked. 363 + * 364 + * ```ts 365 + * const element = document.getElementById('root'); 366 + * pipe( 367 + * fromDomEvent(element, 'click'), 368 + * subscribe(() => console.log('clicked!')) 369 + * ); 370 + * ``` 371 + */ 180 372 export function fromDomEvent(element: HTMLElement, event: string): Source<Event> { 181 373 return make(observer => { 182 374 element.addEventListener(event, observer.next); ··· 184 376 }); 185 377 } 186 378 379 + /** Converts a Promise to a Source that issues the resolving Promise's value and then ends. 380 + * @param promise - The promise that will be wrapped. 381 + * @returns A {@link Source} issuing the promise's value when it resolves. 382 + * 383 + * @remarks 384 + * `fromPromise` will create a {@link Source} that issues the {@link Promise}'s resolving value 385 + * asynchronously and ends immediately after resolving. 386 + * 387 + * This helper will not handle the promise's exceptions, and will cause uncaught errors if the 388 + * promise rejects without a value. 389 + * 390 + * @example 391 + * An example printing `'resolved!'` when the given promise resolves after a tick. 392 + * 393 + * ```ts 394 + * pipe(fromPromise(Promise.resolve('resolved!')), subscribe(console.log)); 395 + * ``` 396 + */ 187 397 export function fromPromise<T>(promise: Promise<T>): Source<T> { 188 398 return make(observer => { 189 399 promise.then(value => {
+207
src/types.d.ts
··· 1 + /** 2 + * Talkback signal that sends instructions from a sink to a source. 3 + * 4 + * @remarks 5 + * This signal is issued via {@link TalkbackFn | talkback functions} that a {@link Sink} receives via 6 + * the {@link Start} signal, to tell a {@link Source} to either send a new value (pulling) or stop 7 + * sending values altogether (cancellation). 8 + */ 9 + export declare enum TalkbackKind { 10 + /** Instructs the {@link Source} to send the next value. */ 11 + Pull = 0, 12 + /** Instructs the {@link Source} to stop sending values and cancels it. */ 13 + Close = 1, 14 + } 15 + 16 + /** 17 + * Talkback callback that sends instructions to a source. 18 + * 19 + * @remarks 20 + * This function sends a {@link TalkbackKind} signal to the source to instruct it to send a new value 21 + * (pulling) or to be cancelled and stop sending values altogether. 22 + */ 23 + export type TalkbackFn = (signal: TalkbackKind) => void; 24 + 25 + /** 26 + * Callback that is called when a source is cancelled. 27 + * 28 + * @remarks 29 + * This is used, in particular, in the {@link make | make Source} and is a returned function that is 30 + * called when the {@link TalkbackKind.Close} signal is received by the source. 31 + */ 32 + export type TeardownFn = () => void; 33 + 34 + /** 35 + * Tag enum that is used to on signals that are sent from a source to a sink. 36 + * 37 + * @remarks 38 + * This signal is issued by a {@link Source} and {@link Sink | Sinks} are called with it. The signals 39 + * carrying values ({@link Start} and {@link Push}) are sent as a unary `[T]` tuple tagged with 40 + * {@link Tag}. The {@link End} signal carries no value and is sent as a raw `0` value. 41 + * @see {@link Start} for the data structure of the start signal. 42 + * @see {@link Push} for the data structure of the push signal, carrying values. 43 + */ 44 + export declare enum SignalKind { 45 + /** 46 + * Informs the {@link Sink} that it's being called by a {@link Source}. 47 + * 48 + * @remarks 49 + * This starts the stream of values and carries a {@link TalkbackFn | talkback function} with it 50 + * that is used by the {@link Sink} to communicate back to the {@link Source}. 51 + * @see {@link Start} for the data structure of the signal. 52 + */ 53 + Start = 0, 54 + /** 55 + * Informs the {@link Sink} of a new values that's incoming from the {@link Source}. 56 + * 57 + * @remarks 58 + * This informs the {@link Sink} of new values that are sent by the {@link Source}. 59 + * @see {@link Push} for the data structure of the signal. 60 + */ 61 + Push = 1, 62 + /** 63 + * Informs the {@link Sink} that the {@link Source} has ended and that it won't send more values. 64 + * 65 + * @remarks 66 + * This signal signifies that the stream has stopped and that no more values are expected. Some 67 + * sources don't have a set end or limit on how many values will be sent. This signal is not sent 68 + * when the {@link Source} is cancelled with a {@link TalkbackKind.Close | Close talkback signal}. 69 + */ 70 + End = 0, 71 + } 72 + 73 + /** 74 + * The tag property that's put on unary `[T]` tuple to turn them into signals carrying values. 75 + * 76 + * @internal 77 + */ 78 + export interface Tag<T> { 79 + tag: T; 80 + } 81 + 82 + /** 83 + * Indicates the start of a stream to a {@link Sink}. 84 + * 85 + * @remarks 86 + * This signal is sent from a {@link Source} to a {@link Sink} at the start of a stream to inform it 87 + * that values can be pulled and/or will be sent. This signal carries a 88 + * {@link TalkbackFn | talkback function} that is used by the {@link Sink} to communicate back to the 89 + * {@link Source} as a callback. The talkback accepts {@link TalkbackKind.Pull | Pull} and 90 + * {@link TalkbackKind.Close | Close} signals. 91 + */ 92 + export type Start<_T> = Tag<SignalKind.Start> & [TalkbackFn]; 93 + 94 + /** 95 + * Sends a new value to a {@link Sink}. 96 + * 97 + * @remarks 98 + * This signal is sent from a {@link Source} to a {@link Sink} to send a new value to it. This is 99 + * essentially the signal that wraps new values coming in, like an event. Values are carried on 100 + * unary tuples and can be accessed using `signal[0]`. 101 + */ 102 + export type Push<T> = Tag<SignalKind.Push> & [T]; 103 + 104 + /** 105 + * Signals are sent from {@link Source | Sources} to {@link Sink | Sinks} to inform them of changes. 106 + * 107 + * @remarks 108 + * A {@link Source}, when consumed, sends a sequence of events to {@link Sink | Sinks}. In order, a 109 + * {@link SignalKind.Start | Start} signal will always be sent first, followed optionally by one or 110 + * more {@link SignalKind.Push | Push signals}, carrying values and representing the stream. A 111 + * {@link Source} will send the {@link SignalKind.End | End signal} when it runs out of values. The 112 + * End signal will be omitted if the Source is cancelled by a 113 + * {@link TalkbackKind.Close | Close signal}, sent back from the {@link Sink}. 114 + * @see {@link SignalKind} for the kinds signals sent by {@link Source | Sources}. 115 + * @see {@link Start} for the data structure of the start signal. 116 + * @see {@link Push} for the data structure of the push signal. 117 + */ 118 + export type Signal<T> = Start<T> | Push<T> | SignalKind.End; 119 + 120 + /** 121 + * Callback function that is called by a {@link Source} with {@link Signal | Signals}. 122 + * 123 + * @remarks 124 + * A Sink is a function that is called repeatedly with signals from a {@link Source}. It represents 125 + * the receiver of the stream of signals/events coming from a {@link Source}. 126 + * @see {@link Signal} for the data structure of signals. 127 + */ 128 + export type Sink<T> = (signal: Signal<T>) => void; 129 + 130 + /** Factory function that calls {@link Sink | Sinks} with {@link Signal | Signals} when invoked. 131 + * @remarks 132 + * A Source is a factory function that when invoked with a {@link Sink}, calls it with 133 + * {@link Signal | Signals} to create a stream of events, informing it of new values and the 134 + * potential end of the stream of values. The first signal a Source sends is always a 135 + * {@link Start | Start signal} that sends a talkback function to the {@link Sink}, so it may request 136 + * new values or cancel the source. 137 + * 138 + * @see {@link Signal} for the data structure of signals. 139 + * @see {@link Sink} for the data structure of sinks. 140 + */ 141 + export type Source<T> = (sink: Sink<T>) => void; 142 + 143 + /** Transform function that accepts a {@link Source} and returns a new one. 144 + * @remarks 145 + * Wonka comes with several helper operators that transform a given {@link Source} into a new one, 146 + * potentially changing its outputs, or the outputs' timing. An "operator" in Wonka typically 147 + * accepts arguments and then returns this kind of function, so they can be chained and composed. 148 + * 149 + * @see {@link pipe | `pipe`} for the helper used to compose operators. 150 + */ 151 + export type Operator<In, Out> = (a: Source<In>) => Source<Out>; 152 + 153 + /** Type utility to determine the type of a {@link Source}. */ 154 + export type TypeOfSource<T> = T extends Source<infer U> ? U : never; 155 + 156 + /** Subscription object that can be used to cancel a {@link Source}. 157 + * @see {@link subscribe | subscribe sink} for a helper that returns this structure. 158 + */ 159 + export interface Subscription { 160 + /** 161 + * Cancels a {@link Source} to stop the subscription from receiving new values. 162 + * 163 + * @see {@link TalkbackKind.Close | Close signal} This uses the {@link TalkbackFn | talkback function} to send a {@link TalkbackKind.Close | Close signal} 164 + * to the subscribed-to {@link Source} to stop it from sending new values. This cleans up the subscription 165 + * and ends it immediately. 166 + */ 167 + unsubscribe(): void; 168 + } 169 + 170 + /** An Observer represents sending signals manually to a {@link Sink}. 171 + * @remarks 172 + * The Observer is used whenever a utility allows for signals to be sent manually as a {@link Source} 173 + * would send them. 174 + * 175 + * @see {@link make | `make` source} for a helper that uses this structure. 176 + */ 177 + export interface Observer<T> { 178 + /** Sends a new value to the receiving Sink. 179 + * @remarks 180 + * This creates a {@link Push | Push signal} that is sent to a {@link Sink}. 181 + */ 182 + next(value: T): void; 183 + /** Indicates to the receiving Sink that no more values will be sent. 184 + * @remarks 185 + * This creates an {@link SignalKind.End | End signal} that is sent to a {@link Sink}. The Observer 186 + * will accept no more values via {@link Observer.next | `next` calls} once this method has been 187 + * invoked. 188 + */ 189 + complete(): void; 190 + } 191 + 192 + /** Subjects combine a {@link Source} with the {@link Observer} that is used to send values on said Source. 193 + * @remarks 194 + * A Subject is used whenever an event hub-like structure is needed, as it both provides the 195 + * {@link Observer}'s methods to send signals, as well as the `source` to receive said signals. 196 + * 197 + * @see {@link makeSubject | `makeSubject` source} for a helper that creates this structure. 198 + */ 199 + export interface Subject<T> extends Observer<T> { 200 + /** The {@link Source} that issues the signals as the {@link Observer} methods are called. */ 201 + source: Source<T>; 202 + } 203 + 204 + /** Async Iterable/Iterator after having converted a {@link Source}. 205 + * @see {@link toAsyncIterable} for a helper that creates this structure. 206 + */ 207 + export interface SourceIterable<T> extends AsyncIterator<T>, AsyncIterable<T> {}
+10
src/types.mjs
··· 1 + export const TalkbackKind = { 2 + Pull: 0, 3 + Close: 1, 4 + }; 5 + 6 + export const SignalKind = { 7 + Start: 0, 8 + Push: 1, 9 + End: 0, 10 + };
-50
src/types.ts
··· 1 - /** A talkback signal is used to tell a [Source] that either the [Sink] is ready for new values or that the stream should be cancelled */ 2 - export const enum TalkbackKind { 3 - Pull = 0, 4 - Close = 1, 5 - } 6 - 7 - /** A talkback callback is sent to the sink with the [Start] signal to communicate signals back to the source. */ 8 - export type TalkbackFn = (signal: TalkbackKind) => void; 9 - export type TeardownFn = () => void; 10 - 11 - export const enum SignalKind { 12 - Start = 0, 13 - Push = 1, 14 - End = 0, 15 - } 16 - 17 - export interface Tag<T> { 18 - tag: T; 19 - } 20 - 21 - /** The start [Signal] is the first signal and carries a callback (talkback) so the sink can send signals to the source */ 22 - export type Start<_T> = Tag<SignalKind.Start> & [TalkbackFn]; 23 - /** The Push [Signal] carries new values to the sink, like in an event emitter */ 24 - export type Push<T> = Tag<SignalKind.Push> & [T]; 25 - 26 - /** A signal that communicates new events to a sink. */ 27 - export type Signal<T> = Start<T> | Push<T> | SignalKind.End; 28 - 29 - /** A sink accepts new values from a [Source], like [Push], [Start], and an end signal. The [Start] is used to receive a callback to send talkback signals back to the source. */ 30 - export type Sink<T> = (signal: Signal<T>) => void; 31 - /** A source is a function that accepts a [Sink] and then starts sending [Signal]s to it. */ 32 - export type Source<T> = (sink: Sink<T>) => void; 33 - /** An operator transforms a [Source] and returns a new [Source], potentially with different timings or output types. */ 34 - export type Operator<In, Out> = (a: Source<In>) => Source<Out>; 35 - 36 - /** Extracts the type of a given Source */ 37 - export type TypeOfSource<T> = T extends Source<infer U> ? U : never; 38 - 39 - export interface Subscription { 40 - unsubscribe(): void; 41 - } 42 - 43 - export interface Observer<T> { 44 - next(value: T): void; 45 - complete(): void; 46 - } 47 - 48 - export interface Subject<T> extends Observer<T> { 49 - source: Source<T>; 50 - }
+3 -2
tsconfig.json
··· 1 1 { 2 2 "compilerOptions": { 3 3 "forceConsistentCasingInFileNames": true, 4 + "importsNotUsedAsValues": "remove", 4 5 "noEmit": true, 5 6 "esModuleInterop": true, 6 7 "noUnusedLocals": true, 7 8 "rootDir": "./src", 8 9 "baseUrl": ".", 9 10 "outDir": "dist/cjs", 10 - "types": ["node", "jest"], 11 11 "lib": ["dom", "esnext"], 12 12 "jsx": "react", 13 13 "declaration": false, ··· 17 17 "strict": true, 18 18 "noImplicitAny": false, 19 19 "noUnusedParameters": true, 20 - "skipLibCheck": true 20 + "skipLibCheck": true, 21 + "isolatedModules": true 21 22 }, 22 23 "include": ["src"] 23 24 }
-4092
yarn.lock
··· 1 - # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 - # yarn lockfile v1 3 - 4 - 5 - "@ampproject/remapping@^2.1.0": 6 - version "2.2.0" 7 - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 - dependencies: 10 - "@jridgewell/gen-mapping" "^0.1.0" 11 - "@jridgewell/trace-mapping" "^0.3.9" 12 - 13 - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6": 14 - version "7.18.6" 15 - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 16 - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 17 - dependencies: 18 - "@babel/highlight" "^7.18.6" 19 - 20 - "@babel/compat-data@^7.18.8": 21 - version "7.18.8" 22 - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" 23 - integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== 24 - 25 - "@babel/core@^7.11.6", "@babel/core@^7.12.3": 26 - version "7.18.10" 27 - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" 28 - integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw== 29 - dependencies: 30 - "@ampproject/remapping" "^2.1.0" 31 - "@babel/code-frame" "^7.18.6" 32 - "@babel/generator" "^7.18.10" 33 - "@babel/helper-compilation-targets" "^7.18.9" 34 - "@babel/helper-module-transforms" "^7.18.9" 35 - "@babel/helpers" "^7.18.9" 36 - "@babel/parser" "^7.18.10" 37 - "@babel/template" "^7.18.10" 38 - "@babel/traverse" "^7.18.10" 39 - "@babel/types" "^7.18.10" 40 - convert-source-map "^1.7.0" 41 - debug "^4.1.0" 42 - gensync "^1.0.0-beta.2" 43 - json5 "^2.2.1" 44 - semver "^6.3.0" 45 - 46 - "@babel/generator@^7.18.10", "@babel/generator@^7.7.2": 47 - version "7.18.12" 48 - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" 49 - integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg== 50 - dependencies: 51 - "@babel/types" "^7.18.10" 52 - "@jridgewell/gen-mapping" "^0.3.2" 53 - jsesc "^2.5.1" 54 - 55 - "@babel/helper-compilation-targets@^7.18.9": 56 - version "7.18.9" 57 - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" 58 - integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== 59 - dependencies: 60 - "@babel/compat-data" "^7.18.8" 61 - "@babel/helper-validator-option" "^7.18.6" 62 - browserslist "^4.20.2" 63 - semver "^6.3.0" 64 - 65 - "@babel/helper-environment-visitor@^7.18.9": 66 - version "7.18.9" 67 - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 68 - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 69 - 70 - "@babel/helper-function-name@^7.18.9": 71 - version "7.18.9" 72 - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" 73 - integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== 74 - dependencies: 75 - "@babel/template" "^7.18.6" 76 - "@babel/types" "^7.18.9" 77 - 78 - "@babel/helper-hoist-variables@^7.18.6": 79 - version "7.18.6" 80 - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 81 - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 82 - dependencies: 83 - "@babel/types" "^7.18.6" 84 - 85 - "@babel/helper-module-imports@^7.18.6": 86 - version "7.18.6" 87 - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 88 - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 89 - dependencies: 90 - "@babel/types" "^7.18.6" 91 - 92 - "@babel/helper-module-transforms@^7.18.9": 93 - version "7.18.9" 94 - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" 95 - integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== 96 - dependencies: 97 - "@babel/helper-environment-visitor" "^7.18.9" 98 - "@babel/helper-module-imports" "^7.18.6" 99 - "@babel/helper-simple-access" "^7.18.6" 100 - "@babel/helper-split-export-declaration" "^7.18.6" 101 - "@babel/helper-validator-identifier" "^7.18.6" 102 - "@babel/template" "^7.18.6" 103 - "@babel/traverse" "^7.18.9" 104 - "@babel/types" "^7.18.9" 105 - 106 - "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": 107 - version "7.18.9" 108 - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" 109 - integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== 110 - 111 - "@babel/helper-simple-access@^7.18.6": 112 - version "7.18.6" 113 - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" 114 - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== 115 - dependencies: 116 - "@babel/types" "^7.18.6" 117 - 118 - "@babel/helper-split-export-declaration@^7.18.6": 119 - version "7.18.6" 120 - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 121 - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 122 - dependencies: 123 - "@babel/types" "^7.18.6" 124 - 125 - "@babel/helper-string-parser@^7.18.10": 126 - version "7.18.10" 127 - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" 128 - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== 129 - 130 - "@babel/helper-validator-identifier@^7.18.6": 131 - version "7.18.6" 132 - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 133 - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 134 - 135 - "@babel/helper-validator-option@^7.18.6": 136 - version "7.18.6" 137 - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 138 - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 139 - 140 - "@babel/helpers@^7.18.9": 141 - version "7.18.9" 142 - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" 143 - integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== 144 - dependencies: 145 - "@babel/template" "^7.18.6" 146 - "@babel/traverse" "^7.18.9" 147 - "@babel/types" "^7.18.9" 148 - 149 - "@babel/highlight@^7.16.7", "@babel/highlight@^7.18.6": 150 - version "7.18.6" 151 - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 152 - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 153 - dependencies: 154 - "@babel/helper-validator-identifier" "^7.18.6" 155 - chalk "^2.0.0" 156 - js-tokens "^4.0.0" 157 - 158 - "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.11": 159 - version "7.18.11" 160 - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" 161 - integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== 162 - 163 - "@babel/plugin-syntax-async-generators@^7.8.4": 164 - version "7.8.4" 165 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 166 - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 167 - dependencies: 168 - "@babel/helper-plugin-utils" "^7.8.0" 169 - 170 - "@babel/plugin-syntax-bigint@^7.8.3": 171 - version "7.8.3" 172 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" 173 - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== 174 - dependencies: 175 - "@babel/helper-plugin-utils" "^7.8.0" 176 - 177 - "@babel/plugin-syntax-class-properties@^7.8.3": 178 - version "7.12.13" 179 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" 180 - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 181 - dependencies: 182 - "@babel/helper-plugin-utils" "^7.12.13" 183 - 184 - "@babel/plugin-syntax-import-meta@^7.8.3": 185 - version "7.10.4" 186 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 187 - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 188 - dependencies: 189 - "@babel/helper-plugin-utils" "^7.10.4" 190 - 191 - "@babel/plugin-syntax-json-strings@^7.8.3": 192 - version "7.8.3" 193 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 194 - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 195 - dependencies: 196 - "@babel/helper-plugin-utils" "^7.8.0" 197 - 198 - "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 199 - version "7.10.4" 200 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 201 - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 202 - dependencies: 203 - "@babel/helper-plugin-utils" "^7.10.4" 204 - 205 - "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 206 - version "7.8.3" 207 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 208 - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 209 - dependencies: 210 - "@babel/helper-plugin-utils" "^7.8.0" 211 - 212 - "@babel/plugin-syntax-numeric-separator@^7.8.3": 213 - version "7.10.4" 214 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 215 - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 216 - dependencies: 217 - "@babel/helper-plugin-utils" "^7.10.4" 218 - 219 - "@babel/plugin-syntax-object-rest-spread@^7.8.3": 220 - version "7.8.3" 221 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 222 - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 223 - dependencies: 224 - "@babel/helper-plugin-utils" "^7.8.0" 225 - 226 - "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 227 - version "7.8.3" 228 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 229 - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 230 - dependencies: 231 - "@babel/helper-plugin-utils" "^7.8.0" 232 - 233 - "@babel/plugin-syntax-optional-chaining@^7.8.3": 234 - version "7.8.3" 235 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 236 - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 237 - dependencies: 238 - "@babel/helper-plugin-utils" "^7.8.0" 239 - 240 - "@babel/plugin-syntax-top-level-await@^7.8.3": 241 - version "7.14.5" 242 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 243 - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 244 - dependencies: 245 - "@babel/helper-plugin-utils" "^7.14.5" 246 - 247 - "@babel/plugin-syntax-typescript@^7.7.2": 248 - version "7.18.6" 249 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" 250 - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== 251 - dependencies: 252 - "@babel/helper-plugin-utils" "^7.18.6" 253 - 254 - "@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3": 255 - version "7.18.10" 256 - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" 257 - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== 258 - dependencies: 259 - "@babel/code-frame" "^7.18.6" 260 - "@babel/parser" "^7.18.10" 261 - "@babel/types" "^7.18.10" 262 - 263 - "@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": 264 - version "7.18.11" 265 - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f" 266 - integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ== 267 - dependencies: 268 - "@babel/code-frame" "^7.18.6" 269 - "@babel/generator" "^7.18.10" 270 - "@babel/helper-environment-visitor" "^7.18.9" 271 - "@babel/helper-function-name" "^7.18.9" 272 - "@babel/helper-hoist-variables" "^7.18.6" 273 - "@babel/helper-split-export-declaration" "^7.18.6" 274 - "@babel/parser" "^7.18.11" 275 - "@babel/types" "^7.18.10" 276 - debug "^4.1.0" 277 - globals "^11.1.0" 278 - 279 - "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3": 280 - version "7.18.10" 281 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" 282 - integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== 283 - dependencies: 284 - "@babel/helper-string-parser" "^7.18.10" 285 - "@babel/helper-validator-identifier" "^7.18.6" 286 - to-fast-properties "^2.0.0" 287 - 288 - "@bcoe/v8-coverage@^0.2.3": 289 - version "0.2.3" 290 - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 291 - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 292 - 293 - "@eslint/eslintrc@^1.3.0": 294 - version "1.3.0" 295 - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" 296 - integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== 297 - dependencies: 298 - ajv "^6.12.4" 299 - debug "^4.3.2" 300 - espree "^9.3.2" 301 - globals "^13.15.0" 302 - ignore "^5.2.0" 303 - import-fresh "^3.2.1" 304 - js-yaml "^4.1.0" 305 - minimatch "^3.1.2" 306 - strip-json-comments "^3.1.1" 307 - 308 - "@humanwhocodes/config-array@^0.10.4": 309 - version "0.10.4" 310 - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" 311 - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== 312 - dependencies: 313 - "@humanwhocodes/object-schema" "^1.2.1" 314 - debug "^4.1.1" 315 - minimatch "^3.0.4" 316 - 317 - "@humanwhocodes/gitignore-to-minimatch@^1.0.2": 318 - version "1.0.2" 319 - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" 320 - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== 321 - 322 - "@humanwhocodes/object-schema@^1.2.1": 323 - version "1.2.1" 324 - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 325 - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 326 - 327 - "@istanbuljs/load-nyc-config@^1.0.0": 328 - version "1.1.0" 329 - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 330 - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 331 - dependencies: 332 - camelcase "^5.3.1" 333 - find-up "^4.1.0" 334 - get-package-type "^0.1.0" 335 - js-yaml "^3.13.1" 336 - resolve-from "^5.0.0" 337 - 338 - "@istanbuljs/schema@^0.1.2": 339 - version "0.1.3" 340 - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" 341 - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== 342 - 343 - "@jest/console@^28.1.3": 344 - version "28.1.3" 345 - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" 346 - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== 347 - dependencies: 348 - "@jest/types" "^28.1.3" 349 - "@types/node" "*" 350 - chalk "^4.0.0" 351 - jest-message-util "^28.1.3" 352 - jest-util "^28.1.3" 353 - slash "^3.0.0" 354 - 355 - "@jest/core@^28.1.3": 356 - version "28.1.3" 357 - resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7" 358 - integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== 359 - dependencies: 360 - "@jest/console" "^28.1.3" 361 - "@jest/reporters" "^28.1.3" 362 - "@jest/test-result" "^28.1.3" 363 - "@jest/transform" "^28.1.3" 364 - "@jest/types" "^28.1.3" 365 - "@types/node" "*" 366 - ansi-escapes "^4.2.1" 367 - chalk "^4.0.0" 368 - ci-info "^3.2.0" 369 - exit "^0.1.2" 370 - graceful-fs "^4.2.9" 371 - jest-changed-files "^28.1.3" 372 - jest-config "^28.1.3" 373 - jest-haste-map "^28.1.3" 374 - jest-message-util "^28.1.3" 375 - jest-regex-util "^28.0.2" 376 - jest-resolve "^28.1.3" 377 - jest-resolve-dependencies "^28.1.3" 378 - jest-runner "^28.1.3" 379 - jest-runtime "^28.1.3" 380 - jest-snapshot "^28.1.3" 381 - jest-util "^28.1.3" 382 - jest-validate "^28.1.3" 383 - jest-watcher "^28.1.3" 384 - micromatch "^4.0.4" 385 - pretty-format "^28.1.3" 386 - rimraf "^3.0.0" 387 - slash "^3.0.0" 388 - strip-ansi "^6.0.0" 389 - 390 - "@jest/environment@^28.1.3": 391 - version "28.1.3" 392 - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" 393 - integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== 394 - dependencies: 395 - "@jest/fake-timers" "^28.1.3" 396 - "@jest/types" "^28.1.3" 397 - "@types/node" "*" 398 - jest-mock "^28.1.3" 399 - 400 - "@jest/expect-utils@^28.1.3": 401 - version "28.1.3" 402 - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" 403 - integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== 404 - dependencies: 405 - jest-get-type "^28.0.2" 406 - 407 - "@jest/expect@^28.1.3": 408 - version "28.1.3" 409 - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" 410 - integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== 411 - dependencies: 412 - expect "^28.1.3" 413 - jest-snapshot "^28.1.3" 414 - 415 - "@jest/fake-timers@^28.1.3": 416 - version "28.1.3" 417 - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" 418 - integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== 419 - dependencies: 420 - "@jest/types" "^28.1.3" 421 - "@sinonjs/fake-timers" "^9.1.2" 422 - "@types/node" "*" 423 - jest-message-util "^28.1.3" 424 - jest-mock "^28.1.3" 425 - jest-util "^28.1.3" 426 - 427 - "@jest/globals@^28.1.3": 428 - version "28.1.3" 429 - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" 430 - integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== 431 - dependencies: 432 - "@jest/environment" "^28.1.3" 433 - "@jest/expect" "^28.1.3" 434 - "@jest/types" "^28.1.3" 435 - 436 - "@jest/reporters@^28.1.3": 437 - version "28.1.3" 438 - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a" 439 - integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== 440 - dependencies: 441 - "@bcoe/v8-coverage" "^0.2.3" 442 - "@jest/console" "^28.1.3" 443 - "@jest/test-result" "^28.1.3" 444 - "@jest/transform" "^28.1.3" 445 - "@jest/types" "^28.1.3" 446 - "@jridgewell/trace-mapping" "^0.3.13" 447 - "@types/node" "*" 448 - chalk "^4.0.0" 449 - collect-v8-coverage "^1.0.0" 450 - exit "^0.1.2" 451 - glob "^7.1.3" 452 - graceful-fs "^4.2.9" 453 - istanbul-lib-coverage "^3.0.0" 454 - istanbul-lib-instrument "^5.1.0" 455 - istanbul-lib-report "^3.0.0" 456 - istanbul-lib-source-maps "^4.0.0" 457 - istanbul-reports "^3.1.3" 458 - jest-message-util "^28.1.3" 459 - jest-util "^28.1.3" 460 - jest-worker "^28.1.3" 461 - slash "^3.0.0" 462 - string-length "^4.0.1" 463 - strip-ansi "^6.0.0" 464 - terminal-link "^2.0.0" 465 - v8-to-istanbul "^9.0.1" 466 - 467 - "@jest/schemas@^28.1.3": 468 - version "28.1.3" 469 - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" 470 - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== 471 - dependencies: 472 - "@sinclair/typebox" "^0.24.1" 473 - 474 - "@jest/source-map@^28.1.2": 475 - version "28.1.2" 476 - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" 477 - integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== 478 - dependencies: 479 - "@jridgewell/trace-mapping" "^0.3.13" 480 - callsites "^3.0.0" 481 - graceful-fs "^4.2.9" 482 - 483 - "@jest/test-result@^28.1.3": 484 - version "28.1.3" 485 - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" 486 - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== 487 - dependencies: 488 - "@jest/console" "^28.1.3" 489 - "@jest/types" "^28.1.3" 490 - "@types/istanbul-lib-coverage" "^2.0.0" 491 - collect-v8-coverage "^1.0.0" 492 - 493 - "@jest/test-sequencer@^28.1.3": 494 - version "28.1.3" 495 - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3" 496 - integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== 497 - dependencies: 498 - "@jest/test-result" "^28.1.3" 499 - graceful-fs "^4.2.9" 500 - jest-haste-map "^28.1.3" 501 - slash "^3.0.0" 502 - 503 - "@jest/transform@^28.1.3": 504 - version "28.1.3" 505 - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" 506 - integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== 507 - dependencies: 508 - "@babel/core" "^7.11.6" 509 - "@jest/types" "^28.1.3" 510 - "@jridgewell/trace-mapping" "^0.3.13" 511 - babel-plugin-istanbul "^6.1.1" 512 - chalk "^4.0.0" 513 - convert-source-map "^1.4.0" 514 - fast-json-stable-stringify "^2.0.0" 515 - graceful-fs "^4.2.9" 516 - jest-haste-map "^28.1.3" 517 - jest-regex-util "^28.0.2" 518 - jest-util "^28.1.3" 519 - micromatch "^4.0.4" 520 - pirates "^4.0.4" 521 - slash "^3.0.0" 522 - write-file-atomic "^4.0.1" 523 - 524 - "@jest/types@^28.1.3": 525 - version "28.1.3" 526 - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" 527 - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== 528 - dependencies: 529 - "@jest/schemas" "^28.1.3" 530 - "@types/istanbul-lib-coverage" "^2.0.0" 531 - "@types/istanbul-reports" "^3.0.0" 532 - "@types/node" "*" 533 - "@types/yargs" "^17.0.8" 534 - chalk "^4.0.0" 535 - 536 - "@jridgewell/gen-mapping@^0.1.0": 537 - version "0.1.1" 538 - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 539 - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 540 - dependencies: 541 - "@jridgewell/set-array" "^1.0.0" 542 - "@jridgewell/sourcemap-codec" "^1.4.10" 543 - 544 - "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": 545 - version "0.3.2" 546 - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 547 - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 548 - dependencies: 549 - "@jridgewell/set-array" "^1.0.1" 550 - "@jridgewell/sourcemap-codec" "^1.4.10" 551 - "@jridgewell/trace-mapping" "^0.3.9" 552 - 553 - "@jridgewell/resolve-uri@^3.0.3": 554 - version "3.1.0" 555 - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 556 - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 557 - 558 - "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 559 - version "1.1.2" 560 - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 561 - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 562 - 563 - "@jridgewell/source-map@^0.3.2": 564 - version "0.3.2" 565 - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" 566 - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== 567 - dependencies: 568 - "@jridgewell/gen-mapping" "^0.3.0" 569 - "@jridgewell/trace-mapping" "^0.3.9" 570 - 571 - "@jridgewell/sourcemap-codec@^1.4.10": 572 - version "1.4.14" 573 - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 574 - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 575 - 576 - "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.9": 577 - version "0.3.15" 578 - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" 579 - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== 580 - dependencies: 581 - "@jridgewell/resolve-uri" "^3.0.3" 582 - "@jridgewell/sourcemap-codec" "^1.4.10" 583 - 584 - "@nodelib/fs.scandir@2.1.5": 585 - version "2.1.5" 586 - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 587 - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 588 - dependencies: 589 - "@nodelib/fs.stat" "2.0.5" 590 - run-parallel "^1.1.9" 591 - 592 - "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 593 - version "2.0.5" 594 - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 595 - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 596 - 597 - "@nodelib/fs.walk@^1.2.3": 598 - version "1.2.8" 599 - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 600 - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 601 - dependencies: 602 - "@nodelib/fs.scandir" "2.1.5" 603 - fastq "^1.6.0" 604 - 605 - "@rollup/plugin-buble@^0.21.3": 606 - version "0.21.3" 607 - resolved "https://registry.yarnpkg.com/@rollup/plugin-buble/-/plugin-buble-0.21.3.tgz#1649a915b1d051a4f430d40e7734a7f67a69b33e" 608 - integrity sha512-Iv8cCuFPnMdqV4pcyU+OrfjOfagPArRQ1PyQjx5KgHk3dARedI+8PNTLSMpJts0lQJr8yF2pAU4GxpxCBJ9HYw== 609 - dependencies: 610 - "@rollup/pluginutils" "^3.0.8" 611 - "@types/buble" "^0.19.2" 612 - buble "^0.20.0" 613 - 614 - "@rollup/plugin-commonjs@^22.0.2": 615 - version "22.0.2" 616 - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-22.0.2.tgz#ee8ca8415cda30d383b4096aad5222435b4b69b6" 617 - integrity sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg== 618 - dependencies: 619 - "@rollup/pluginutils" "^3.1.0" 620 - commondir "^1.0.1" 621 - estree-walker "^2.0.1" 622 - glob "^7.1.6" 623 - is-reference "^1.2.1" 624 - magic-string "^0.25.7" 625 - resolve "^1.17.0" 626 - 627 - "@rollup/plugin-node-resolve@^13.3.0": 628 - version "13.3.0" 629 - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c" 630 - integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw== 631 - dependencies: 632 - "@rollup/pluginutils" "^3.1.0" 633 - "@types/resolve" "1.17.1" 634 - deepmerge "^4.2.2" 635 - is-builtin-module "^3.1.0" 636 - is-module "^1.0.0" 637 - resolve "^1.19.0" 638 - 639 - "@rollup/plugin-typescript@^8.3.4": 640 - version "8.3.4" 641 - resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-8.3.4.tgz#45cdc0787b658b37d0362c705d8de86bc8bc040e" 642 - integrity sha512-wt7JnYE9antX6BOXtsxGoeVSu4dZfw0dU3xykfOQ4hC3EddxRbVG/K0xiY1Wup7QOHJcjLYXWAn0Kx9Z1SBHHg== 643 - dependencies: 644 - "@rollup/pluginutils" "^3.1.0" 645 - resolve "^1.17.0" 646 - 647 - "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": 648 - version "3.1.0" 649 - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 650 - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 651 - dependencies: 652 - "@types/estree" "0.0.39" 653 - estree-walker "^1.0.1" 654 - picomatch "^2.2.2" 655 - 656 - "@rollup/pluginutils@^4.2.1": 657 - version "4.2.1" 658 - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" 659 - integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== 660 - dependencies: 661 - estree-walker "^2.0.1" 662 - picomatch "^2.2.2" 663 - 664 - "@sinclair/typebox@^0.24.1": 665 - version "0.24.28" 666 - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.28.tgz#15aa0b416f82c268b1573ab653e4413c965fe794" 667 - integrity sha512-dgJd3HLOkLmz4Bw50eZx/zJwtBq65nms3N9VBYu5LTjJ883oBFkTyXRlCB/ZGGwqYpJJHA5zW2Ibhl5ngITfow== 668 - 669 - "@sinonjs/commons@^1.7.0": 670 - version "1.8.3" 671 - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" 672 - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== 673 - dependencies: 674 - type-detect "4.0.8" 675 - 676 - "@sinonjs/fake-timers@^9.1.2": 677 - version "9.1.2" 678 - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" 679 - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== 680 - dependencies: 681 - "@sinonjs/commons" "^1.7.0" 682 - 683 - "@sucrase/jest-plugin@^2.2.1": 684 - version "2.2.1" 685 - resolved "https://registry.yarnpkg.com/@sucrase/jest-plugin/-/jest-plugin-2.2.1.tgz#659d31f34412fc9c50e6e0622298baaf27b75366" 686 - integrity sha512-5fG+kHOlfwPNi82MCvTFQdAg50YQymGbdwH9nzTA9D9FhJVHynTjadXi58gb/Ae17RMvinY0+Fglx33MB056Rg== 687 - dependencies: 688 - sucrase "^3.18.0" 689 - 690 - "@types/babel__core@^7.1.14": 691 - version "7.1.19" 692 - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" 693 - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== 694 - dependencies: 695 - "@babel/parser" "^7.1.0" 696 - "@babel/types" "^7.0.0" 697 - "@types/babel__generator" "*" 698 - "@types/babel__template" "*" 699 - "@types/babel__traverse" "*" 700 - 701 - "@types/babel__generator@*": 702 - version "7.6.4" 703 - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" 704 - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== 705 - dependencies: 706 - "@babel/types" "^7.0.0" 707 - 708 - "@types/babel__template@*": 709 - version "7.4.1" 710 - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" 711 - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== 712 - dependencies: 713 - "@babel/parser" "^7.1.0" 714 - "@babel/types" "^7.0.0" 715 - 716 - "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": 717 - version "7.18.0" 718 - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.0.tgz#8134fd78cb39567465be65b9fdc16d378095f41f" 719 - integrity sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw== 720 - dependencies: 721 - "@babel/types" "^7.3.0" 722 - 723 - "@types/buble@^0.19.2": 724 - version "0.19.2" 725 - resolved "https://registry.yarnpkg.com/@types/buble/-/buble-0.19.2.tgz#a4289d20b175b3c206aaad80caabdabe3ecdfdd1" 726 - integrity sha512-uUD8zIfXMKThmFkahTXDGI3CthFH1kMg2dOm3KLi4GlC5cbARA64bEcUMbbWdWdE73eoc/iBB9PiTMqH0dNS2Q== 727 - dependencies: 728 - magic-string "^0.25.0" 729 - 730 - "@types/estree@*": 731 - version "1.0.0" 732 - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" 733 - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== 734 - 735 - "@types/estree@0.0.39": 736 - version "0.0.39" 737 - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 738 - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 739 - 740 - "@types/graceful-fs@^4.1.3": 741 - version "4.1.5" 742 - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" 743 - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== 744 - dependencies: 745 - "@types/node" "*" 746 - 747 - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 748 - version "2.0.4" 749 - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" 750 - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== 751 - 752 - "@types/istanbul-lib-report@*": 753 - version "3.0.0" 754 - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 755 - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== 756 - dependencies: 757 - "@types/istanbul-lib-coverage" "*" 758 - 759 - "@types/istanbul-reports@^3.0.0": 760 - version "3.0.1" 761 - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" 762 - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== 763 - dependencies: 764 - "@types/istanbul-lib-report" "*" 765 - 766 - "@types/jest@^28.1.6": 767 - version "28.1.6" 768 - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.6.tgz#d6a9cdd38967d2d746861fb5be6b120e38284dd4" 769 - integrity sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ== 770 - dependencies: 771 - jest-matcher-utils "^28.0.0" 772 - pretty-format "^28.0.0" 773 - 774 - "@types/json-schema@^7.0.9": 775 - version "7.0.11" 776 - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 777 - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 778 - 779 - "@types/node@*", "@types/node@^18.7.2": 780 - version "18.7.2" 781 - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.2.tgz#22306626110c459aedd2cdf131c749ec781e3b34" 782 - integrity sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA== 783 - 784 - "@types/parse-json@^4.0.0": 785 - version "4.0.0" 786 - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 787 - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 788 - 789 - "@types/prettier@^2.1.5": 790 - version "2.7.0" 791 - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc" 792 - integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== 793 - 794 - "@types/resolve@1.17.1": 795 - version "1.17.1" 796 - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 797 - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 798 - dependencies: 799 - "@types/node" "*" 800 - 801 - "@types/stack-utils@^2.0.0": 802 - version "2.0.1" 803 - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" 804 - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== 805 - 806 - "@types/yargs-parser@*": 807 - version "21.0.0" 808 - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" 809 - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== 810 - 811 - "@types/yargs@^17.0.8": 812 - version "17.0.11" 813 - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.11.tgz#5e10ca33e219807c0eee0f08b5efcba9b6a42c06" 814 - integrity sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA== 815 - dependencies: 816 - "@types/yargs-parser" "*" 817 - 818 - "@types/zen-observable@^0.8.3": 819 - version "0.8.3" 820 - resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3" 821 - integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== 822 - 823 - "@typescript-eslint/eslint-plugin@^5.33.0": 824 - version "5.33.0" 825 - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec" 826 - integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg== 827 - dependencies: 828 - "@typescript-eslint/scope-manager" "5.33.0" 829 - "@typescript-eslint/type-utils" "5.33.0" 830 - "@typescript-eslint/utils" "5.33.0" 831 - debug "^4.3.4" 832 - functional-red-black-tree "^1.0.1" 833 - ignore "^5.2.0" 834 - regexpp "^3.2.0" 835 - semver "^7.3.7" 836 - tsutils "^3.21.0" 837 - 838 - "@typescript-eslint/parser@^5.33.0": 839 - version "5.33.0" 840 - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383" 841 - integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w== 842 - dependencies: 843 - "@typescript-eslint/scope-manager" "5.33.0" 844 - "@typescript-eslint/types" "5.33.0" 845 - "@typescript-eslint/typescript-estree" "5.33.0" 846 - debug "^4.3.4" 847 - 848 - "@typescript-eslint/scope-manager@5.33.0": 849 - version "5.33.0" 850 - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d" 851 - integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw== 852 - dependencies: 853 - "@typescript-eslint/types" "5.33.0" 854 - "@typescript-eslint/visitor-keys" "5.33.0" 855 - 856 - "@typescript-eslint/type-utils@5.33.0": 857 - version "5.33.0" 858 - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338" 859 - integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA== 860 - dependencies: 861 - "@typescript-eslint/utils" "5.33.0" 862 - debug "^4.3.4" 863 - tsutils "^3.21.0" 864 - 865 - "@typescript-eslint/types@5.33.0": 866 - version "5.33.0" 867 - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b" 868 - integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw== 869 - 870 - "@typescript-eslint/typescript-estree@5.33.0": 871 - version "5.33.0" 872 - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf" 873 - integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ== 874 - dependencies: 875 - "@typescript-eslint/types" "5.33.0" 876 - "@typescript-eslint/visitor-keys" "5.33.0" 877 - debug "^4.3.4" 878 - globby "^11.1.0" 879 - is-glob "^4.0.3" 880 - semver "^7.3.7" 881 - tsutils "^3.21.0" 882 - 883 - "@typescript-eslint/utils@5.33.0", "@typescript-eslint/utils@^5.10.0": 884 - version "5.33.0" 885 - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038" 886 - integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw== 887 - dependencies: 888 - "@types/json-schema" "^7.0.9" 889 - "@typescript-eslint/scope-manager" "5.33.0" 890 - "@typescript-eslint/types" "5.33.0" 891 - "@typescript-eslint/typescript-estree" "5.33.0" 892 - eslint-scope "^5.1.1" 893 - eslint-utils "^3.0.0" 894 - 895 - "@typescript-eslint/visitor-keys@5.33.0": 896 - version "5.33.0" 897 - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484" 898 - integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw== 899 - dependencies: 900 - "@typescript-eslint/types" "5.33.0" 901 - eslint-visitor-keys "^3.3.0" 902 - 903 - acorn-dynamic-import@^4.0.0: 904 - version "4.0.0" 905 - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" 906 - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== 907 - 908 - acorn-jsx@^5.2.0, acorn-jsx@^5.3.2: 909 - version "5.3.2" 910 - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 911 - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 912 - 913 - acorn@^6.4.1: 914 - version "6.4.2" 915 - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" 916 - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== 917 - 918 - acorn@^8.5.0, acorn@^8.8.0: 919 - version "8.8.0" 920 - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" 921 - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== 922 - 923 - aggregate-error@^3.0.0: 924 - version "3.1.0" 925 - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 926 - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 927 - dependencies: 928 - clean-stack "^2.0.0" 929 - indent-string "^4.0.0" 930 - 931 - ajv@^6.10.0, ajv@^6.12.4: 932 - version "6.12.6" 933 - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 934 - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 935 - dependencies: 936 - fast-deep-equal "^3.1.1" 937 - fast-json-stable-stringify "^2.0.0" 938 - json-schema-traverse "^0.4.1" 939 - uri-js "^4.2.2" 940 - 941 - ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: 942 - version "4.3.2" 943 - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 944 - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 945 - dependencies: 946 - type-fest "^0.21.3" 947 - 948 - ansi-regex@^5.0.1: 949 - version "5.0.1" 950 - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 951 - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 952 - 953 - ansi-regex@^6.0.1: 954 - version "6.0.1" 955 - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 956 - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 957 - 958 - ansi-styles@^3.2.1: 959 - version "3.2.1" 960 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 961 - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 962 - dependencies: 963 - color-convert "^1.9.0" 964 - 965 - ansi-styles@^4.0.0, ansi-styles@^4.1.0: 966 - version "4.3.0" 967 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 968 - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 969 - dependencies: 970 - color-convert "^2.0.1" 971 - 972 - ansi-styles@^5.0.0: 973 - version "5.2.0" 974 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 975 - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 976 - 977 - ansi-styles@^6.0.0: 978 - version "6.1.0" 979 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" 980 - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== 981 - 982 - any-promise@^1.0.0: 983 - version "1.3.0" 984 - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 985 - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== 986 - 987 - anymatch@^3.0.3: 988 - version "3.1.2" 989 - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 990 - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 991 - dependencies: 992 - normalize-path "^3.0.0" 993 - picomatch "^2.0.4" 994 - 995 - argparse@^1.0.7: 996 - version "1.0.10" 997 - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 998 - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 999 - dependencies: 1000 - sprintf-js "~1.0.2" 1001 - 1002 - argparse@^2.0.1: 1003 - version "2.0.1" 1004 - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 1005 - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 1006 - 1007 - array-union@^2.1.0: 1008 - version "2.1.0" 1009 - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 1010 - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 1011 - 1012 - astral-regex@^2.0.0: 1013 - version "2.0.0" 1014 - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 1015 - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 1016 - 1017 - babel-jest@^28.1.3: 1018 - version "28.1.3" 1019 - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" 1020 - integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== 1021 - dependencies: 1022 - "@jest/transform" "^28.1.3" 1023 - "@types/babel__core" "^7.1.14" 1024 - babel-plugin-istanbul "^6.1.1" 1025 - babel-preset-jest "^28.1.3" 1026 - chalk "^4.0.0" 1027 - graceful-fs "^4.2.9" 1028 - slash "^3.0.0" 1029 - 1030 - babel-plugin-istanbul@^6.1.1: 1031 - version "6.1.1" 1032 - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" 1033 - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== 1034 - dependencies: 1035 - "@babel/helper-plugin-utils" "^7.0.0" 1036 - "@istanbuljs/load-nyc-config" "^1.0.0" 1037 - "@istanbuljs/schema" "^0.1.2" 1038 - istanbul-lib-instrument "^5.0.4" 1039 - test-exclude "^6.0.0" 1040 - 1041 - babel-plugin-jest-hoist@^28.1.3: 1042 - version "28.1.3" 1043 - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe" 1044 - integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== 1045 - dependencies: 1046 - "@babel/template" "^7.3.3" 1047 - "@babel/types" "^7.3.3" 1048 - "@types/babel__core" "^7.1.14" 1049 - "@types/babel__traverse" "^7.0.6" 1050 - 1051 - babel-preset-current-node-syntax@^1.0.0: 1052 - version "1.0.1" 1053 - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 1054 - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 1055 - dependencies: 1056 - "@babel/plugin-syntax-async-generators" "^7.8.4" 1057 - "@babel/plugin-syntax-bigint" "^7.8.3" 1058 - "@babel/plugin-syntax-class-properties" "^7.8.3" 1059 - "@babel/plugin-syntax-import-meta" "^7.8.3" 1060 - "@babel/plugin-syntax-json-strings" "^7.8.3" 1061 - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 1062 - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 1063 - "@babel/plugin-syntax-numeric-separator" "^7.8.3" 1064 - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 1065 - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 1066 - "@babel/plugin-syntax-optional-chaining" "^7.8.3" 1067 - "@babel/plugin-syntax-top-level-await" "^7.8.3" 1068 - 1069 - babel-preset-jest@^28.1.3: 1070 - version "28.1.3" 1071 - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d" 1072 - integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== 1073 - dependencies: 1074 - babel-plugin-jest-hoist "^28.1.3" 1075 - babel-preset-current-node-syntax "^1.0.0" 1076 - 1077 - balanced-match@^1.0.0: 1078 - version "1.0.2" 1079 - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 1080 - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 1081 - 1082 - brace-expansion@^1.1.7: 1083 - version "1.1.11" 1084 - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 1085 - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 1086 - dependencies: 1087 - balanced-match "^1.0.0" 1088 - concat-map "0.0.1" 1089 - 1090 - brace-expansion@^2.0.1: 1091 - version "2.0.1" 1092 - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 1093 - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 1094 - dependencies: 1095 - balanced-match "^1.0.0" 1096 - 1097 - braces@^3.0.2: 1098 - version "3.0.2" 1099 - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 1100 - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 1101 - dependencies: 1102 - fill-range "^7.0.1" 1103 - 1104 - browserslist@^4.20.2: 1105 - version "4.21.3" 1106 - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" 1107 - integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 1108 - dependencies: 1109 - caniuse-lite "^1.0.30001370" 1110 - electron-to-chromium "^1.4.202" 1111 - node-releases "^2.0.6" 1112 - update-browserslist-db "^1.0.5" 1113 - 1114 - bser@2.1.1: 1115 - version "2.1.1" 1116 - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" 1117 - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== 1118 - dependencies: 1119 - node-int64 "^0.4.0" 1120 - 1121 - buble@^0.20.0: 1122 - version "0.20.0" 1123 - resolved "https://registry.yarnpkg.com/buble/-/buble-0.20.0.tgz#a143979a8d968b7f76b57f38f2e7ce7cfe938d1f" 1124 - integrity sha512-/1gnaMQE8xvd5qsNBl+iTuyjJ9XxeaVxAMF86dQ4EyxFJOZtsgOS8Ra+7WHgZTam5IFDtt4BguN0sH0tVTKrOw== 1125 - dependencies: 1126 - acorn "^6.4.1" 1127 - acorn-dynamic-import "^4.0.0" 1128 - acorn-jsx "^5.2.0" 1129 - chalk "^2.4.2" 1130 - magic-string "^0.25.7" 1131 - minimist "^1.2.5" 1132 - regexpu-core "4.5.4" 1133 - 1134 - buffer-from@^1.0.0: 1135 - version "1.1.2" 1136 - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 1137 - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 1138 - 1139 - builtin-modules@^3.3.0: 1140 - version "3.3.0" 1141 - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" 1142 - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== 1143 - 1144 - call-bind@^1.0.0, call-bind@^1.0.2: 1145 - version "1.0.2" 1146 - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 1147 - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 1148 - dependencies: 1149 - function-bind "^1.1.1" 1150 - get-intrinsic "^1.0.2" 1151 - 1152 - callbag-from-iter@^1.3.0: 1153 - version "1.3.0" 1154 - resolved "https://registry.yarnpkg.com/callbag-from-iter/-/callbag-from-iter-1.3.0.tgz#6757c1de9f8558b877546d475e3082823662c54c" 1155 - integrity sha512-iBc6O6DYDWQBjlOZzdU/SbJofK0pN3TjNWC4fDIQePBk5FWCZKVll/coXiVU6gpwbBaS0Om/d/PVbVK8Ki17Ew== 1156 - dependencies: 1157 - callbag "^1.2.0" 1158 - 1159 - callbag-iterate@^1.0.0: 1160 - version "1.0.0" 1161 - resolved "https://registry.yarnpkg.com/callbag-iterate/-/callbag-iterate-1.0.0.tgz#97116f09296ef2d5073b35125891dca93349aeeb" 1162 - integrity sha512-bynCbDuqGZkj1mXAhGr8jMf8Vhifps+G+pF3xlcz3jcaZLNXHghVjValnJtBTg2N74cyl347UzagJ8niJpyF6Q== 1163 - 1164 - callbag-take@^1.5.0: 1165 - version "1.5.0" 1166 - resolved "https://registry.yarnpkg.com/callbag-take/-/callbag-take-1.5.0.tgz#3062b42f8ed4ed7e021d2cd1306c029d2ef4a12d" 1167 - integrity sha512-8aOxp+gzfVQtDe+tk9PhKbC9QR9Vap4KFA0xccUiXFK9VjIS0fSt/Yi454viPpMhJkhRcx1BsjyF34Cj57W89A== 1168 - dependencies: 1169 - callbag "^1.1.0" 1170 - 1171 - callbag@^1.1.0, callbag@^1.2.0: 1172 - version "1.5.1" 1173 - resolved "https://registry.yarnpkg.com/callbag/-/callbag-1.5.1.tgz#383464c8c2e81a584b8d7df9feace4f7720409f1" 1174 - integrity sha512-FGpkXYZ018Wpeevhsp7R2iABZuDamg54TaObKI48JBNGzMlkb9bRwS54eR0sgFksQpspsCan4iaaVbAbxm9MIg== 1175 - 1176 - callsites@^3.0.0: 1177 - version "3.1.0" 1178 - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1179 - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1180 - 1181 - camelcase@^5.3.1: 1182 - version "5.3.1" 1183 - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 1184 - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 1185 - 1186 - camelcase@^6.2.0: 1187 - version "6.3.0" 1188 - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 1189 - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 1190 - 1191 - caniuse-lite@^1.0.30001370: 1192 - version "1.0.30001375" 1193 - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz#8e73bc3d1a4c800beb39f3163bf0190d7e5d7672" 1194 - integrity sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw== 1195 - 1196 - chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: 1197 - version "2.4.2" 1198 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1199 - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1200 - dependencies: 1201 - ansi-styles "^3.2.1" 1202 - escape-string-regexp "^1.0.5" 1203 - supports-color "^5.3.0" 1204 - 1205 - chalk@^4.0.0: 1206 - version "4.1.2" 1207 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1208 - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1209 - dependencies: 1210 - ansi-styles "^4.1.0" 1211 - supports-color "^7.1.0" 1212 - 1213 - char-regex@^1.0.2: 1214 - version "1.0.2" 1215 - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" 1216 - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== 1217 - 1218 - ci-info@^2.0.0: 1219 - version "2.0.0" 1220 - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 1221 - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 1222 - 1223 - ci-info@^3.2.0: 1224 - version "3.3.2" 1225 - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" 1226 - integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== 1227 - 1228 - cjs-module-lexer@^1.0.0: 1229 - version "1.2.2" 1230 - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" 1231 - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== 1232 - 1233 - clean-stack@^2.0.0: 1234 - version "2.2.0" 1235 - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 1236 - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 1237 - 1238 - cli-cursor@^3.1.0: 1239 - version "3.1.0" 1240 - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 1241 - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 1242 - dependencies: 1243 - restore-cursor "^3.1.0" 1244 - 1245 - cli-truncate@^2.1.0: 1246 - version "2.1.0" 1247 - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 1248 - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 1249 - dependencies: 1250 - slice-ansi "^3.0.0" 1251 - string-width "^4.2.0" 1252 - 1253 - cli-truncate@^3.1.0: 1254 - version "3.1.0" 1255 - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" 1256 - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== 1257 - dependencies: 1258 - slice-ansi "^5.0.0" 1259 - string-width "^5.0.0" 1260 - 1261 - cliui@^7.0.2: 1262 - version "7.0.4" 1263 - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 1264 - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 1265 - dependencies: 1266 - string-width "^4.2.0" 1267 - strip-ansi "^6.0.0" 1268 - wrap-ansi "^7.0.0" 1269 - 1270 - co@^4.6.0: 1271 - version "4.6.0" 1272 - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 1273 - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== 1274 - 1275 - collect-v8-coverage@^1.0.0: 1276 - version "1.0.1" 1277 - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 1278 - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 1279 - 1280 - color-convert@^1.9.0: 1281 - version "1.9.3" 1282 - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1283 - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1284 - dependencies: 1285 - color-name "1.1.3" 1286 - 1287 - color-convert@^2.0.1: 1288 - version "2.0.1" 1289 - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1290 - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1291 - dependencies: 1292 - color-name "~1.1.4" 1293 - 1294 - color-name@1.1.3: 1295 - version "1.1.3" 1296 - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1297 - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1298 - 1299 - color-name@~1.1.4: 1300 - version "1.1.4" 1301 - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1302 - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1303 - 1304 - colorette@^2.0.16, colorette@^2.0.17: 1305 - version "2.0.19" 1306 - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 1307 - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 1308 - 1309 - commander@^2.20.0: 1310 - version "2.20.3" 1311 - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 1312 - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 1313 - 1314 - commander@^4.0.0: 1315 - version "4.1.1" 1316 - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" 1317 - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 1318 - 1319 - commander@^6.1.0: 1320 - version "6.2.1" 1321 - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" 1322 - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== 1323 - 1324 - commander@^9.3.0: 1325 - version "9.4.0" 1326 - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" 1327 - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== 1328 - 1329 - commondir@^1.0.1: 1330 - version "1.0.1" 1331 - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 1332 - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 1333 - 1334 - compare-versions@^3.6.0: 1335 - version "3.6.0" 1336 - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" 1337 - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== 1338 - 1339 - concat-map@0.0.1: 1340 - version "0.0.1" 1341 - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1342 - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1343 - 1344 - convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: 1345 - version "1.8.0" 1346 - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 1347 - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 1348 - dependencies: 1349 - safe-buffer "~5.1.1" 1350 - 1351 - cosmiconfig@^7.0.0: 1352 - version "7.0.1" 1353 - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" 1354 - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== 1355 - dependencies: 1356 - "@types/parse-json" "^4.0.0" 1357 - import-fresh "^3.2.1" 1358 - parse-json "^5.0.0" 1359 - path-type "^4.0.0" 1360 - yaml "^1.10.0" 1361 - 1362 - cross-spawn@^6.0.5: 1363 - version "6.0.5" 1364 - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 1365 - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 1366 - dependencies: 1367 - nice-try "^1.0.4" 1368 - path-key "^2.0.1" 1369 - semver "^5.5.0" 1370 - shebang-command "^1.2.0" 1371 - which "^1.2.9" 1372 - 1373 - cross-spawn@^7.0.2, cross-spawn@^7.0.3: 1374 - version "7.0.3" 1375 - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1376 - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1377 - dependencies: 1378 - path-key "^3.1.0" 1379 - shebang-command "^2.0.0" 1380 - which "^2.0.1" 1381 - 1382 - debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: 1383 - version "4.3.4" 1384 - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1385 - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1386 - dependencies: 1387 - ms "2.1.2" 1388 - 1389 - dedent@^0.7.0: 1390 - version "0.7.0" 1391 - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 1392 - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== 1393 - 1394 - deep-is@^0.1.3: 1395 - version "0.1.4" 1396 - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 1397 - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 1398 - 1399 - deepmerge@^4.2.2: 1400 - version "4.2.2" 1401 - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1402 - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 1403 - 1404 - define-properties@^1.1.3, define-properties@^1.1.4: 1405 - version "1.1.4" 1406 - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" 1407 - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== 1408 - dependencies: 1409 - has-property-descriptors "^1.0.0" 1410 - object-keys "^1.1.1" 1411 - 1412 - detect-newline@^3.0.0: 1413 - version "3.1.0" 1414 - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1415 - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1416 - 1417 - diff-sequences@^28.1.1: 1418 - version "28.1.1" 1419 - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" 1420 - integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== 1421 - 1422 - dir-glob@^3.0.1: 1423 - version "3.0.1" 1424 - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1425 - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1426 - dependencies: 1427 - path-type "^4.0.0" 1428 - 1429 - doctrine@^3.0.0: 1430 - version "3.0.0" 1431 - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1432 - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1433 - dependencies: 1434 - esutils "^2.0.2" 1435 - 1436 - eastasianwidth@^0.2.0: 1437 - version "0.2.0" 1438 - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 1439 - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 1440 - 1441 - electron-to-chromium@^1.4.202: 1442 - version "1.4.217" 1443 - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.217.tgz#f1f51b319435f4c1587a850806a0dfebe9774598" 1444 - integrity sha512-iX8GbAMij7cOtJPZo02CClpaPMWjvN5meqXiJXkBgwvraNWTNH0Z7F9tkznI34JRPtWASoPM/xWamq3oNb49GA== 1445 - 1446 - emittery@^0.10.2: 1447 - version "0.10.2" 1448 - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" 1449 - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== 1450 - 1451 - emoji-regex@^8.0.0: 1452 - version "8.0.0" 1453 - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1454 - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1455 - 1456 - emoji-regex@^9.2.2: 1457 - version "9.2.2" 1458 - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 1459 - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 1460 - 1461 - error-ex@^1.3.1: 1462 - version "1.3.2" 1463 - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1464 - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1465 - dependencies: 1466 - is-arrayish "^0.2.1" 1467 - 1468 - es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.5: 1469 - version "1.20.1" 1470 - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" 1471 - integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== 1472 - dependencies: 1473 - call-bind "^1.0.2" 1474 - es-to-primitive "^1.2.1" 1475 - function-bind "^1.1.1" 1476 - function.prototype.name "^1.1.5" 1477 - get-intrinsic "^1.1.1" 1478 - get-symbol-description "^1.0.0" 1479 - has "^1.0.3" 1480 - has-property-descriptors "^1.0.0" 1481 - has-symbols "^1.0.3" 1482 - internal-slot "^1.0.3" 1483 - is-callable "^1.2.4" 1484 - is-negative-zero "^2.0.2" 1485 - is-regex "^1.1.4" 1486 - is-shared-array-buffer "^1.0.2" 1487 - is-string "^1.0.7" 1488 - is-weakref "^1.0.2" 1489 - object-inspect "^1.12.0" 1490 - object-keys "^1.1.1" 1491 - object.assign "^4.1.2" 1492 - regexp.prototype.flags "^1.4.3" 1493 - string.prototype.trimend "^1.0.5" 1494 - string.prototype.trimstart "^1.0.5" 1495 - unbox-primitive "^1.0.2" 1496 - 1497 - es-to-primitive@^1.2.1: 1498 - version "1.2.1" 1499 - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1500 - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 1501 - dependencies: 1502 - is-callable "^1.1.4" 1503 - is-date-object "^1.0.1" 1504 - is-symbol "^1.0.2" 1505 - 1506 - escalade@^3.1.1: 1507 - version "3.1.1" 1508 - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1509 - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1510 - 1511 - escape-string-regexp@^1.0.5: 1512 - version "1.0.5" 1513 - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1514 - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1515 - 1516 - escape-string-regexp@^2.0.0: 1517 - version "2.0.0" 1518 - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1519 - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1520 - 1521 - escape-string-regexp@^4.0.0: 1522 - version "4.0.0" 1523 - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1524 - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1525 - 1526 - eslint-config-prettier@^8.5.0: 1527 - version "8.5.0" 1528 - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" 1529 - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== 1530 - 1531 - eslint-plugin-jest@^26.8.2: 1532 - version "26.8.2" 1533 - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.8.2.tgz#42a1248a5ade2bc589eb0f9c4e0608dd89b18cf3" 1534 - integrity sha512-67oh0FKaku9y48OpLzL3uK9ckrgLb83Sp5gxxTbtOGDw9lq6D8jw/Psj/9CipkbK406I2M7mvx1q+pv/MdbvxA== 1535 - dependencies: 1536 - "@typescript-eslint/utils" "^5.10.0" 1537 - 1538 - eslint-plugin-prettier@^4.2.1: 1539 - version "4.2.1" 1540 - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" 1541 - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== 1542 - dependencies: 1543 - prettier-linter-helpers "^1.0.0" 1544 - 1545 - eslint-scope@^5.1.1: 1546 - version "5.1.1" 1547 - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 1548 - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1549 - dependencies: 1550 - esrecurse "^4.3.0" 1551 - estraverse "^4.1.1" 1552 - 1553 - eslint-scope@^7.1.1: 1554 - version "7.1.1" 1555 - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 1556 - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 1557 - dependencies: 1558 - esrecurse "^4.3.0" 1559 - estraverse "^5.2.0" 1560 - 1561 - eslint-utils@^3.0.0: 1562 - version "3.0.0" 1563 - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 1564 - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 1565 - dependencies: 1566 - eslint-visitor-keys "^2.0.0" 1567 - 1568 - eslint-visitor-keys@^2.0.0: 1569 - version "2.1.0" 1570 - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 1571 - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 1572 - 1573 - eslint-visitor-keys@^3.3.0: 1574 - version "3.3.0" 1575 - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 1576 - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 1577 - 1578 - eslint@^8.21.0: 1579 - version "8.21.0" 1580 - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef" 1581 - integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA== 1582 - dependencies: 1583 - "@eslint/eslintrc" "^1.3.0" 1584 - "@humanwhocodes/config-array" "^0.10.4" 1585 - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" 1586 - ajv "^6.10.0" 1587 - chalk "^4.0.0" 1588 - cross-spawn "^7.0.2" 1589 - debug "^4.3.2" 1590 - doctrine "^3.0.0" 1591 - escape-string-regexp "^4.0.0" 1592 - eslint-scope "^7.1.1" 1593 - eslint-utils "^3.0.0" 1594 - eslint-visitor-keys "^3.3.0" 1595 - espree "^9.3.3" 1596 - esquery "^1.4.0" 1597 - esutils "^2.0.2" 1598 - fast-deep-equal "^3.1.3" 1599 - file-entry-cache "^6.0.1" 1600 - find-up "^5.0.0" 1601 - functional-red-black-tree "^1.0.1" 1602 - glob-parent "^6.0.1" 1603 - globals "^13.15.0" 1604 - globby "^11.1.0" 1605 - grapheme-splitter "^1.0.4" 1606 - ignore "^5.2.0" 1607 - import-fresh "^3.0.0" 1608 - imurmurhash "^0.1.4" 1609 - is-glob "^4.0.0" 1610 - js-yaml "^4.1.0" 1611 - json-stable-stringify-without-jsonify "^1.0.1" 1612 - levn "^0.4.1" 1613 - lodash.merge "^4.6.2" 1614 - minimatch "^3.1.2" 1615 - natural-compare "^1.4.0" 1616 - optionator "^0.9.1" 1617 - regexpp "^3.2.0" 1618 - strip-ansi "^6.0.1" 1619 - strip-json-comments "^3.1.0" 1620 - text-table "^0.2.0" 1621 - v8-compile-cache "^2.0.3" 1622 - 1623 - espree@^9.3.2, espree@^9.3.3: 1624 - version "9.3.3" 1625 - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" 1626 - integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== 1627 - dependencies: 1628 - acorn "^8.8.0" 1629 - acorn-jsx "^5.3.2" 1630 - eslint-visitor-keys "^3.3.0" 1631 - 1632 - esprima@^4.0.0: 1633 - version "4.0.1" 1634 - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1635 - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1636 - 1637 - esquery@^1.4.0: 1638 - version "1.4.0" 1639 - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 1640 - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 1641 - dependencies: 1642 - estraverse "^5.1.0" 1643 - 1644 - esrecurse@^4.3.0: 1645 - version "4.3.0" 1646 - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1647 - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1648 - dependencies: 1649 - estraverse "^5.2.0" 1650 - 1651 - estraverse@^4.1.1: 1652 - version "4.3.0" 1653 - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1654 - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1655 - 1656 - estraverse@^5.1.0, estraverse@^5.2.0: 1657 - version "5.3.0" 1658 - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1659 - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1660 - 1661 - estree-walker@^1.0.1: 1662 - version "1.0.1" 1663 - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 1664 - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 1665 - 1666 - estree-walker@^2.0.1: 1667 - version "2.0.2" 1668 - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 1669 - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1670 - 1671 - esutils@^2.0.2: 1672 - version "2.0.3" 1673 - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1674 - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1675 - 1676 - execa@^5.0.0: 1677 - version "5.1.1" 1678 - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1679 - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1680 - dependencies: 1681 - cross-spawn "^7.0.3" 1682 - get-stream "^6.0.0" 1683 - human-signals "^2.1.0" 1684 - is-stream "^2.0.0" 1685 - merge-stream "^2.0.0" 1686 - npm-run-path "^4.0.1" 1687 - onetime "^5.1.2" 1688 - signal-exit "^3.0.3" 1689 - strip-final-newline "^2.0.0" 1690 - 1691 - execa@^6.1.0: 1692 - version "6.1.0" 1693 - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" 1694 - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== 1695 - dependencies: 1696 - cross-spawn "^7.0.3" 1697 - get-stream "^6.0.1" 1698 - human-signals "^3.0.1" 1699 - is-stream "^3.0.0" 1700 - merge-stream "^2.0.0" 1701 - npm-run-path "^5.1.0" 1702 - onetime "^6.0.0" 1703 - signal-exit "^3.0.7" 1704 - strip-final-newline "^3.0.0" 1705 - 1706 - exit@^0.1.2: 1707 - version "0.1.2" 1708 - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1709 - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== 1710 - 1711 - expect@^28.1.3: 1712 - version "28.1.3" 1713 - resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" 1714 - integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== 1715 - dependencies: 1716 - "@jest/expect-utils" "^28.1.3" 1717 - jest-get-type "^28.0.2" 1718 - jest-matcher-utils "^28.1.3" 1719 - jest-message-util "^28.1.3" 1720 - jest-util "^28.1.3" 1721 - 1722 - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1723 - version "3.1.3" 1724 - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1725 - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1726 - 1727 - fast-diff@^1.1.2: 1728 - version "1.2.0" 1729 - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 1730 - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 1731 - 1732 - fast-glob@^3.2.9: 1733 - version "3.2.11" 1734 - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 1735 - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 1736 - dependencies: 1737 - "@nodelib/fs.stat" "^2.0.2" 1738 - "@nodelib/fs.walk" "^1.2.3" 1739 - glob-parent "^5.1.2" 1740 - merge2 "^1.3.0" 1741 - micromatch "^4.0.4" 1742 - 1743 - fast-json-stable-stringify@^2.0.0: 1744 - version "2.1.0" 1745 - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1746 - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1747 - 1748 - fast-levenshtein@^2.0.6: 1749 - version "2.0.6" 1750 - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1751 - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 1752 - 1753 - fastq@^1.6.0: 1754 - version "1.13.0" 1755 - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 1756 - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 1757 - dependencies: 1758 - reusify "^1.0.4" 1759 - 1760 - fb-watchman@^2.0.0: 1761 - version "2.0.1" 1762 - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" 1763 - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== 1764 - dependencies: 1765 - bser "2.1.1" 1766 - 1767 - file-entry-cache@^6.0.1: 1768 - version "6.0.1" 1769 - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1770 - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1771 - dependencies: 1772 - flat-cache "^3.0.4" 1773 - 1774 - fill-range@^7.0.1: 1775 - version "7.0.1" 1776 - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1777 - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1778 - dependencies: 1779 - to-regex-range "^5.0.1" 1780 - 1781 - find-up@^4.0.0, find-up@^4.1.0: 1782 - version "4.1.0" 1783 - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1784 - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1785 - dependencies: 1786 - locate-path "^5.0.0" 1787 - path-exists "^4.0.0" 1788 - 1789 - find-up@^5.0.0: 1790 - version "5.0.0" 1791 - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1792 - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1793 - dependencies: 1794 - locate-path "^6.0.0" 1795 - path-exists "^4.0.0" 1796 - 1797 - find-versions@^4.0.0: 1798 - version "4.0.0" 1799 - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" 1800 - integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== 1801 - dependencies: 1802 - semver-regex "^3.1.2" 1803 - 1804 - flat-cache@^3.0.4: 1805 - version "3.0.4" 1806 - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1807 - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1808 - dependencies: 1809 - flatted "^3.1.0" 1810 - rimraf "^3.0.2" 1811 - 1812 - flatted@^3.1.0: 1813 - version "3.2.6" 1814 - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" 1815 - integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== 1816 - 1817 - flowgen@^1.20.1: 1818 - version "1.20.1" 1819 - resolved "https://registry.yarnpkg.com/flowgen/-/flowgen-1.20.1.tgz#336871d59a36980fbe2c3de553bd558f06a46e24" 1820 - integrity sha512-Wus3KAhsOF7CiZGkBKZawf0AJXe06Wot6UGQt7h9QS6MBtBkFgG30wTAgpy1byA3FKYb059vO341XtN8LUhenQ== 1821 - dependencies: 1822 - "@babel/code-frame" "^7.16.7" 1823 - "@babel/highlight" "^7.16.7" 1824 - commander "^6.1.0" 1825 - lodash "^4.17.20" 1826 - prettier "^2.5.1" 1827 - shelljs "^0.8.4" 1828 - typescript "~4.4.4" 1829 - typescript-compiler "^1.4.1-2" 1830 - 1831 - fs.realpath@^1.0.0: 1832 - version "1.0.0" 1833 - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1834 - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1835 - 1836 - fsevents@^2.3.2, fsevents@~2.3.2: 1837 - version "2.3.2" 1838 - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1839 - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1840 - 1841 - function-bind@^1.1.1: 1842 - version "1.1.1" 1843 - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1844 - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1845 - 1846 - function.prototype.name@^1.1.5: 1847 - version "1.1.5" 1848 - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" 1849 - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== 1850 - dependencies: 1851 - call-bind "^1.0.2" 1852 - define-properties "^1.1.3" 1853 - es-abstract "^1.19.0" 1854 - functions-have-names "^1.2.2" 1855 - 1856 - functional-red-black-tree@^1.0.1: 1857 - version "1.0.1" 1858 - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1859 - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== 1860 - 1861 - functions-have-names@^1.2.2: 1862 - version "1.2.3" 1863 - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 1864 - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== 1865 - 1866 - gensync@^1.0.0-beta.2: 1867 - version "1.0.0-beta.2" 1868 - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1869 - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1870 - 1871 - get-caller-file@^2.0.5: 1872 - version "2.0.5" 1873 - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1874 - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1875 - 1876 - get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 1877 - version "1.1.2" 1878 - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" 1879 - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== 1880 - dependencies: 1881 - function-bind "^1.1.1" 1882 - has "^1.0.3" 1883 - has-symbols "^1.0.3" 1884 - 1885 - get-package-type@^0.1.0: 1886 - version "0.1.0" 1887 - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 1888 - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1889 - 1890 - get-stream@^6.0.0, get-stream@^6.0.1: 1891 - version "6.0.1" 1892 - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1893 - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1894 - 1895 - get-symbol-description@^1.0.0: 1896 - version "1.0.0" 1897 - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 1898 - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 1899 - dependencies: 1900 - call-bind "^1.0.2" 1901 - get-intrinsic "^1.1.1" 1902 - 1903 - glob-parent@^5.1.2: 1904 - version "5.1.2" 1905 - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1906 - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1907 - dependencies: 1908 - is-glob "^4.0.1" 1909 - 1910 - glob-parent@^6.0.1: 1911 - version "6.0.2" 1912 - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1913 - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1914 - dependencies: 1915 - is-glob "^4.0.3" 1916 - 1917 - glob@7.1.6: 1918 - version "7.1.6" 1919 - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1920 - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 1921 - dependencies: 1922 - fs.realpath "^1.0.0" 1923 - inflight "^1.0.4" 1924 - inherits "2" 1925 - minimatch "^3.0.4" 1926 - once "^1.3.0" 1927 - path-is-absolute "^1.0.0" 1928 - 1929 - glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: 1930 - version "7.2.3" 1931 - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1932 - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1933 - dependencies: 1934 - fs.realpath "^1.0.0" 1935 - inflight "^1.0.4" 1936 - inherits "2" 1937 - minimatch "^3.1.1" 1938 - once "^1.3.0" 1939 - path-is-absolute "^1.0.0" 1940 - 1941 - glob@^8.0.3: 1942 - version "8.0.3" 1943 - resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" 1944 - integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== 1945 - dependencies: 1946 - fs.realpath "^1.0.0" 1947 - inflight "^1.0.4" 1948 - inherits "2" 1949 - minimatch "^5.0.1" 1950 - once "^1.3.0" 1951 - 1952 - globals@^11.1.0: 1953 - version "11.12.0" 1954 - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1955 - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1956 - 1957 - globals@^13.15.0: 1958 - version "13.17.0" 1959 - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" 1960 - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== 1961 - dependencies: 1962 - type-fest "^0.20.2" 1963 - 1964 - globby@^11.1.0: 1965 - version "11.1.0" 1966 - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1967 - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1968 - dependencies: 1969 - array-union "^2.1.0" 1970 - dir-glob "^3.0.1" 1971 - fast-glob "^3.2.9" 1972 - ignore "^5.2.0" 1973 - merge2 "^1.4.1" 1974 - slash "^3.0.0" 1975 - 1976 - graceful-fs@^4.1.2, graceful-fs@^4.2.9: 1977 - version "4.2.10" 1978 - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1979 - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1980 - 1981 - grapheme-splitter@^1.0.4: 1982 - version "1.0.4" 1983 - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" 1984 - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== 1985 - 1986 - has-bigints@^1.0.1, has-bigints@^1.0.2: 1987 - version "1.0.2" 1988 - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" 1989 - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== 1990 - 1991 - has-flag@^3.0.0: 1992 - version "3.0.0" 1993 - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1994 - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1995 - 1996 - has-flag@^4.0.0: 1997 - version "4.0.0" 1998 - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1999 - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 2000 - 2001 - has-property-descriptors@^1.0.0: 2002 - version "1.0.0" 2003 - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 2004 - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 2005 - dependencies: 2006 - get-intrinsic "^1.1.1" 2007 - 2008 - has-symbols@^1.0.2, has-symbols@^1.0.3: 2009 - version "1.0.3" 2010 - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 2011 - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 2012 - 2013 - has-tostringtag@^1.0.0: 2014 - version "1.0.0" 2015 - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 2016 - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 2017 - dependencies: 2018 - has-symbols "^1.0.2" 2019 - 2020 - has@^1.0.3: 2021 - version "1.0.3" 2022 - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 2023 - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 2024 - dependencies: 2025 - function-bind "^1.1.1" 2026 - 2027 - hosted-git-info@^2.1.4: 2028 - version "2.8.9" 2029 - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 2030 - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 2031 - 2032 - html-escaper@^2.0.0: 2033 - version "2.0.2" 2034 - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 2035 - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 2036 - 2037 - human-signals@^2.1.0: 2038 - version "2.1.0" 2039 - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 2040 - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 2041 - 2042 - human-signals@^3.0.1: 2043 - version "3.0.1" 2044 - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" 2045 - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== 2046 - 2047 - husky-v4@^4.3.8: 2048 - version "4.3.8" 2049 - resolved "https://registry.yarnpkg.com/husky-v4/-/husky-v4-4.3.8.tgz#af3be56a8b62b941371b5190e265f76dd1af2e57" 2050 - integrity sha512-M7A9u/t6BnT/qbDzKb7SdXhr8qLTGTkqZL6YLDDM20jfCdmpIMEuO384LvYXSBcgv50oIgNWI/IaO3g4A4ShjA== 2051 - dependencies: 2052 - chalk "^4.0.0" 2053 - ci-info "^2.0.0" 2054 - compare-versions "^3.6.0" 2055 - cosmiconfig "^7.0.0" 2056 - find-versions "^4.0.0" 2057 - opencollective-postinstall "^2.0.2" 2058 - pkg-dir "^5.0.0" 2059 - please-upgrade-node "^3.2.0" 2060 - slash "^3.0.0" 2061 - which-pm-runs "^1.0.0" 2062 - 2063 - ignore@^5.2.0: 2064 - version "5.2.0" 2065 - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 2066 - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 2067 - 2068 - import-fresh@^3.0.0, import-fresh@^3.2.1: 2069 - version "3.3.0" 2070 - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 2071 - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 2072 - dependencies: 2073 - parent-module "^1.0.0" 2074 - resolve-from "^4.0.0" 2075 - 2076 - import-local@^3.0.2: 2077 - version "3.1.0" 2078 - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" 2079 - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 2080 - dependencies: 2081 - pkg-dir "^4.2.0" 2082 - resolve-cwd "^3.0.0" 2083 - 2084 - imurmurhash@^0.1.4: 2085 - version "0.1.4" 2086 - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 2087 - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 2088 - 2089 - indent-string@^4.0.0: 2090 - version "4.0.0" 2091 - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 2092 - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 2093 - 2094 - inflight@^1.0.4: 2095 - version "1.0.6" 2096 - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 2097 - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 2098 - dependencies: 2099 - once "^1.3.0" 2100 - wrappy "1" 2101 - 2102 - inherits@2: 2103 - version "2.0.4" 2104 - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 2105 - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 2106 - 2107 - internal-slot@^1.0.3: 2108 - version "1.0.3" 2109 - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 2110 - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 2111 - dependencies: 2112 - get-intrinsic "^1.1.0" 2113 - has "^1.0.3" 2114 - side-channel "^1.0.4" 2115 - 2116 - interpret@^1.0.0: 2117 - version "1.4.0" 2118 - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" 2119 - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== 2120 - 2121 - is-arrayish@^0.2.1: 2122 - version "0.2.1" 2123 - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 2124 - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 2125 - 2126 - is-bigint@^1.0.1: 2127 - version "1.0.4" 2128 - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 2129 - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 2130 - dependencies: 2131 - has-bigints "^1.0.1" 2132 - 2133 - is-boolean-object@^1.1.0: 2134 - version "1.1.2" 2135 - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 2136 - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 2137 - dependencies: 2138 - call-bind "^1.0.2" 2139 - has-tostringtag "^1.0.0" 2140 - 2141 - is-builtin-module@^3.1.0: 2142 - version "3.2.0" 2143 - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" 2144 - integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw== 2145 - dependencies: 2146 - builtin-modules "^3.3.0" 2147 - 2148 - is-callable@^1.1.4, is-callable@^1.2.4: 2149 - version "1.2.4" 2150 - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" 2151 - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== 2152 - 2153 - is-core-module@^2.9.0: 2154 - version "2.10.0" 2155 - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 2156 - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 2157 - dependencies: 2158 - has "^1.0.3" 2159 - 2160 - is-date-object@^1.0.1: 2161 - version "1.0.5" 2162 - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 2163 - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 2164 - dependencies: 2165 - has-tostringtag "^1.0.0" 2166 - 2167 - is-extglob@^2.1.1: 2168 - version "2.1.1" 2169 - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 2170 - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 2171 - 2172 - is-fullwidth-code-point@^3.0.0: 2173 - version "3.0.0" 2174 - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 2175 - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 2176 - 2177 - is-fullwidth-code-point@^4.0.0: 2178 - version "4.0.0" 2179 - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" 2180 - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 2181 - 2182 - is-generator-fn@^2.0.0: 2183 - version "2.1.0" 2184 - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" 2185 - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== 2186 - 2187 - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 2188 - version "4.0.3" 2189 - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 2190 - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 2191 - dependencies: 2192 - is-extglob "^2.1.1" 2193 - 2194 - is-module@^1.0.0: 2195 - version "1.0.0" 2196 - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 2197 - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== 2198 - 2199 - is-negative-zero@^2.0.2: 2200 - version "2.0.2" 2201 - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 2202 - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 2203 - 2204 - is-number-object@^1.0.4: 2205 - version "1.0.7" 2206 - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" 2207 - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== 2208 - dependencies: 2209 - has-tostringtag "^1.0.0" 2210 - 2211 - is-number@^7.0.0: 2212 - version "7.0.0" 2213 - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 2214 - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 2215 - 2216 - is-reference@^1.2.1: 2217 - version "1.2.1" 2218 - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 2219 - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 2220 - dependencies: 2221 - "@types/estree" "*" 2222 - 2223 - is-regex@^1.1.4: 2224 - version "1.1.4" 2225 - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 2226 - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 2227 - dependencies: 2228 - call-bind "^1.0.2" 2229 - has-tostringtag "^1.0.0" 2230 - 2231 - is-shared-array-buffer@^1.0.2: 2232 - version "1.0.2" 2233 - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" 2234 - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== 2235 - dependencies: 2236 - call-bind "^1.0.2" 2237 - 2238 - is-stream@^2.0.0: 2239 - version "2.0.1" 2240 - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" 2241 - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 2242 - 2243 - is-stream@^3.0.0: 2244 - version "3.0.0" 2245 - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" 2246 - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== 2247 - 2248 - is-string@^1.0.5, is-string@^1.0.7: 2249 - version "1.0.7" 2250 - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 2251 - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 2252 - dependencies: 2253 - has-tostringtag "^1.0.0" 2254 - 2255 - is-symbol@^1.0.2, is-symbol@^1.0.3: 2256 - version "1.0.4" 2257 - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 2258 - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 2259 - dependencies: 2260 - has-symbols "^1.0.2" 2261 - 2262 - is-weakref@^1.0.2: 2263 - version "1.0.2" 2264 - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 2265 - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 2266 - dependencies: 2267 - call-bind "^1.0.2" 2268 - 2269 - isexe@^2.0.0: 2270 - version "2.0.0" 2271 - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2272 - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 2273 - 2274 - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: 2275 - version "3.2.0" 2276 - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" 2277 - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== 2278 - 2279 - istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: 2280 - version "5.2.0" 2281 - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" 2282 - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== 2283 - dependencies: 2284 - "@babel/core" "^7.12.3" 2285 - "@babel/parser" "^7.14.7" 2286 - "@istanbuljs/schema" "^0.1.2" 2287 - istanbul-lib-coverage "^3.2.0" 2288 - semver "^6.3.0" 2289 - 2290 - istanbul-lib-report@^3.0.0: 2291 - version "3.0.0" 2292 - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 2293 - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 2294 - dependencies: 2295 - istanbul-lib-coverage "^3.0.0" 2296 - make-dir "^3.0.0" 2297 - supports-color "^7.1.0" 2298 - 2299 - istanbul-lib-source-maps@^4.0.0: 2300 - version "4.0.1" 2301 - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" 2302 - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== 2303 - dependencies: 2304 - debug "^4.1.1" 2305 - istanbul-lib-coverage "^3.0.0" 2306 - source-map "^0.6.1" 2307 - 2308 - istanbul-reports@^3.1.3: 2309 - version "3.1.5" 2310 - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" 2311 - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== 2312 - dependencies: 2313 - html-escaper "^2.0.0" 2314 - istanbul-lib-report "^3.0.0" 2315 - 2316 - jest-changed-files@^28.1.3: 2317 - version "28.1.3" 2318 - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" 2319 - integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== 2320 - dependencies: 2321 - execa "^5.0.0" 2322 - p-limit "^3.1.0" 2323 - 2324 - jest-circus@^28.1.3: 2325 - version "28.1.3" 2326 - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4" 2327 - integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== 2328 - dependencies: 2329 - "@jest/environment" "^28.1.3" 2330 - "@jest/expect" "^28.1.3" 2331 - "@jest/test-result" "^28.1.3" 2332 - "@jest/types" "^28.1.3" 2333 - "@types/node" "*" 2334 - chalk "^4.0.0" 2335 - co "^4.6.0" 2336 - dedent "^0.7.0" 2337 - is-generator-fn "^2.0.0" 2338 - jest-each "^28.1.3" 2339 - jest-matcher-utils "^28.1.3" 2340 - jest-message-util "^28.1.3" 2341 - jest-runtime "^28.1.3" 2342 - jest-snapshot "^28.1.3" 2343 - jest-util "^28.1.3" 2344 - p-limit "^3.1.0" 2345 - pretty-format "^28.1.3" 2346 - slash "^3.0.0" 2347 - stack-utils "^2.0.3" 2348 - 2349 - jest-cli@^28.1.3: 2350 - version "28.1.3" 2351 - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2" 2352 - integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== 2353 - dependencies: 2354 - "@jest/core" "^28.1.3" 2355 - "@jest/test-result" "^28.1.3" 2356 - "@jest/types" "^28.1.3" 2357 - chalk "^4.0.0" 2358 - exit "^0.1.2" 2359 - graceful-fs "^4.2.9" 2360 - import-local "^3.0.2" 2361 - jest-config "^28.1.3" 2362 - jest-util "^28.1.3" 2363 - jest-validate "^28.1.3" 2364 - prompts "^2.0.1" 2365 - yargs "^17.3.1" 2366 - 2367 - jest-config@^28.1.3: 2368 - version "28.1.3" 2369 - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60" 2370 - integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== 2371 - dependencies: 2372 - "@babel/core" "^7.11.6" 2373 - "@jest/test-sequencer" "^28.1.3" 2374 - "@jest/types" "^28.1.3" 2375 - babel-jest "^28.1.3" 2376 - chalk "^4.0.0" 2377 - ci-info "^3.2.0" 2378 - deepmerge "^4.2.2" 2379 - glob "^7.1.3" 2380 - graceful-fs "^4.2.9" 2381 - jest-circus "^28.1.3" 2382 - jest-environment-node "^28.1.3" 2383 - jest-get-type "^28.0.2" 2384 - jest-regex-util "^28.0.2" 2385 - jest-resolve "^28.1.3" 2386 - jest-runner "^28.1.3" 2387 - jest-util "^28.1.3" 2388 - jest-validate "^28.1.3" 2389 - micromatch "^4.0.4" 2390 - parse-json "^5.2.0" 2391 - pretty-format "^28.1.3" 2392 - slash "^3.0.0" 2393 - strip-json-comments "^3.1.1" 2394 - 2395 - jest-diff@^28.1.3: 2396 - version "28.1.3" 2397 - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" 2398 - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== 2399 - dependencies: 2400 - chalk "^4.0.0" 2401 - diff-sequences "^28.1.1" 2402 - jest-get-type "^28.0.2" 2403 - pretty-format "^28.1.3" 2404 - 2405 - jest-docblock@^28.1.1: 2406 - version "28.1.1" 2407 - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" 2408 - integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== 2409 - dependencies: 2410 - detect-newline "^3.0.0" 2411 - 2412 - jest-each@^28.1.3: 2413 - version "28.1.3" 2414 - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81" 2415 - integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== 2416 - dependencies: 2417 - "@jest/types" "^28.1.3" 2418 - chalk "^4.0.0" 2419 - jest-get-type "^28.0.2" 2420 - jest-util "^28.1.3" 2421 - pretty-format "^28.1.3" 2422 - 2423 - jest-environment-node@^28.1.3: 2424 - version "28.1.3" 2425 - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" 2426 - integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== 2427 - dependencies: 2428 - "@jest/environment" "^28.1.3" 2429 - "@jest/fake-timers" "^28.1.3" 2430 - "@jest/types" "^28.1.3" 2431 - "@types/node" "*" 2432 - jest-mock "^28.1.3" 2433 - jest-util "^28.1.3" 2434 - 2435 - jest-get-type@^28.0.2: 2436 - version "28.0.2" 2437 - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" 2438 - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== 2439 - 2440 - jest-haste-map@^28.1.3: 2441 - version "28.1.3" 2442 - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" 2443 - integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== 2444 - dependencies: 2445 - "@jest/types" "^28.1.3" 2446 - "@types/graceful-fs" "^4.1.3" 2447 - "@types/node" "*" 2448 - anymatch "^3.0.3" 2449 - fb-watchman "^2.0.0" 2450 - graceful-fs "^4.2.9" 2451 - jest-regex-util "^28.0.2" 2452 - jest-util "^28.1.3" 2453 - jest-worker "^28.1.3" 2454 - micromatch "^4.0.4" 2455 - walker "^1.0.8" 2456 - optionalDependencies: 2457 - fsevents "^2.3.2" 2458 - 2459 - jest-leak-detector@^28.1.3: 2460 - version "28.1.3" 2461 - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" 2462 - integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== 2463 - dependencies: 2464 - jest-get-type "^28.0.2" 2465 - pretty-format "^28.1.3" 2466 - 2467 - jest-matcher-utils@^28.0.0, jest-matcher-utils@^28.1.3: 2468 - version "28.1.3" 2469 - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" 2470 - integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== 2471 - dependencies: 2472 - chalk "^4.0.0" 2473 - jest-diff "^28.1.3" 2474 - jest-get-type "^28.0.2" 2475 - pretty-format "^28.1.3" 2476 - 2477 - jest-message-util@^28.1.3: 2478 - version "28.1.3" 2479 - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" 2480 - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== 2481 - dependencies: 2482 - "@babel/code-frame" "^7.12.13" 2483 - "@jest/types" "^28.1.3" 2484 - "@types/stack-utils" "^2.0.0" 2485 - chalk "^4.0.0" 2486 - graceful-fs "^4.2.9" 2487 - micromatch "^4.0.4" 2488 - pretty-format "^28.1.3" 2489 - slash "^3.0.0" 2490 - stack-utils "^2.0.3" 2491 - 2492 - jest-mock@^28.1.3: 2493 - version "28.1.3" 2494 - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" 2495 - integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== 2496 - dependencies: 2497 - "@jest/types" "^28.1.3" 2498 - "@types/node" "*" 2499 - 2500 - jest-pnp-resolver@^1.2.2: 2501 - version "1.2.2" 2502 - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" 2503 - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== 2504 - 2505 - jest-regex-util@^28.0.2: 2506 - version "28.0.2" 2507 - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" 2508 - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== 2509 - 2510 - jest-resolve-dependencies@^28.1.3: 2511 - version "28.1.3" 2512 - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66" 2513 - integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== 2514 - dependencies: 2515 - jest-regex-util "^28.0.2" 2516 - jest-snapshot "^28.1.3" 2517 - 2518 - jest-resolve@^28.1.3: 2519 - version "28.1.3" 2520 - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8" 2521 - integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== 2522 - dependencies: 2523 - chalk "^4.0.0" 2524 - graceful-fs "^4.2.9" 2525 - jest-haste-map "^28.1.3" 2526 - jest-pnp-resolver "^1.2.2" 2527 - jest-util "^28.1.3" 2528 - jest-validate "^28.1.3" 2529 - resolve "^1.20.0" 2530 - resolve.exports "^1.1.0" 2531 - slash "^3.0.0" 2532 - 2533 - jest-runner@^28.1.3: 2534 - version "28.1.3" 2535 - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" 2536 - integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== 2537 - dependencies: 2538 - "@jest/console" "^28.1.3" 2539 - "@jest/environment" "^28.1.3" 2540 - "@jest/test-result" "^28.1.3" 2541 - "@jest/transform" "^28.1.3" 2542 - "@jest/types" "^28.1.3" 2543 - "@types/node" "*" 2544 - chalk "^4.0.0" 2545 - emittery "^0.10.2" 2546 - graceful-fs "^4.2.9" 2547 - jest-docblock "^28.1.1" 2548 - jest-environment-node "^28.1.3" 2549 - jest-haste-map "^28.1.3" 2550 - jest-leak-detector "^28.1.3" 2551 - jest-message-util "^28.1.3" 2552 - jest-resolve "^28.1.3" 2553 - jest-runtime "^28.1.3" 2554 - jest-util "^28.1.3" 2555 - jest-watcher "^28.1.3" 2556 - jest-worker "^28.1.3" 2557 - p-limit "^3.1.0" 2558 - source-map-support "0.5.13" 2559 - 2560 - jest-runtime@^28.1.3: 2561 - version "28.1.3" 2562 - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" 2563 - integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== 2564 - dependencies: 2565 - "@jest/environment" "^28.1.3" 2566 - "@jest/fake-timers" "^28.1.3" 2567 - "@jest/globals" "^28.1.3" 2568 - "@jest/source-map" "^28.1.2" 2569 - "@jest/test-result" "^28.1.3" 2570 - "@jest/transform" "^28.1.3" 2571 - "@jest/types" "^28.1.3" 2572 - chalk "^4.0.0" 2573 - cjs-module-lexer "^1.0.0" 2574 - collect-v8-coverage "^1.0.0" 2575 - execa "^5.0.0" 2576 - glob "^7.1.3" 2577 - graceful-fs "^4.2.9" 2578 - jest-haste-map "^28.1.3" 2579 - jest-message-util "^28.1.3" 2580 - jest-mock "^28.1.3" 2581 - jest-regex-util "^28.0.2" 2582 - jest-resolve "^28.1.3" 2583 - jest-snapshot "^28.1.3" 2584 - jest-util "^28.1.3" 2585 - slash "^3.0.0" 2586 - strip-bom "^4.0.0" 2587 - 2588 - jest-snapshot@^28.1.3: 2589 - version "28.1.3" 2590 - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" 2591 - integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== 2592 - dependencies: 2593 - "@babel/core" "^7.11.6" 2594 - "@babel/generator" "^7.7.2" 2595 - "@babel/plugin-syntax-typescript" "^7.7.2" 2596 - "@babel/traverse" "^7.7.2" 2597 - "@babel/types" "^7.3.3" 2598 - "@jest/expect-utils" "^28.1.3" 2599 - "@jest/transform" "^28.1.3" 2600 - "@jest/types" "^28.1.3" 2601 - "@types/babel__traverse" "^7.0.6" 2602 - "@types/prettier" "^2.1.5" 2603 - babel-preset-current-node-syntax "^1.0.0" 2604 - chalk "^4.0.0" 2605 - expect "^28.1.3" 2606 - graceful-fs "^4.2.9" 2607 - jest-diff "^28.1.3" 2608 - jest-get-type "^28.0.2" 2609 - jest-haste-map "^28.1.3" 2610 - jest-matcher-utils "^28.1.3" 2611 - jest-message-util "^28.1.3" 2612 - jest-util "^28.1.3" 2613 - natural-compare "^1.4.0" 2614 - pretty-format "^28.1.3" 2615 - semver "^7.3.5" 2616 - 2617 - jest-util@^28.1.3: 2618 - version "28.1.3" 2619 - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" 2620 - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== 2621 - dependencies: 2622 - "@jest/types" "^28.1.3" 2623 - "@types/node" "*" 2624 - chalk "^4.0.0" 2625 - ci-info "^3.2.0" 2626 - graceful-fs "^4.2.9" 2627 - picomatch "^2.2.3" 2628 - 2629 - jest-validate@^28.1.3: 2630 - version "28.1.3" 2631 - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" 2632 - integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== 2633 - dependencies: 2634 - "@jest/types" "^28.1.3" 2635 - camelcase "^6.2.0" 2636 - chalk "^4.0.0" 2637 - jest-get-type "^28.0.2" 2638 - leven "^3.1.0" 2639 - pretty-format "^28.1.3" 2640 - 2641 - jest-watcher@^28.1.3: 2642 - version "28.1.3" 2643 - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" 2644 - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== 2645 - dependencies: 2646 - "@jest/test-result" "^28.1.3" 2647 - "@jest/types" "^28.1.3" 2648 - "@types/node" "*" 2649 - ansi-escapes "^4.2.1" 2650 - chalk "^4.0.0" 2651 - emittery "^0.10.2" 2652 - jest-util "^28.1.3" 2653 - string-length "^4.0.1" 2654 - 2655 - jest-worker@^26.2.1: 2656 - version "26.6.2" 2657 - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" 2658 - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== 2659 - dependencies: 2660 - "@types/node" "*" 2661 - merge-stream "^2.0.0" 2662 - supports-color "^7.0.0" 2663 - 2664 - jest-worker@^28.1.3: 2665 - version "28.1.3" 2666 - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" 2667 - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== 2668 - dependencies: 2669 - "@types/node" "*" 2670 - merge-stream "^2.0.0" 2671 - supports-color "^8.0.0" 2672 - 2673 - jest@^28.1.3: 2674 - version "28.1.3" 2675 - resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b" 2676 - integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== 2677 - dependencies: 2678 - "@jest/core" "^28.1.3" 2679 - "@jest/types" "^28.1.3" 2680 - import-local "^3.0.2" 2681 - jest-cli "^28.1.3" 2682 - 2683 - js-tokens@^4.0.0: 2684 - version "4.0.0" 2685 - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2686 - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2687 - 2688 - js-yaml@^3.13.1: 2689 - version "3.14.1" 2690 - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 2691 - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 2692 - dependencies: 2693 - argparse "^1.0.7" 2694 - esprima "^4.0.0" 2695 - 2696 - js-yaml@^4.1.0: 2697 - version "4.1.0" 2698 - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 2699 - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 2700 - dependencies: 2701 - argparse "^2.0.1" 2702 - 2703 - jsesc@^2.5.1: 2704 - version "2.5.2" 2705 - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 2706 - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 2707 - 2708 - jsesc@~0.5.0: 2709 - version "0.5.0" 2710 - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 2711 - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== 2712 - 2713 - json-parse-better-errors@^1.0.1: 2714 - version "1.0.2" 2715 - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 2716 - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 2717 - 2718 - json-parse-even-better-errors@^2.3.0: 2719 - version "2.3.1" 2720 - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 2721 - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 2722 - 2723 - json-schema-traverse@^0.4.1: 2724 - version "0.4.1" 2725 - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2726 - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2727 - 2728 - json-stable-stringify-without-jsonify@^1.0.1: 2729 - version "1.0.1" 2730 - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 2731 - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 2732 - 2733 - json5@^2.2.1: 2734 - version "2.2.1" 2735 - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 2736 - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 2737 - 2738 - kleur@^3.0.3: 2739 - version "3.0.3" 2740 - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 2741 - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 2742 - 2743 - leven@^3.1.0: 2744 - version "3.1.0" 2745 - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 2746 - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 2747 - 2748 - levn@^0.4.1: 2749 - version "0.4.1" 2750 - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 2751 - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 2752 - dependencies: 2753 - prelude-ls "^1.2.1" 2754 - type-check "~0.4.0" 2755 - 2756 - lilconfig@2.0.5: 2757 - version "2.0.5" 2758 - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" 2759 - integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== 2760 - 2761 - lines-and-columns@^1.1.6: 2762 - version "1.2.4" 2763 - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 2764 - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 2765 - 2766 - lint-staged@^13.0.3: 2767 - version "13.0.3" 2768 - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6" 2769 - integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug== 2770 - dependencies: 2771 - cli-truncate "^3.1.0" 2772 - colorette "^2.0.17" 2773 - commander "^9.3.0" 2774 - debug "^4.3.4" 2775 - execa "^6.1.0" 2776 - lilconfig "2.0.5" 2777 - listr2 "^4.0.5" 2778 - micromatch "^4.0.5" 2779 - normalize-path "^3.0.0" 2780 - object-inspect "^1.12.2" 2781 - pidtree "^0.6.0" 2782 - string-argv "^0.3.1" 2783 - yaml "^2.1.1" 2784 - 2785 - listr2@^4.0.5: 2786 - version "4.0.5" 2787 - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" 2788 - integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== 2789 - dependencies: 2790 - cli-truncate "^2.1.0" 2791 - colorette "^2.0.16" 2792 - log-update "^4.0.0" 2793 - p-map "^4.0.0" 2794 - rfdc "^1.3.0" 2795 - rxjs "^7.5.5" 2796 - through "^2.3.8" 2797 - wrap-ansi "^7.0.0" 2798 - 2799 - load-json-file@^4.0.0: 2800 - version "4.0.0" 2801 - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 2802 - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== 2803 - dependencies: 2804 - graceful-fs "^4.1.2" 2805 - parse-json "^4.0.0" 2806 - pify "^3.0.0" 2807 - strip-bom "^3.0.0" 2808 - 2809 - locate-path@^5.0.0: 2810 - version "5.0.0" 2811 - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 2812 - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 2813 - dependencies: 2814 - p-locate "^4.1.0" 2815 - 2816 - locate-path@^6.0.0: 2817 - version "6.0.0" 2818 - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 2819 - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 2820 - dependencies: 2821 - p-locate "^5.0.0" 2822 - 2823 - lodash.merge@^4.6.2: 2824 - version "4.6.2" 2825 - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 2826 - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 2827 - 2828 - lodash@^4.17.20: 2829 - version "4.17.21" 2830 - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 2831 - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 2832 - 2833 - log-update@^4.0.0: 2834 - version "4.0.0" 2835 - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 2836 - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== 2837 - dependencies: 2838 - ansi-escapes "^4.3.0" 2839 - cli-cursor "^3.1.0" 2840 - slice-ansi "^4.0.0" 2841 - wrap-ansi "^6.2.0" 2842 - 2843 - lru-cache@^6.0.0: 2844 - version "6.0.0" 2845 - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2846 - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2847 - dependencies: 2848 - yallist "^4.0.0" 2849 - 2850 - magic-string@^0.25.0, magic-string@^0.25.7: 2851 - version "0.25.9" 2852 - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 2853 - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 2854 - dependencies: 2855 - sourcemap-codec "^1.4.8" 2856 - 2857 - make-dir@^3.0.0: 2858 - version "3.1.0" 2859 - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 2860 - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 2861 - dependencies: 2862 - semver "^6.0.0" 2863 - 2864 - makeerror@1.0.12: 2865 - version "1.0.12" 2866 - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" 2867 - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== 2868 - dependencies: 2869 - tmpl "1.0.5" 2870 - 2871 - memorystream@^0.3.1: 2872 - version "0.3.1" 2873 - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" 2874 - integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== 2875 - 2876 - merge-stream@^2.0.0: 2877 - version "2.0.0" 2878 - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2879 - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2880 - 2881 - merge2@^1.3.0, merge2@^1.4.1: 2882 - version "1.4.1" 2883 - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 2884 - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 2885 - 2886 - micromatch@^4.0.4, micromatch@^4.0.5: 2887 - version "4.0.5" 2888 - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 2889 - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 2890 - dependencies: 2891 - braces "^3.0.2" 2892 - picomatch "^2.3.1" 2893 - 2894 - mimic-fn@^2.1.0: 2895 - version "2.1.0" 2896 - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2897 - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2898 - 2899 - mimic-fn@^4.0.0: 2900 - version "4.0.0" 2901 - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" 2902 - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== 2903 - 2904 - minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: 2905 - version "3.1.2" 2906 - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 2907 - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 2908 - dependencies: 2909 - brace-expansion "^1.1.7" 2910 - 2911 - minimatch@^5.0.1: 2912 - version "5.1.0" 2913 - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" 2914 - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== 2915 - dependencies: 2916 - brace-expansion "^2.0.1" 2917 - 2918 - minimist@^1.2.5: 2919 - version "1.2.6" 2920 - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 2921 - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 2922 - 2923 - ms@2.1.2: 2924 - version "2.1.2" 2925 - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2926 - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2927 - 2928 - mz@^2.7.0: 2929 - version "2.7.0" 2930 - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" 2931 - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== 2932 - dependencies: 2933 - any-promise "^1.0.0" 2934 - object-assign "^4.0.1" 2935 - thenify-all "^1.0.0" 2936 - 2937 - natural-compare@^1.4.0: 2938 - version "1.4.0" 2939 - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2940 - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 2941 - 2942 - nice-try@^1.0.4: 2943 - version "1.0.5" 2944 - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 2945 - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 2946 - 2947 - node-int64@^0.4.0: 2948 - version "0.4.0" 2949 - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2950 - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== 2951 - 2952 - node-releases@^2.0.6: 2953 - version "2.0.6" 2954 - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 2955 - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 2956 - 2957 - normalize-package-data@^2.3.2: 2958 - version "2.5.0" 2959 - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 2960 - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 2961 - dependencies: 2962 - hosted-git-info "^2.1.4" 2963 - resolve "^1.10.0" 2964 - semver "2 || 3 || 4 || 5" 2965 - validate-npm-package-license "^3.0.1" 2966 - 2967 - normalize-path@^3.0.0: 2968 - version "3.0.0" 2969 - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2970 - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2971 - 2972 - npm-run-all@^4.1.5: 2973 - version "4.1.5" 2974 - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" 2975 - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== 2976 - dependencies: 2977 - ansi-styles "^3.2.1" 2978 - chalk "^2.4.1" 2979 - cross-spawn "^6.0.5" 2980 - memorystream "^0.3.1" 2981 - minimatch "^3.0.4" 2982 - pidtree "^0.3.0" 2983 - read-pkg "^3.0.0" 2984 - shell-quote "^1.6.1" 2985 - string.prototype.padend "^3.0.0" 2986 - 2987 - npm-run-path@^4.0.1: 2988 - version "4.0.1" 2989 - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2990 - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 2991 - dependencies: 2992 - path-key "^3.0.0" 2993 - 2994 - npm-run-path@^5.1.0: 2995 - version "5.1.0" 2996 - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" 2997 - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== 2998 - dependencies: 2999 - path-key "^4.0.0" 3000 - 3001 - object-assign@^4.0.1: 3002 - version "4.1.1" 3003 - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 3004 - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 3005 - 3006 - object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: 3007 - version "1.12.2" 3008 - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" 3009 - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== 3010 - 3011 - object-keys@^1.1.1: 3012 - version "1.1.1" 3013 - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 3014 - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 3015 - 3016 - object.assign@^4.1.2: 3017 - version "4.1.3" 3018 - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.3.tgz#d36b7700ddf0019abb6b1df1bb13f6445f79051f" 3019 - integrity sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA== 3020 - dependencies: 3021 - call-bind "^1.0.2" 3022 - define-properties "^1.1.4" 3023 - has-symbols "^1.0.3" 3024 - object-keys "^1.1.1" 3025 - 3026 - once@^1.3.0: 3027 - version "1.4.0" 3028 - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 3029 - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 3030 - dependencies: 3031 - wrappy "1" 3032 - 3033 - onetime@^5.1.0, onetime@^5.1.2: 3034 - version "5.1.2" 3035 - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 3036 - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 3037 - dependencies: 3038 - mimic-fn "^2.1.0" 3039 - 3040 - onetime@^6.0.0: 3041 - version "6.0.0" 3042 - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" 3043 - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== 3044 - dependencies: 3045 - mimic-fn "^4.0.0" 3046 - 3047 - opencollective-postinstall@^2.0.2: 3048 - version "2.0.3" 3049 - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" 3050 - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== 3051 - 3052 - optionator@^0.9.1: 3053 - version "0.9.1" 3054 - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 3055 - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 3056 - dependencies: 3057 - deep-is "^0.1.3" 3058 - fast-levenshtein "^2.0.6" 3059 - levn "^0.4.1" 3060 - prelude-ls "^1.2.1" 3061 - type-check "^0.4.0" 3062 - word-wrap "^1.2.3" 3063 - 3064 - p-limit@^2.2.0: 3065 - version "2.3.0" 3066 - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 3067 - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 3068 - dependencies: 3069 - p-try "^2.0.0" 3070 - 3071 - p-limit@^3.0.2, p-limit@^3.1.0: 3072 - version "3.1.0" 3073 - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 3074 - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 3075 - dependencies: 3076 - yocto-queue "^0.1.0" 3077 - 3078 - p-locate@^4.1.0: 3079 - version "4.1.0" 3080 - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 3081 - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 3082 - dependencies: 3083 - p-limit "^2.2.0" 3084 - 3085 - p-locate@^5.0.0: 3086 - version "5.0.0" 3087 - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 3088 - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 3089 - dependencies: 3090 - p-limit "^3.0.2" 3091 - 3092 - p-map@^4.0.0: 3093 - version "4.0.0" 3094 - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 3095 - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 3096 - dependencies: 3097 - aggregate-error "^3.0.0" 3098 - 3099 - p-try@^2.0.0: 3100 - version "2.2.0" 3101 - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 3102 - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 3103 - 3104 - parent-module@^1.0.0: 3105 - version "1.0.1" 3106 - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 3107 - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 3108 - dependencies: 3109 - callsites "^3.0.0" 3110 - 3111 - parse-json@^4.0.0: 3112 - version "4.0.0" 3113 - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 3114 - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== 3115 - dependencies: 3116 - error-ex "^1.3.1" 3117 - json-parse-better-errors "^1.0.1" 3118 - 3119 - parse-json@^5.0.0, parse-json@^5.2.0: 3120 - version "5.2.0" 3121 - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 3122 - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 3123 - dependencies: 3124 - "@babel/code-frame" "^7.0.0" 3125 - error-ex "^1.3.1" 3126 - json-parse-even-better-errors "^2.3.0" 3127 - lines-and-columns "^1.1.6" 3128 - 3129 - path-exists@^4.0.0: 3130 - version "4.0.0" 3131 - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 3132 - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 3133 - 3134 - path-is-absolute@^1.0.0: 3135 - version "1.0.1" 3136 - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 3137 - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 3138 - 3139 - path-key@^2.0.1: 3140 - version "2.0.1" 3141 - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 3142 - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== 3143 - 3144 - path-key@^3.0.0, path-key@^3.1.0: 3145 - version "3.1.1" 3146 - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 3147 - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 3148 - 3149 - path-key@^4.0.0: 3150 - version "4.0.0" 3151 - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" 3152 - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== 3153 - 3154 - path-parse@^1.0.7: 3155 - version "1.0.7" 3156 - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 3157 - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 3158 - 3159 - path-type@^3.0.0: 3160 - version "3.0.0" 3161 - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 3162 - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 3163 - dependencies: 3164 - pify "^3.0.0" 3165 - 3166 - path-type@^4.0.0: 3167 - version "4.0.0" 3168 - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 3169 - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 3170 - 3171 - picocolors@^1.0.0: 3172 - version "1.0.0" 3173 - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 3174 - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 3175 - 3176 - picomatch@^2.0.4, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: 3177 - version "2.3.1" 3178 - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 3179 - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 3180 - 3181 - pidtree@^0.3.0: 3182 - version "0.3.1" 3183 - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" 3184 - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== 3185 - 3186 - pidtree@^0.6.0: 3187 - version "0.6.0" 3188 - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" 3189 - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== 3190 - 3191 - pify@^3.0.0: 3192 - version "3.0.0" 3193 - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 3194 - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== 3195 - 3196 - pirates@^4.0.1, pirates@^4.0.4: 3197 - version "4.0.5" 3198 - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 3199 - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 3200 - 3201 - pkg-dir@^4.2.0: 3202 - version "4.2.0" 3203 - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 3204 - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 3205 - dependencies: 3206 - find-up "^4.0.0" 3207 - 3208 - pkg-dir@^5.0.0: 3209 - version "5.0.0" 3210 - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" 3211 - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== 3212 - dependencies: 3213 - find-up "^5.0.0" 3214 - 3215 - please-upgrade-node@^3.2.0: 3216 - version "3.2.0" 3217 - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 3218 - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== 3219 - dependencies: 3220 - semver-compare "^1.0.0" 3221 - 3222 - prelude-ls@^1.2.1: 3223 - version "1.2.1" 3224 - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 3225 - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 3226 - 3227 - prettier-linter-helpers@^1.0.0: 3228 - version "1.0.0" 3229 - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 3230 - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 3231 - dependencies: 3232 - fast-diff "^1.1.2" 3233 - 3234 - prettier@^2.5.1, prettier@^2.7.1: 3235 - version "2.7.1" 3236 - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" 3237 - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== 3238 - 3239 - pretty-format@^28.0.0, pretty-format@^28.1.3: 3240 - version "28.1.3" 3241 - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" 3242 - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== 3243 - dependencies: 3244 - "@jest/schemas" "^28.1.3" 3245 - ansi-regex "^5.0.1" 3246 - ansi-styles "^5.0.0" 3247 - react-is "^18.0.0" 3248 - 3249 - prompts@^2.0.1: 3250 - version "2.4.2" 3251 - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" 3252 - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== 3253 - dependencies: 3254 - kleur "^3.0.3" 3255 - sisteransi "^1.0.5" 3256 - 3257 - punycode@^2.1.0: 3258 - version "2.1.1" 3259 - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 3260 - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 3261 - 3262 - queue-microtask@^1.2.2: 3263 - version "1.2.3" 3264 - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 3265 - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 3266 - 3267 - randombytes@^2.1.0: 3268 - version "2.1.0" 3269 - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 3270 - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 3271 - dependencies: 3272 - safe-buffer "^5.1.0" 3273 - 3274 - react-is@^18.0.0: 3275 - version "18.2.0" 3276 - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 3277 - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 3278 - 3279 - read-pkg@^3.0.0: 3280 - version "3.0.0" 3281 - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 3282 - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== 3283 - dependencies: 3284 - load-json-file "^4.0.0" 3285 - normalize-package-data "^2.3.2" 3286 - path-type "^3.0.0" 3287 - 3288 - rechoir@^0.6.2: 3289 - version "0.6.2" 3290 - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 3291 - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== 3292 - dependencies: 3293 - resolve "^1.1.6" 3294 - 3295 - regenerate-unicode-properties@^8.0.2: 3296 - version "8.2.0" 3297 - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" 3298 - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== 3299 - dependencies: 3300 - regenerate "^1.4.0" 3301 - 3302 - regenerate@^1.4.0: 3303 - version "1.4.2" 3304 - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" 3305 - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== 3306 - 3307 - regexp.prototype.flags@^1.4.3: 3308 - version "1.4.3" 3309 - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" 3310 - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== 3311 - dependencies: 3312 - call-bind "^1.0.2" 3313 - define-properties "^1.1.3" 3314 - functions-have-names "^1.2.2" 3315 - 3316 - regexpp@^3.2.0: 3317 - version "3.2.0" 3318 - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 3319 - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 3320 - 3321 - regexpu-core@4.5.4: 3322 - version "4.5.4" 3323 - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" 3324 - integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== 3325 - dependencies: 3326 - regenerate "^1.4.0" 3327 - regenerate-unicode-properties "^8.0.2" 3328 - regjsgen "^0.5.0" 3329 - regjsparser "^0.6.0" 3330 - unicode-match-property-ecmascript "^1.0.4" 3331 - unicode-match-property-value-ecmascript "^1.1.0" 3332 - 3333 - regjsgen@^0.5.0: 3334 - version "0.5.2" 3335 - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" 3336 - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== 3337 - 3338 - regjsparser@^0.6.0: 3339 - version "0.6.9" 3340 - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" 3341 - integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== 3342 - dependencies: 3343 - jsesc "~0.5.0" 3344 - 3345 - require-directory@^2.1.1: 3346 - version "2.1.1" 3347 - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3348 - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 3349 - 3350 - resolve-cwd@^3.0.0: 3351 - version "3.0.0" 3352 - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 3353 - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 3354 - dependencies: 3355 - resolve-from "^5.0.0" 3356 - 3357 - resolve-from@^4.0.0: 3358 - version "4.0.0" 3359 - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 3360 - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 3361 - 3362 - resolve-from@^5.0.0: 3363 - version "5.0.0" 3364 - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 3365 - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 3366 - 3367 - resolve.exports@^1.1.0: 3368 - version "1.1.0" 3369 - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" 3370 - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== 3371 - 3372 - resolve@^1.1.6, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0: 3373 - version "1.22.1" 3374 - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 3375 - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 3376 - dependencies: 3377 - is-core-module "^2.9.0" 3378 - path-parse "^1.0.7" 3379 - supports-preserve-symlinks-flag "^1.0.0" 3380 - 3381 - restore-cursor@^3.1.0: 3382 - version "3.1.0" 3383 - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 3384 - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 3385 - dependencies: 3386 - onetime "^5.1.0" 3387 - signal-exit "^3.0.2" 3388 - 3389 - reusify@^1.0.4: 3390 - version "1.0.4" 3391 - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 3392 - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 3393 - 3394 - rfdc@^1.3.0: 3395 - version "1.3.0" 3396 - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 3397 - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 3398 - 3399 - rimraf@^3.0.0, rimraf@^3.0.2: 3400 - version "3.0.2" 3401 - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 3402 - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 3403 - dependencies: 3404 - glob "^7.1.3" 3405 - 3406 - rollup-plugin-terser@^7.0.2: 3407 - version "7.0.2" 3408 - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" 3409 - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== 3410 - dependencies: 3411 - "@babel/code-frame" "^7.10.4" 3412 - jest-worker "^26.2.1" 3413 - serialize-javascript "^4.0.0" 3414 - terser "^5.0.0" 3415 - 3416 - rollup@^2.77.3: 3417 - version "2.77.3" 3418 - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12" 3419 - integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g== 3420 - optionalDependencies: 3421 - fsevents "~2.3.2" 3422 - 3423 - run-parallel@^1.1.9: 3424 - version "1.2.0" 3425 - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 3426 - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 3427 - dependencies: 3428 - queue-microtask "^1.2.2" 3429 - 3430 - rxjs@^7.5.5: 3431 - version "7.5.6" 3432 - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" 3433 - integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== 3434 - dependencies: 3435 - tslib "^2.1.0" 3436 - 3437 - safe-buffer@^5.1.0: 3438 - version "5.2.1" 3439 - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 3440 - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 3441 - 3442 - safe-buffer@~5.1.1: 3443 - version "5.1.2" 3444 - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3445 - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 3446 - 3447 - semver-compare@^1.0.0: 3448 - version "1.0.0" 3449 - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 3450 - integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== 3451 - 3452 - semver-regex@^3.1.2: 3453 - version "3.1.4" 3454 - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" 3455 - integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== 3456 - 3457 - "semver@2 || 3 || 4 || 5", semver@^5.5.0: 3458 - version "5.7.1" 3459 - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 3460 - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 3461 - 3462 - semver@^6.0.0, semver@^6.3.0: 3463 - version "6.3.0" 3464 - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 3465 - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 3466 - 3467 - semver@^7.3.5, semver@^7.3.7: 3468 - version "7.3.7" 3469 - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" 3470 - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 3471 - dependencies: 3472 - lru-cache "^6.0.0" 3473 - 3474 - serialize-javascript@^4.0.0: 3475 - version "4.0.0" 3476 - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" 3477 - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== 3478 - dependencies: 3479 - randombytes "^2.1.0" 3480 - 3481 - shebang-command@^1.2.0: 3482 - version "1.2.0" 3483 - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3484 - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== 3485 - dependencies: 3486 - shebang-regex "^1.0.0" 3487 - 3488 - shebang-command@^2.0.0: 3489 - version "2.0.0" 3490 - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 3491 - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 3492 - dependencies: 3493 - shebang-regex "^3.0.0" 3494 - 3495 - shebang-regex@^1.0.0: 3496 - version "1.0.0" 3497 - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3498 - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== 3499 - 3500 - shebang-regex@^3.0.0: 3501 - version "3.0.0" 3502 - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 3503 - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 3504 - 3505 - shell-quote@^1.6.1: 3506 - version "1.7.3" 3507 - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" 3508 - integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== 3509 - 3510 - shelljs@^0.8.4: 3511 - version "0.8.5" 3512 - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" 3513 - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== 3514 - dependencies: 3515 - glob "^7.0.0" 3516 - interpret "^1.0.0" 3517 - rechoir "^0.6.2" 3518 - 3519 - side-channel@^1.0.4: 3520 - version "1.0.4" 3521 - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 3522 - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 3523 - dependencies: 3524 - call-bind "^1.0.0" 3525 - get-intrinsic "^1.0.2" 3526 - object-inspect "^1.9.0" 3527 - 3528 - signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: 3529 - version "3.0.7" 3530 - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 3531 - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 3532 - 3533 - sisteransi@^1.0.5: 3534 - version "1.0.5" 3535 - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 3536 - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 3537 - 3538 - slash@^3.0.0: 3539 - version "3.0.0" 3540 - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 3541 - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 3542 - 3543 - slice-ansi@^3.0.0: 3544 - version "3.0.0" 3545 - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 3546 - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 3547 - dependencies: 3548 - ansi-styles "^4.0.0" 3549 - astral-regex "^2.0.0" 3550 - is-fullwidth-code-point "^3.0.0" 3551 - 3552 - slice-ansi@^4.0.0: 3553 - version "4.0.0" 3554 - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 3555 - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 3556 - dependencies: 3557 - ansi-styles "^4.0.0" 3558 - astral-regex "^2.0.0" 3559 - is-fullwidth-code-point "^3.0.0" 3560 - 3561 - slice-ansi@^5.0.0: 3562 - version "5.0.0" 3563 - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" 3564 - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== 3565 - dependencies: 3566 - ansi-styles "^6.0.0" 3567 - is-fullwidth-code-point "^4.0.0" 3568 - 3569 - source-map-support@0.5.13: 3570 - version "0.5.13" 3571 - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" 3572 - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== 3573 - dependencies: 3574 - buffer-from "^1.0.0" 3575 - source-map "^0.6.0" 3576 - 3577 - source-map-support@~0.5.20: 3578 - version "0.5.21" 3579 - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 3580 - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 3581 - dependencies: 3582 - buffer-from "^1.0.0" 3583 - source-map "^0.6.0" 3584 - 3585 - source-map@^0.6.0, source-map@^0.6.1: 3586 - version "0.6.1" 3587 - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3588 - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 3589 - 3590 - sourcemap-codec@^1.4.8: 3591 - version "1.4.8" 3592 - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 3593 - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 3594 - 3595 - spdx-correct@^3.0.0: 3596 - version "3.1.1" 3597 - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 3598 - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 3599 - dependencies: 3600 - spdx-expression-parse "^3.0.0" 3601 - spdx-license-ids "^3.0.0" 3602 - 3603 - spdx-exceptions@^2.1.0: 3604 - version "2.3.0" 3605 - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 3606 - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 3607 - 3608 - spdx-expression-parse@^3.0.0: 3609 - version "3.0.1" 3610 - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 3611 - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 3612 - dependencies: 3613 - spdx-exceptions "^2.1.0" 3614 - spdx-license-ids "^3.0.0" 3615 - 3616 - spdx-license-ids@^3.0.0: 3617 - version "3.0.11" 3618 - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" 3619 - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== 3620 - 3621 - sprintf-js@~1.0.2: 3622 - version "1.0.3" 3623 - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3624 - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 3625 - 3626 - stack-utils@^2.0.3: 3627 - version "2.0.5" 3628 - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" 3629 - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== 3630 - dependencies: 3631 - escape-string-regexp "^2.0.0" 3632 - 3633 - string-argv@^0.3.1: 3634 - version "0.3.1" 3635 - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 3636 - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 3637 - 3638 - string-length@^4.0.1: 3639 - version "4.0.2" 3640 - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" 3641 - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== 3642 - dependencies: 3643 - char-regex "^1.0.2" 3644 - strip-ansi "^6.0.0" 3645 - 3646 - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: 3647 - version "4.2.3" 3648 - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 3649 - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 3650 - dependencies: 3651 - emoji-regex "^8.0.0" 3652 - is-fullwidth-code-point "^3.0.0" 3653 - strip-ansi "^6.0.1" 3654 - 3655 - string-width@^5.0.0: 3656 - version "5.1.2" 3657 - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 3658 - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 3659 - dependencies: 3660 - eastasianwidth "^0.2.0" 3661 - emoji-regex "^9.2.2" 3662 - strip-ansi "^7.0.1" 3663 - 3664 - string.prototype.padend@^3.0.0: 3665 - version "3.1.3" 3666 - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" 3667 - integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== 3668 - dependencies: 3669 - call-bind "^1.0.2" 3670 - define-properties "^1.1.3" 3671 - es-abstract "^1.19.1" 3672 - 3673 - string.prototype.trimend@^1.0.5: 3674 - version "1.0.5" 3675 - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" 3676 - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== 3677 - dependencies: 3678 - call-bind "^1.0.2" 3679 - define-properties "^1.1.4" 3680 - es-abstract "^1.19.5" 3681 - 3682 - string.prototype.trimstart@^1.0.5: 3683 - version "1.0.5" 3684 - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" 3685 - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== 3686 - dependencies: 3687 - call-bind "^1.0.2" 3688 - define-properties "^1.1.4" 3689 - es-abstract "^1.19.5" 3690 - 3691 - strip-ansi@^6.0.0, strip-ansi@^6.0.1: 3692 - version "6.0.1" 3693 - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 3694 - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 3695 - dependencies: 3696 - ansi-regex "^5.0.1" 3697 - 3698 - strip-ansi@^7.0.1: 3699 - version "7.0.1" 3700 - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" 3701 - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== 3702 - dependencies: 3703 - ansi-regex "^6.0.1" 3704 - 3705 - strip-bom@^3.0.0: 3706 - version "3.0.0" 3707 - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3708 - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== 3709 - 3710 - strip-bom@^4.0.0: 3711 - version "4.0.0" 3712 - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 3713 - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 3714 - 3715 - strip-final-newline@^2.0.0: 3716 - version "2.0.0" 3717 - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 3718 - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 3719 - 3720 - strip-final-newline@^3.0.0: 3721 - version "3.0.0" 3722 - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" 3723 - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== 3724 - 3725 - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 3726 - version "3.1.1" 3727 - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 3728 - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 3729 - 3730 - sucrase@^3.18.0: 3731 - version "3.25.0" 3732 - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.25.0.tgz#6dffa34e614b3347877507a4380cc4f022b7b7aa" 3733 - integrity sha512-WxTtwEYXSmZArPGStGBicyRsg5TBEFhT5b7N+tF+zauImP0Acy+CoUK0/byJ8JNPK/5lbpWIVuFagI4+0l85QQ== 3734 - dependencies: 3735 - commander "^4.0.0" 3736 - glob "7.1.6" 3737 - lines-and-columns "^1.1.6" 3738 - mz "^2.7.0" 3739 - pirates "^4.0.1" 3740 - ts-interface-checker "^0.1.9" 3741 - 3742 - supports-color@^5.3.0: 3743 - version "5.5.0" 3744 - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3745 - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3746 - dependencies: 3747 - has-flag "^3.0.0" 3748 - 3749 - supports-color@^7.0.0, supports-color@^7.1.0: 3750 - version "7.2.0" 3751 - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 3752 - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 3753 - dependencies: 3754 - has-flag "^4.0.0" 3755 - 3756 - supports-color@^8.0.0: 3757 - version "8.1.1" 3758 - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 3759 - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 3760 - dependencies: 3761 - has-flag "^4.0.0" 3762 - 3763 - supports-hyperlinks@^2.0.0: 3764 - version "2.2.0" 3765 - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" 3766 - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== 3767 - dependencies: 3768 - has-flag "^4.0.0" 3769 - supports-color "^7.0.0" 3770 - 3771 - supports-preserve-symlinks-flag@^1.0.0: 3772 - version "1.0.0" 3773 - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 3774 - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 3775 - 3776 - terminal-link@^2.0.0: 3777 - version "2.1.1" 3778 - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" 3779 - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== 3780 - dependencies: 3781 - ansi-escapes "^4.2.1" 3782 - supports-hyperlinks "^2.0.0" 3783 - 3784 - terser@^5.0.0: 3785 - version "5.14.2" 3786 - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" 3787 - integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== 3788 - dependencies: 3789 - "@jridgewell/source-map" "^0.3.2" 3790 - acorn "^8.5.0" 3791 - commander "^2.20.0" 3792 - source-map-support "~0.5.20" 3793 - 3794 - test-exclude@^6.0.0: 3795 - version "6.0.0" 3796 - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 3797 - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 3798 - dependencies: 3799 - "@istanbuljs/schema" "^0.1.2" 3800 - glob "^7.1.4" 3801 - minimatch "^3.0.4" 3802 - 3803 - text-table@^0.2.0: 3804 - version "0.2.0" 3805 - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3806 - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 3807 - 3808 - thenify-all@^1.0.0: 3809 - version "1.6.0" 3810 - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" 3811 - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== 3812 - dependencies: 3813 - thenify ">= 3.1.0 < 4" 3814 - 3815 - "thenify@>= 3.1.0 < 4": 3816 - version "3.3.1" 3817 - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" 3818 - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== 3819 - dependencies: 3820 - any-promise "^1.0.0" 3821 - 3822 - through@^2.3.8: 3823 - version "2.3.8" 3824 - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3825 - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 3826 - 3827 - tmpl@1.0.5: 3828 - version "1.0.5" 3829 - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" 3830 - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 3831 - 3832 - to-fast-properties@^2.0.0: 3833 - version "2.0.0" 3834 - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 3835 - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 3836 - 3837 - to-regex-range@^5.0.1: 3838 - version "5.0.1" 3839 - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 3840 - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 3841 - dependencies: 3842 - is-number "^7.0.0" 3843 - 3844 - ts-interface-checker@^0.1.9: 3845 - version "0.1.13" 3846 - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" 3847 - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== 3848 - 3849 - tslib@^1.8.1: 3850 - version "1.14.1" 3851 - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 3852 - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 3853 - 3854 - tslib@^2.1.0, tslib@^2.4.0: 3855 - version "2.4.0" 3856 - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 3857 - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 3858 - 3859 - tsutils@^3.21.0: 3860 - version "3.21.0" 3861 - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 3862 - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 3863 - dependencies: 3864 - tslib "^1.8.1" 3865 - 3866 - type-check@^0.4.0, type-check@~0.4.0: 3867 - version "0.4.0" 3868 - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 3869 - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 3870 - dependencies: 3871 - prelude-ls "^1.2.1" 3872 - 3873 - type-detect@4.0.8: 3874 - version "4.0.8" 3875 - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 3876 - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 3877 - 3878 - type-fest@^0.20.2: 3879 - version "0.20.2" 3880 - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 3881 - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 3882 - 3883 - type-fest@^0.21.3: 3884 - version "0.21.3" 3885 - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 3886 - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 3887 - 3888 - typescript-compiler@^1.4.1-2: 3889 - version "1.4.1-2" 3890 - resolved "https://registry.yarnpkg.com/typescript-compiler/-/typescript-compiler-1.4.1-2.tgz#ba4f7db22d91534a1929d90009dce161eb72fd3f" 3891 - integrity sha512-EMopKmoAEJqA4XXRFGOb7eSBhmQMbBahW6P1Koayeatp0b4AW2q/bBqYWkpG7QVQc9HGQUiS4trx2ZHcnAaZUg== 3892 - 3893 - typescript@^4.8.2: 3894 - version "4.8.2" 3895 - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" 3896 - integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== 3897 - 3898 - typescript@~4.4.4: 3899 - version "4.4.4" 3900 - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" 3901 - integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== 3902 - 3903 - unbox-primitive@^1.0.2: 3904 - version "1.0.2" 3905 - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" 3906 - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== 3907 - dependencies: 3908 - call-bind "^1.0.2" 3909 - has-bigints "^1.0.2" 3910 - has-symbols "^1.0.3" 3911 - which-boxed-primitive "^1.0.2" 3912 - 3913 - unicode-canonical-property-names-ecmascript@^1.0.4: 3914 - version "1.0.4" 3915 - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" 3916 - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== 3917 - 3918 - unicode-match-property-ecmascript@^1.0.4: 3919 - version "1.0.4" 3920 - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" 3921 - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== 3922 - dependencies: 3923 - unicode-canonical-property-names-ecmascript "^1.0.4" 3924 - unicode-property-aliases-ecmascript "^1.0.4" 3925 - 3926 - unicode-match-property-value-ecmascript@^1.1.0: 3927 - version "1.2.0" 3928 - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" 3929 - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== 3930 - 3931 - unicode-property-aliases-ecmascript@^1.0.4: 3932 - version "1.1.0" 3933 - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" 3934 - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== 3935 - 3936 - update-browserslist-db@^1.0.5: 3937 - version "1.0.5" 3938 - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" 3939 - integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== 3940 - dependencies: 3941 - escalade "^3.1.1" 3942 - picocolors "^1.0.0" 3943 - 3944 - uri-js@^4.2.2: 3945 - version "4.4.1" 3946 - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 3947 - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 3948 - dependencies: 3949 - punycode "^2.1.0" 3950 - 3951 - v8-compile-cache@^2.0.3: 3952 - version "2.3.0" 3953 - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 3954 - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 3955 - 3956 - v8-to-istanbul@^9.0.1: 3957 - version "9.0.1" 3958 - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" 3959 - integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== 3960 - dependencies: 3961 - "@jridgewell/trace-mapping" "^0.3.12" 3962 - "@types/istanbul-lib-coverage" "^2.0.1" 3963 - convert-source-map "^1.6.0" 3964 - 3965 - validate-npm-package-license@^3.0.1: 3966 - version "3.0.4" 3967 - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 3968 - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 3969 - dependencies: 3970 - spdx-correct "^3.0.0" 3971 - spdx-expression-parse "^3.0.0" 3972 - 3973 - walker@^1.0.8: 3974 - version "1.0.8" 3975 - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" 3976 - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== 3977 - dependencies: 3978 - makeerror "1.0.12" 3979 - 3980 - which-boxed-primitive@^1.0.2: 3981 - version "1.0.2" 3982 - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 3983 - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 3984 - dependencies: 3985 - is-bigint "^1.0.1" 3986 - is-boolean-object "^1.1.0" 3987 - is-number-object "^1.0.4" 3988 - is-string "^1.0.5" 3989 - is-symbol "^1.0.3" 3990 - 3991 - which-pm-runs@^1.0.0: 3992 - version "1.1.0" 3993 - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" 3994 - integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== 3995 - 3996 - which@^1.2.9: 3997 - version "1.3.1" 3998 - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 3999 - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 4000 - dependencies: 4001 - isexe "^2.0.0" 4002 - 4003 - which@^2.0.1: 4004 - version "2.0.2" 4005 - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 4006 - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 4007 - dependencies: 4008 - isexe "^2.0.0" 4009 - 4010 - word-wrap@^1.2.3: 4011 - version "1.2.3" 4012 - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 4013 - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 4014 - 4015 - wrap-ansi@^6.2.0: 4016 - version "6.2.0" 4017 - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 4018 - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 4019 - dependencies: 4020 - ansi-styles "^4.0.0" 4021 - string-width "^4.1.0" 4022 - strip-ansi "^6.0.0" 4023 - 4024 - wrap-ansi@^7.0.0: 4025 - version "7.0.0" 4026 - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 4027 - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 4028 - dependencies: 4029 - ansi-styles "^4.0.0" 4030 - string-width "^4.1.0" 4031 - strip-ansi "^6.0.0" 4032 - 4033 - wrappy@1: 4034 - version "1.0.2" 4035 - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 4036 - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 4037 - 4038 - write-file-atomic@^4.0.1: 4039 - version "4.0.1" 4040 - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" 4041 - integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== 4042 - dependencies: 4043 - imurmurhash "^0.1.4" 4044 - signal-exit "^3.0.7" 4045 - 4046 - y18n@^5.0.5: 4047 - version "5.0.8" 4048 - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 4049 - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 4050 - 4051 - yallist@^4.0.0: 4052 - version "4.0.0" 4053 - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 4054 - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 4055 - 4056 - yaml@^1.10.0: 4057 - version "1.10.2" 4058 - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 4059 - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 4060 - 4061 - yaml@^2.1.1: 4062 - version "2.1.1" 4063 - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec" 4064 - integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== 4065 - 4066 - yargs-parser@^21.0.0: 4067 - version "21.1.1" 4068 - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" 4069 - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== 4070 - 4071 - yargs@^17.3.1: 4072 - version "17.5.1" 4073 - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" 4074 - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== 4075 - dependencies: 4076 - cliui "^7.0.2" 4077 - escalade "^3.1.1" 4078 - get-caller-file "^2.0.5" 4079 - require-directory "^2.1.1" 4080 - string-width "^4.2.3" 4081 - y18n "^5.0.5" 4082 - yargs-parser "^21.0.0" 4083 - 4084 - yocto-queue@^0.1.0: 4085 - version "0.1.0" 4086 - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 4087 - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 4088 - 4089 - zen-observable@^0.8.15: 4090 - version "0.8.15" 4091 - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" 4092 - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==