From cd415b257cfa64c1bae106799402f705d4953a21 Mon Sep 17 00:00:00 2001 From: Leszek Pomianowski <13592821+pomianowski@users.noreply.github.com> Date: Mon, 24 Feb 2025 17:03:37 +0100 Subject: [PATCH] Update docs --- .../workflows/reflection-events-cd-nuget.yaml | 22 +- .github/workflows/reflection-events-docs.yaml | 65 + .../reflection-events-pr-validator.yaml | 4 +- .github/workflows/top-issues-dashboard.yml | 24 + README.md | 20 +- docs/.gitignore | 11 + docs/api/.manifest | 92 + ...enting.ConsumerTypesProviderExtensions.yml | 439 + ...guration.QueueProcessorOptionsProvider.yml | 418 + ...ting.DependencyInjection.Configuration.yml | 54 + ...on.DependencyInjectionConsumerProvider.yml | 551 + ...yInjection.DependencyInjectionEventBus.yml | 949 + ...ion.DependencyInjectionEventBusBuilder.yml | 1329 ++ ...ncyInjection.EventBusBuilderExtensions.yml | 691 + ...yInjection.ServiceCollectionExtensions.yml | 499 + ...ices.DependencyInjectionQueueProcessor.yml | 973 + ...nEventing.DependencyInjection.Services.yml | 23 + ...ReflectionEventing.DependencyInjection.yml | 74 + docs/api/ReflectionEventing.EventBus.yml | 945 + .../ReflectionEventing.EventBusBuilder.yml | 1245 ++ ...tionEventing.EventBusBuilderExtensions.yml | 412 + ...lectionEventing.EventBusBuilderOptions.yml | 532 + .../ReflectionEventing.EventBusException.yml | 586 + .../ReflectionEventing.EventBusExtensions.yml | 423 + ...onEventing.HashedConsumerTypesProvider.yml | 694 + ...HashedPolymorphicConsumerTypesProvider.yml | 694 + docs/api/ReflectionEventing.IConsumer-1.yml | 183 + .../ReflectionEventing.IConsumerProvider.yml | 213 + ...lectionEventing.IConsumerTypesProvider.yml | 275 + docs/api/ReflectionEventing.IEventBus.yml | 412 + .../ReflectionEventing.Queues.EventsQueue.yml | 903 + .../ReflectionEventing.Queues.FailedEvent.yml | 514 + ...ReflectionEventing.Queues.IEventsQueue.yml | 480 + ...flectionEventing.Queues.QueueException.yml | 614 + docs/api/ReflectionEventing.Queues.yml | 68 + docs/api/ReflectionEventing.yml | 142 + docs/api/toc.yml | 95 + .../Rtf/Hyperlink/RtfDocumentProcessor.cs | 119 + docs/codesnippet/Rtf/RtfBuildStep.cs | 42 + docs/codesnippet/Rtf/RtfDocumentProcessor.cs | 73 + docs/docfx.json | 58 + docs/documentation/.gitignore | 5 + docs/documentation/configuration.md | 33 + docs/documentation/index.md | 121 + docs/images/favicon.ico | Bin 0 -> 15406 bytes docs/images/github.svg | 1 + docs/images/icon-192x192.png | Bin 0 -> 13231 bytes docs/images/icon-256x256.png | Bin 0 -> 17004 bytes docs/images/icon-384x384.png | Bin 0 -> 26491 bytes docs/images/icon-512x512.png | Bin 0 -> 26262 bytes docs/images/ms-download.png | Bin 0 -> 20161 bytes docs/images/nuget.svg | 18 + docs/images/reflectioneventing.png | Bin 0 -> 87832 bytes docs/images/vs22.svg | 86 + docs/index.md | 121 + docs/manifest.webmanifest | 32 + docs/robots.txt | 2 + docs/templates/.eslintrc.js | 16 + docs/templates/.gitignore | 11 + docs/templates/.stylelintrc.json | 14 + docs/templates/README.md | 1 + docs/templates/build.js | 84 + docs/templates/package-lock.json | 17474 ++++++++++++++++ docs/templates/package.json | 53 + .../reflectioneventing/layout/_master.tmpl | 142 + .../partials/class.header.tmpl.partial | 158 + .../partials/class.memberpage.tmpl.partial | 31 + .../partials/class.tmpl.partial | 147 + .../partials/collection.tmpl.partial | 3 + .../partials/customMREFContent.tmpl.partial | 10 + .../partials/enum.tmpl.partial | 19 + .../partials/item.tmpl.partial | 3 + .../partials/namespace.tmpl.partial | 16 + .../reflectioneventing/src/docfx.scss | 78 + .../templates/reflectioneventing/src/docfx.ts | 51 + .../reflectioneventing/src/dotnet.scss | 119 + .../reflectioneventing/src/helper.test.ts | 11 + .../reflectioneventing/src/helper.ts | 56 + .../reflectioneventing/src/highlight.scss | 26 + .../reflectioneventing/src/highlight.ts | 59 + .../reflectioneventing/src/layout.scss | 186 + .../reflectioneventing/src/markdown.scss | 86 + .../reflectioneventing/src/markdown.ts | 454 + .../reflectioneventing/src/mixins.scss | 22 + .../templates/reflectioneventing/src/nav.scss | 159 + docs/templates/reflectioneventing/src/nav.ts | 160 + .../reflectioneventing/src/options.d.ts | 40 + .../reflectioneventing/src/search-worker.ts | 82 + .../reflectioneventing/src/search.scss | 34 + .../reflectioneventing/src/search.ts | 171 + .../templates/reflectioneventing/src/theme.ts | 49 + .../templates/reflectioneventing/src/toc.scss | 92 + docs/templates/reflectioneventing/src/toc.ts | 177 + .../src/wpfui-index-stats.ts | 11 + .../reflectioneventing/src/wpfui.scss | 172 + docs/templates/reflectioneventing/toc.json.js | 93 + .../reflectioneventing/toc.json.tmpl | 3 + docs/templates/tsconfig.json | 7 + docs/toc.yml | 10 + .../ViewModels/ViewModel.cs | 5 + .../QueueProcessorOptionsProvider.cs | 19 +- .../DependencyInjectionConsumerProvider.cs | 2 +- .../DependencyInjectionEventBus.cs | 31 + .../DependencyInjectionQueueProcessor.cs | 160 - .../EventBusBuilderExtensions.cs | 14 +- .../ServiceCollectionExtensions.cs | 25 +- .../DependencyInjectionQueueProcessor.cs | 173 + src/ReflectionEventing/EventBus.cs | 18 +- .../EventBusBuilderOptions.cs | 22 +- src/ReflectionEventing/EventBusException.cs | 11 + src/ReflectionEventing/IConsumerProvider.cs | 2 +- src/ReflectionEventing/Queues/EventsQueue.cs | 10 +- src/ReflectionEventing/Queues/FailedEvent.cs | 19 + src/ReflectionEventing/Queues/IEventsQueue.cs | 16 +- .../Queues/QueueException.cs | 11 + ...ependencyInjectionConsumerProviderTests.cs | 4 +- ...DependencyInjectionEventBusBuilderTests.cs | 2 - .../DependencyInjectionQueueProcessorTests.cs | 106 + .../EventBusBuilderExtensionsTests.cs | 2 - .../ServiceCollectionExtensionsTests.cs | 6 +- 120 files changed, 37386 insertions(+), 241 deletions(-) create mode 100644 .github/workflows/reflection-events-docs.yaml create mode 100644 .github/workflows/top-issues-dashboard.yml create mode 100644 docs/.gitignore create mode 100644 docs/api/.manifest create mode 100644 docs/api/ReflectionEventing.ConsumerTypesProviderExtensions.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.Configuration.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.Services.yml create mode 100644 docs/api/ReflectionEventing.DependencyInjection.yml create mode 100644 docs/api/ReflectionEventing.EventBus.yml create mode 100644 docs/api/ReflectionEventing.EventBusBuilder.yml create mode 100644 docs/api/ReflectionEventing.EventBusBuilderExtensions.yml create mode 100644 docs/api/ReflectionEventing.EventBusBuilderOptions.yml create mode 100644 docs/api/ReflectionEventing.EventBusException.yml create mode 100644 docs/api/ReflectionEventing.EventBusExtensions.yml create mode 100644 docs/api/ReflectionEventing.HashedConsumerTypesProvider.yml create mode 100644 docs/api/ReflectionEventing.HashedPolymorphicConsumerTypesProvider.yml create mode 100644 docs/api/ReflectionEventing.IConsumer-1.yml create mode 100644 docs/api/ReflectionEventing.IConsumerProvider.yml create mode 100644 docs/api/ReflectionEventing.IConsumerTypesProvider.yml create mode 100644 docs/api/ReflectionEventing.IEventBus.yml create mode 100644 docs/api/ReflectionEventing.Queues.EventsQueue.yml create mode 100644 docs/api/ReflectionEventing.Queues.FailedEvent.yml create mode 100644 docs/api/ReflectionEventing.Queues.IEventsQueue.yml create mode 100644 docs/api/ReflectionEventing.Queues.QueueException.yml create mode 100644 docs/api/ReflectionEventing.Queues.yml create mode 100644 docs/api/ReflectionEventing.yml create mode 100644 docs/api/toc.yml create mode 100644 docs/codesnippet/Rtf/Hyperlink/RtfDocumentProcessor.cs create mode 100644 docs/codesnippet/Rtf/RtfBuildStep.cs create mode 100644 docs/codesnippet/Rtf/RtfDocumentProcessor.cs create mode 100644 docs/docfx.json create mode 100644 docs/documentation/.gitignore create mode 100644 docs/documentation/configuration.md create mode 100644 docs/documentation/index.md create mode 100644 docs/images/favicon.ico create mode 100644 docs/images/github.svg create mode 100644 docs/images/icon-192x192.png create mode 100644 docs/images/icon-256x256.png create mode 100644 docs/images/icon-384x384.png create mode 100644 docs/images/icon-512x512.png create mode 100644 docs/images/ms-download.png create mode 100644 docs/images/nuget.svg create mode 100644 docs/images/reflectioneventing.png create mode 100644 docs/images/vs22.svg create mode 100644 docs/index.md create mode 100644 docs/manifest.webmanifest create mode 100644 docs/robots.txt create mode 100644 docs/templates/.eslintrc.js create mode 100644 docs/templates/.gitignore create mode 100644 docs/templates/.stylelintrc.json create mode 100644 docs/templates/README.md create mode 100644 docs/templates/build.js create mode 100644 docs/templates/package-lock.json create mode 100644 docs/templates/package.json create mode 100644 docs/templates/reflectioneventing/layout/_master.tmpl create mode 100644 docs/templates/reflectioneventing/partials/class.header.tmpl.partial create mode 100644 docs/templates/reflectioneventing/partials/class.memberpage.tmpl.partial create mode 100644 docs/templates/reflectioneventing/partials/class.tmpl.partial create mode 100644 docs/templates/reflectioneventing/partials/collection.tmpl.partial create mode 100644 docs/templates/reflectioneventing/partials/customMREFContent.tmpl.partial create mode 100644 docs/templates/reflectioneventing/partials/enum.tmpl.partial create mode 100644 docs/templates/reflectioneventing/partials/item.tmpl.partial create mode 100644 docs/templates/reflectioneventing/partials/namespace.tmpl.partial create mode 100644 docs/templates/reflectioneventing/src/docfx.scss create mode 100644 docs/templates/reflectioneventing/src/docfx.ts create mode 100644 docs/templates/reflectioneventing/src/dotnet.scss create mode 100644 docs/templates/reflectioneventing/src/helper.test.ts create mode 100644 docs/templates/reflectioneventing/src/helper.ts create mode 100644 docs/templates/reflectioneventing/src/highlight.scss create mode 100644 docs/templates/reflectioneventing/src/highlight.ts create mode 100644 docs/templates/reflectioneventing/src/layout.scss create mode 100644 docs/templates/reflectioneventing/src/markdown.scss create mode 100644 docs/templates/reflectioneventing/src/markdown.ts create mode 100644 docs/templates/reflectioneventing/src/mixins.scss create mode 100644 docs/templates/reflectioneventing/src/nav.scss create mode 100644 docs/templates/reflectioneventing/src/nav.ts create mode 100644 docs/templates/reflectioneventing/src/options.d.ts create mode 100644 docs/templates/reflectioneventing/src/search-worker.ts create mode 100644 docs/templates/reflectioneventing/src/search.scss create mode 100644 docs/templates/reflectioneventing/src/search.ts create mode 100644 docs/templates/reflectioneventing/src/theme.ts create mode 100644 docs/templates/reflectioneventing/src/toc.scss create mode 100644 docs/templates/reflectioneventing/src/toc.ts create mode 100644 docs/templates/reflectioneventing/src/wpfui-index-stats.ts create mode 100644 docs/templates/reflectioneventing/src/wpfui.scss create mode 100644 docs/templates/reflectioneventing/toc.json.js create mode 100644 docs/templates/reflectioneventing/toc.json.tmpl create mode 100644 docs/templates/tsconfig.json create mode 100644 docs/toc.yml create mode 100644 src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs delete mode 100644 src/ReflectionEventing.DependencyInjection/DependencyInjectionQueueProcessor.cs create mode 100644 src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs create mode 100644 src/ReflectionEventing/EventBusException.cs create mode 100644 src/ReflectionEventing/Queues/QueueException.cs diff --git a/.github/workflows/reflection-events-cd-nuget.yaml b/.github/workflows/reflection-events-cd-nuget.yaml index 207f61e..365f696 100644 --- a/.github/workflows/reflection-events-cd-nuget.yaml +++ b/.github/workflows/reflection-events-cd-nuget.yaml @@ -1,8 +1,11 @@ -name: reflection-events-client-cd-nuget on: push: - branches: [main] + branches: + - main + - release/* + paths: + - 'src/**' workflow_dispatch: @@ -11,17 +14,16 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v4 - - uses: microsoft/setup-msbuild@v1.3 + - uses: microsoft/setup-msbuild@v2 with: msbuild-architecture: x64 - uses: nuget/setup-nuget@v2 with: nuget-api-key: ${{ secrets.NUGET_API_KEY }} - - - name: Setup .NET Core SDK 8.x + - name: Setup .NET Core SDK 9.x uses: actions/setup-dotnet@v4 with: - dotnet-version: 8.x + dotnet-version: 9.x - name: Fetch the certificate run: | @@ -36,14 +38,14 @@ jobs: - name: Build run: dotnet build ReflectionEventing.sln --configuration Release --no-restore -p:SourceLinkEnabled=true - - name: Run tests - run: dotnet test ReflectionEventing.sln --configuration Release --no-restore --no-build --verbosity quiet - - name: Publish the package to NuGet.org run: nuget push **\*.nupkg -NonInteractive -SkipDuplicate -Source 'https://api.nuget.org/v3/index.json' + - name: Publish the symbols to NuGet.org + run: nuget push **\*.snupkg -NonInteractive -SkipDuplicate -Source 'https://api.nuget.org/v3/index.json' + - name: Upload NuGet packages as artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: nuget-packages path: '**\*.nupkg' diff --git a/.github/workflows/reflection-events-docs.yaml b/.github/workflows/reflection-events-docs.yaml new file mode 100644 index 0000000..f355cc0 --- /dev/null +++ b/.github/workflows/reflection-events-docs.yaml @@ -0,0 +1,65 @@ +name: reflection-events-cd-docs + +on: + push: + branches: [main] + + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + publish: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Use Node.js 18.x + uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Setup .NET Core SDK 9.x + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 9.x + + - name: Install docfx + run: dotnet tool update -g docfx + + - name: Install dependencies + run: dotnet restore + + - name: Install template dependencies + run: npm ci + working-directory: docs/templates + + - name: Build docfx template + run: npm run build + working-directory: docs/templates + + - name: docfx Build + run: docfx docs/docfx.json + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: docs/_site/ + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/reflection-events-pr-validator.yaml b/.github/workflows/reflection-events-pr-validator.yaml index ed42d7a..18a0a00 100644 --- a/.github/workflows/reflection-events-pr-validator.yaml +++ b/.github/workflows/reflection-events-pr-validator.yaml @@ -20,10 +20,10 @@ jobs: with: nuget-api-key: ${{ secrets.NUGET_API_KEY }} - - name: Setup .NET Core SDK 8.x + - name: Setup .NET Core SDK 9.x uses: actions/setup-dotnet@v4 with: - dotnet-version: 8.x + dotnet-version: 9.x - name: Install dependencies run: dotnet restore diff --git a/.github/workflows/top-issues-dashboard.yml b/.github/workflows/top-issues-dashboard.yml new file mode 100644 index 0000000..a2cfc1f --- /dev/null +++ b/.github/workflows/top-issues-dashboard.yml @@ -0,0 +1,24 @@ +name: reflection-events-top-issues-dashboard +on: + schedule: + - cron: '0 0 */1 * *' + +jobs: + ShowAndLabelTopIssues: + name: Display and label top issues. + runs-on: ubuntu-latest + steps: + - name: Top Issues action + uses: rickstaa/top-issues-action@v1.3.101 + env: + github_token: ${{ secrets.GITHUB_TOKEN }} + with: + top_list_size: 10 + label: true + dashboard: true + dashboard_show_total_reactions: true + top_issues: true + top_bugs: true + top_features: true + feature_label: feature + top_pull_requests: true diff --git a/README.md b/README.md index e509aa6..a0ebb31 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,6 @@ ReflectionEventing is a powerful tool for developers looking to create decoupled [![GitHub license](https://img.shields.io/github/license/lepoco/reflectioneventing)](https://github.com/lepoco/reflectioneventing/blob/master/LICENSE) [![Nuget](https://img.shields.io/nuget/v/ReflectionEventing)](https://www.nuget.org/packages/ReflectionEventing/) [![Nuget](https://img.shields.io/nuget/dt/ReflectionEventing?label=nuget)](https://www.nuget.org/packages/ReflectionEventing/) [![Sponsors](https://img.shields.io/github/sponsors/lepoco)](https://github.com/sponsors/lepoco) -## 👀 What does this repo contain? - -This repository houses the source code for the ReflectionEventing NuGet package. The package utilizes C# reflection to register services that can listen for and respond to local events. - ## 🛟 Support plans To ensure you receive the expert guidance you need, we offer a variety of support plans designed to meet the diverse needs of our community. Whether you are looking to in memory eventing or need assistance with our other libraries, our tailored support solutions are here to help. From priority email support to 24/7 dedicated assistance, we provide flexible plans to suit your project requirements. @@ -24,12 +20,12 @@ Support the development of Reflection Eventing and other innovative projects by ## Gettings started ReflectionEventing is available as NuGet package on NuGet.org: -https://www.nuget.org/packages/ReflectionEventing -https://www.nuget.org/packages/ReflectionEventing.Autofac -https://www.nuget.org/packages/ReflectionEventing.Castle.Windsor -https://www.nuget.org/packages/ReflectionEventing.DependencyInjection -https://www.nuget.org/packages/ReflectionEventing.Ninject -https://www.nuget.org/packages/ReflectionEventing.Unity + + + + + + You can add it to your project using .NET CLI: @@ -101,8 +97,8 @@ public partial class MainWindowViewModel : ObservableObject, IConsumer +- ## Compilation diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..f3acf3f --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,11 @@ +############### +# folder # +############### +/**/DROP/ +/**/TEMP/ +/**/packages/ +/**/bin/ +/**/obj/ +_site +public +/src/ diff --git a/docs/api/.manifest b/docs/api/.manifest new file mode 100644 index 0000000..27255b4 --- /dev/null +++ b/docs/api/.manifest @@ -0,0 +1,92 @@ +{ + "ReflectionEventing": "ReflectionEventing.yml", + "ReflectionEventing.ConsumerTypesProviderExtensions": "ReflectionEventing.ConsumerTypesProviderExtensions.yml", + "ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider)": "ReflectionEventing.ConsumerTypesProviderExtensions.yml", + "ReflectionEventing.DependencyInjection": "ReflectionEventing.DependencyInjection.yml", + "ReflectionEventing.DependencyInjection.Configuration": "ReflectionEventing.DependencyInjection.Configuration.yml", + "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider": "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml", + "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.#ctor(ReflectionEventing.EventBusBuilderOptions,System.Object)": "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml", + "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey": "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml", + "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value": "ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider": "ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.#ctor(System.IServiceProvider)": "ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers(System.Type)": "ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionEventBus": "ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.#ctor(ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue)": "ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync``1(``0,System.Threading.CancellationToken)": "ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder": "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.#ctor(Microsoft.Extensions.DependencyInjection.IServiceCollection)": "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type)": "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml", + "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime)": "ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime)": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type)": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder)": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type)": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder)": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type)": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder)": "ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml", + "ReflectionEventing.DependencyInjection.ServiceCollectionExtensions": "ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.yml", + "ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{ReflectionEventing.EventBusBuilder})": "ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.yml", + "ReflectionEventing.DependencyInjection.Services": "ReflectionEventing.DependencyInjection.Services.yml", + "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor": "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml", + "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.#ctor(ReflectionEventing.Queues.IEventsQueue,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor})": "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml", + "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing(System.Threading.CancellationToken)": "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml", + "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync(System.Threading.CancellationToken)": "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml", + "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync(System.Threading.CancellationToken)": "ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml", + "ReflectionEventing.EventBus": "ReflectionEventing.EventBus.yml", + "ReflectionEventing.EventBus.#ctor(ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue)": "ReflectionEventing.EventBus.yml", + "ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken)": "ReflectionEventing.EventBus.yml", + "ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken)": "ReflectionEventing.EventBus.yml", + "ReflectionEventing.EventBusBuilder": "ReflectionEventing.EventBusBuilder.yml", + "ReflectionEventing.EventBusBuilder.AddConsumer(System.Type)": "ReflectionEventing.EventBusBuilder.yml", + "ReflectionEventing.EventBusBuilder.BuildTypesProvider": "ReflectionEventing.EventBusBuilder.yml", + "ReflectionEventing.EventBusBuilder.Options": "ReflectionEventing.EventBusBuilder.yml", + "ReflectionEventing.EventBusBuilderExtensions": "ReflectionEventing.EventBusBuilderExtensions.yml", + "ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[])": "ReflectionEventing.EventBusBuilderExtensions.yml", + "ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder)": "ReflectionEventing.EventBusBuilderExtensions.yml", + "ReflectionEventing.EventBusBuilderOptions": "ReflectionEventing.EventBusBuilderOptions.yml", + "ReflectionEventing.EventBusBuilderOptions.ErrorTickRate": "ReflectionEventing.EventBusBuilderOptions.yml", + "ReflectionEventing.EventBusBuilderOptions.QueueTickRate": "ReflectionEventing.EventBusBuilderOptions.yml", + "ReflectionEventing.EventBusBuilderOptions.UseErrorQueue": "ReflectionEventing.EventBusBuilderOptions.yml", + "ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism": "ReflectionEventing.EventBusBuilderOptions.yml", + "ReflectionEventing.EventBusBuilderOptions.UseEventsQueue": "ReflectionEventing.EventBusBuilderOptions.yml", + "ReflectionEventing.EventBusException": "ReflectionEventing.EventBusException.yml", + "ReflectionEventing.EventBusException.#ctor(System.String)": "ReflectionEventing.EventBusException.yml", + "ReflectionEventing.EventBusExtensions": "ReflectionEventing.EventBusExtensions.yml", + "ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0)": "ReflectionEventing.EventBusExtensions.yml", + "ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0)": "ReflectionEventing.EventBusExtensions.yml", + "ReflectionEventing.HashedConsumerTypesProvider": "ReflectionEventing.HashedConsumerTypesProvider.yml", + "ReflectionEventing.HashedConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}})": "ReflectionEventing.HashedConsumerTypesProvider.yml", + "ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes(System.Type)": "ReflectionEventing.HashedConsumerTypesProvider.yml", + "ReflectionEventing.HashedPolymorphicConsumerTypesProvider": "ReflectionEventing.HashedPolymorphicConsumerTypesProvider.yml", + "ReflectionEventing.HashedPolymorphicConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}})": "ReflectionEventing.HashedPolymorphicConsumerTypesProvider.yml", + "ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes(System.Type)": "ReflectionEventing.HashedPolymorphicConsumerTypesProvider.yml", + "ReflectionEventing.IConsumerProvider": "ReflectionEventing.IConsumerProvider.yml", + "ReflectionEventing.IConsumerProvider.GetConsumers(System.Type)": "ReflectionEventing.IConsumerProvider.yml", + "ReflectionEventing.IConsumerTypesProvider": "ReflectionEventing.IConsumerTypesProvider.yml", + "ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type)": "ReflectionEventing.IConsumerTypesProvider.yml", + "ReflectionEventing.IConsumer`1": "ReflectionEventing.IConsumer-1.yml", + "ReflectionEventing.IConsumer`1.ConsumeAsync(`0,System.Threading.CancellationToken)": "ReflectionEventing.IConsumer-1.yml", + "ReflectionEventing.IEventBus": "ReflectionEventing.IEventBus.yml", + "ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken)": "ReflectionEventing.IEventBus.yml", + "ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken)": "ReflectionEventing.IEventBus.yml", + "ReflectionEventing.Queues": "ReflectionEventing.Queues.yml", + "ReflectionEventing.Queues.EventsQueue": "ReflectionEventing.Queues.EventsQueue.yml", + "ReflectionEventing.Queues.EventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken)": "ReflectionEventing.Queues.EventsQueue.yml", + "ReflectionEventing.Queues.EventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent)": "ReflectionEventing.Queues.EventsQueue.yml", + "ReflectionEventing.Queues.EventsQueue.GetErrors": "ReflectionEventing.Queues.EventsQueue.yml", + "ReflectionEventing.Queues.EventsQueue.ReadEventsAsync(System.Threading.CancellationToken)": "ReflectionEventing.Queues.EventsQueue.yml", + "ReflectionEventing.Queues.FailedEvent": "ReflectionEventing.Queues.FailedEvent.yml", + "ReflectionEventing.Queues.FailedEvent.Data": "ReflectionEventing.Queues.FailedEvent.yml", + "ReflectionEventing.Queues.FailedEvent.Exception": "ReflectionEventing.Queues.FailedEvent.yml", + "ReflectionEventing.Queues.FailedEvent.FailedConsumer": "ReflectionEventing.Queues.FailedEvent.yml", + "ReflectionEventing.Queues.FailedEvent.Timestamp": "ReflectionEventing.Queues.FailedEvent.yml", + "ReflectionEventing.Queues.IEventsQueue": "ReflectionEventing.Queues.IEventsQueue.yml", + "ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken)": "ReflectionEventing.Queues.IEventsQueue.yml", + "ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent)": "ReflectionEventing.Queues.IEventsQueue.yml", + "ReflectionEventing.Queues.IEventsQueue.GetErrors": "ReflectionEventing.Queues.IEventsQueue.yml", + "ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken)": "ReflectionEventing.Queues.IEventsQueue.yml", + "ReflectionEventing.Queues.QueueException": "ReflectionEventing.Queues.QueueException.yml", + "ReflectionEventing.Queues.QueueException.#ctor(System.String)": "ReflectionEventing.Queues.QueueException.yml" +} \ No newline at end of file diff --git a/docs/api/ReflectionEventing.ConsumerTypesProviderExtensions.yml b/docs/api/ReflectionEventing.ConsumerTypesProviderExtensions.yml new file mode 100644 index 0000000..c8f733a --- /dev/null +++ b/docs/api/ReflectionEventing.ConsumerTypesProviderExtensions.yml @@ -0,0 +1,439 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.ConsumerTypesProviderExtensions + commentId: T:ReflectionEventing.ConsumerTypesProviderExtensions + id: ConsumerTypesProviderExtensions + parent: ReflectionEventing + children: + - ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + langs: + - csharp + - vb + name: ConsumerTypesProviderExtensions + nameWithType: ConsumerTypesProviderExtensions + fullName: ReflectionEventing.ConsumerTypesProviderExtensions + type: Class + source: + remote: + path: src/ReflectionEventing/ConsumerTypesProviderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ConsumerTypesProviderExtensions + path: ../src/ReflectionEventing/ConsumerTypesProviderExtensions.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides extension methods for the class. + example: [] + syntax: + content: public static class ConsumerTypesProviderExtensions + content.vb: Public Module ConsumerTypesProviderExtensions + inheritance: + - System.Object + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + commentId: M:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + id: GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + isExtensionMethod: true + parent: ReflectionEventing.ConsumerTypesProviderExtensions + langs: + - csharp + - vb + name: GetConsumerTypes(IConsumerTypesProvider) + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes(IConsumerTypesProvider) + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(ReflectionEventing.IConsumerTypesProvider) + type: Method + source: + remote: + path: src/ReflectionEventing/ConsumerTypesProviderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetConsumerTypes + path: ../src/ReflectionEventing/ConsumerTypesProviderExtensions.cs + startLine: 17 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Gets the consumers for the specified event type. + example: [] + syntax: + content: public static IEnumerable GetConsumerTypes(this IConsumerTypesProvider provider) + parameters: + - id: provider + type: ReflectionEventing.IConsumerTypesProvider + typeParameters: + - id: TEvent + description: The type of the event to get the consumers for. + return: + type: System.Collections.Generic.IEnumerable{System.Type} + description: A collection of consumer types that can handle the specified event type. + content.vb: Public Shared Function GetConsumerTypes(Of TEvent)(provider As IConsumerTypesProvider) As IEnumerable(Of Type) + overload: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes* + nameWithType.vb: ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + fullName.vb: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(ReflectionEventing.IConsumerTypesProvider) + name.vb: GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) +references: +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes* + commentId: Overload:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + name: GetConsumerTypes + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes +- uid: System.Collections.Generic.IEnumerable{System.Type} + commentId: T:System.Collections.Generic.IEnumerable{System.Type} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of Type) + fullName.vb: System.Collections.Generic.IEnumerable(Of System.Type) + name.vb: IEnumerable(Of Type) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic diff --git a/docs/api/ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml b/docs/api/ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml new file mode 100644 index 0000000..b73c7c4 --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.yml @@ -0,0 +1,418 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + commentId: T:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + id: QueueProcessorOptionsProvider + parent: ReflectionEventing.DependencyInjection.Configuration + children: + - ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.#ctor(ReflectionEventing.EventBusBuilderOptions,System.Object) + - ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey + - ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value + langs: + - csharp + - vb + name: QueueProcessorOptionsProvider + nameWithType: QueueProcessorOptionsProvider + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + type: Class + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: QueueProcessorOptionsProvider + path: ../src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Configuration + summary: Provides configuration options for the queue processor. + example: [] + syntax: + content: public sealed class QueueProcessorOptionsProvider + content.vb: Public NotInheritable Class QueueProcessorOptionsProvider + inheritance: + - System.Object + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.#ctor(ReflectionEventing.EventBusBuilderOptions,System.Object) + commentId: M:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.#ctor(ReflectionEventing.EventBusBuilderOptions,System.Object) + id: '#ctor(ReflectionEventing.EventBusBuilderOptions,System.Object)' + parent: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + langs: + - csharp + - vb + name: QueueProcessorOptionsProvider(EventBusBuilderOptions, object?) + nameWithType: QueueProcessorOptionsProvider.QueueProcessorOptionsProvider(EventBusBuilderOptions, object?) + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.QueueProcessorOptionsProvider(ReflectionEventing.EventBusBuilderOptions, object?) + type: Constructor + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Configuration + summary: Provides configuration options for the queue processor. + example: [] + syntax: + content: public QueueProcessorOptionsProvider(EventBusBuilderOptions options, object? serviceKey = null) + parameters: + - id: options + type: ReflectionEventing.EventBusBuilderOptions + - id: serviceKey + type: System.Object + content.vb: Public Sub New(options As EventBusBuilderOptions, serviceKey As Object = Nothing) + overload: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.#ctor* + nameWithType.vb: QueueProcessorOptionsProvider.New(EventBusBuilderOptions, Object) + fullName.vb: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.New(ReflectionEventing.EventBusBuilderOptions, Object) + name.vb: New(EventBusBuilderOptions, Object) +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value + commentId: P:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value + id: Value + parent: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + langs: + - csharp + - vb + name: Value + nameWithType: QueueProcessorOptionsProvider.Value + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value + type: Property + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: Value + path: ../src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + startLine: 18 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Configuration + summary: Gets the configuration options for the queue processor. + example: [] + syntax: + content: public EventBusBuilderOptions Value { get; } + parameters: [] + return: + type: ReflectionEventing.EventBusBuilderOptions + content.vb: Public ReadOnly Property Value As EventBusBuilderOptions + overload: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value* +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey + commentId: P:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey + id: ServiceKey + parent: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + langs: + - csharp + - vb + name: ServiceKey + nameWithType: QueueProcessorOptionsProvider.ServiceKey + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey + type: Property + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ServiceKey + path: ../src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs + startLine: 26 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Configuration + summary: Gets the service key associated with the queue processor options. + example: [] + syntax: + content: public object? ServiceKey { get; } + parameters: [] + return: + type: System.Object + content.vb: Public ReadOnly Property ServiceKey As Object + overload: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey* +references: +- uid: ReflectionEventing.DependencyInjection.Configuration + commentId: N:ReflectionEventing.DependencyInjection.Configuration + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection.Configuration + nameWithType: ReflectionEventing.DependencyInjection.Configuration + fullName: ReflectionEventing.DependencyInjection.Configuration + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.#ctor* + commentId: Overload:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.#ctor + href: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.html#ReflectionEventing_DependencyInjection_Configuration_QueueProcessorOptionsProvider__ctor_ReflectionEventing_EventBusBuilderOptions_System_Object_ + name: QueueProcessorOptionsProvider + nameWithType: QueueProcessorOptionsProvider.QueueProcessorOptionsProvider + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.QueueProcessorOptionsProvider + nameWithType.vb: QueueProcessorOptionsProvider.New + fullName.vb: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.New + name.vb: New +- uid: ReflectionEventing.EventBusBuilderOptions + commentId: T:ReflectionEventing.EventBusBuilderOptions + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilderOptions.html + name: EventBusBuilderOptions + nameWithType: EventBusBuilderOptions + fullName: ReflectionEventing.EventBusBuilderOptions +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value* + commentId: Overload:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value + href: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.html#ReflectionEventing_DependencyInjection_Configuration_QueueProcessorOptionsProvider_Value + name: Value + nameWithType: QueueProcessorOptionsProvider.Value + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.Value +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey* + commentId: Overload:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey + href: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.html#ReflectionEventing_DependencyInjection_Configuration_QueueProcessorOptionsProvider_ServiceKey + name: ServiceKey + nameWithType: QueueProcessorOptionsProvider.ServiceKey + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.ServiceKey diff --git a/docs/api/ReflectionEventing.DependencyInjection.Configuration.yml b/docs/api/ReflectionEventing.DependencyInjection.Configuration.yml new file mode 100644 index 0000000..68fe756 --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.Configuration.yml @@ -0,0 +1,54 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.Configuration + commentId: N:ReflectionEventing.DependencyInjection.Configuration + id: ReflectionEventing.DependencyInjection.Configuration + children: + - ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + langs: + - csharp + - vb + name: ReflectionEventing.DependencyInjection.Configuration + nameWithType: ReflectionEventing.DependencyInjection.Configuration + fullName: ReflectionEventing.DependencyInjection.Configuration + type: Namespace + assemblies: + - ReflectionEventing.DependencyInjection +references: +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + commentId: T:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + parent: ReflectionEventing.DependencyInjection.Configuration + href: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.html + name: QueueProcessorOptionsProvider + nameWithType: QueueProcessorOptionsProvider + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider +- uid: ReflectionEventing.DependencyInjection.Configuration + commentId: N:ReflectionEventing.DependencyInjection.Configuration + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection.Configuration + nameWithType: ReflectionEventing.DependencyInjection.Configuration + fullName: ReflectionEventing.DependencyInjection.Configuration + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html diff --git a/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.yml b/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.yml new file mode 100644 index 0000000..f31f4f5 --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.yml @@ -0,0 +1,551 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + commentId: T:ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + id: DependencyInjectionConsumerProvider + parent: ReflectionEventing.DependencyInjection + children: + - ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.#ctor(System.IServiceProvider) + - ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers(System.Type) + langs: + - csharp + - vb + name: DependencyInjectionConsumerProvider + nameWithType: DependencyInjectionConsumerProvider + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + type: Class + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: DependencyInjectionConsumerProvider + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Represents a provider for retrieving event consumers from .NET Core's built-in dependency injection container. + example: [] + syntax: + content: 'public class DependencyInjectionConsumerProvider : IConsumerProvider' + content.vb: Public Class DependencyInjectionConsumerProvider Implements IConsumerProvider + inheritance: + - System.Object + implements: + - ReflectionEventing.IConsumerProvider + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.#ctor(System.IServiceProvider) + commentId: M:ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.#ctor(System.IServiceProvider) + id: '#ctor(System.IServiceProvider)' + parent: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + langs: + - csharp + - vb + name: DependencyInjectionConsumerProvider(IServiceProvider) + nameWithType: DependencyInjectionConsumerProvider.DependencyInjectionConsumerProvider(IServiceProvider) + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.DependencyInjectionConsumerProvider(System.IServiceProvider) + type: Constructor + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Represents a provider for retrieving event consumers from .NET Core's built-in dependency injection container. + example: [] + syntax: + content: public DependencyInjectionConsumerProvider(IServiceProvider serviceProvider) + parameters: + - id: serviceProvider + type: System.IServiceProvider + content.vb: Public Sub New(serviceProvider As IServiceProvider) + overload: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.#ctor* + nameWithType.vb: DependencyInjectionConsumerProvider.New(IServiceProvider) + fullName.vb: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.New(System.IServiceProvider) + name.vb: New(IServiceProvider) +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers(System.Type) + id: GetConsumers(System.Type) + parent: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + langs: + - csharp + - vb + name: GetConsumers(Type) + nameWithType: DependencyInjectionConsumerProvider.GetConsumers(Type) + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers(System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetConsumers + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs + startLine: 14 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Gets the consumers objects for the specified event type. + example: + - >- +
Type consumerType = typeof(MyEvent);
+
+    IEnumerable<object> consumerTypes = consumerProvider.GetConsumers(consumerType);
+ syntax: + content: public IEnumerable GetConsumers(Type consumerType) + parameters: + - id: consumerType + type: System.Type + description: The type of the event that the consumers handle. + return: + type: System.Collections.Generic.IEnumerable{System.Object} + description: An enumerable of 's that are consumers of the specified event type. + content.vb: Public Function GetConsumers(consumerType As Type) As IEnumerable(Of Object) + overload: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers* + implements: + - ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) +references: +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.IConsumerProvider + commentId: T:ReflectionEventing.IConsumerProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerProvider.html + name: IConsumerProvider + nameWithType: IConsumerProvider + fullName: ReflectionEventing.IConsumerProvider +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.#ctor* + commentId: Overload:ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.#ctor + href: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.html#ReflectionEventing_DependencyInjection_DependencyInjectionConsumerProvider__ctor_System_IServiceProvider_ + name: DependencyInjectionConsumerProvider + nameWithType: DependencyInjectionConsumerProvider.DependencyInjectionConsumerProvider + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.DependencyInjectionConsumerProvider + nameWithType.vb: DependencyInjectionConsumerProvider.New + fullName.vb: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.New + name.vb: New +- uid: System.IServiceProvider + commentId: T:System.IServiceProvider + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.iserviceprovider + name: IServiceProvider + nameWithType: IServiceProvider + fullName: System.IServiceProvider +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers* + commentId: Overload:ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers + href: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.html#ReflectionEventing_DependencyInjection_DependencyInjectionConsumerProvider_GetConsumers_System_Type_ + name: GetConsumers + nameWithType: DependencyInjectionConsumerProvider.GetConsumers + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.GetConsumers +- uid: ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + commentId: M:ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + parent: ReflectionEventing.IConsumerProvider + isExternal: true + href: ReflectionEventing.IConsumerProvider.html#ReflectionEventing_IConsumerProvider_GetConsumers_System_Type_ + name: GetConsumers(Type) + nameWithType: IConsumerProvider.GetConsumers(Type) + fullName: ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + spec.csharp: + - uid: ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + name: GetConsumers + href: ReflectionEventing.IConsumerProvider.html#ReflectionEventing_IConsumerProvider_GetConsumers_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + name: GetConsumers + href: ReflectionEventing.IConsumerProvider.html#ReflectionEventing_IConsumerProvider_GetConsumers_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: System.Collections.Generic.IEnumerable{System.Object} + commentId: T:System.Collections.Generic.IEnumerable{System.Object} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of Object) + fullName.vb: System.Collections.Generic.IEnumerable(Of Object) + name.vb: IEnumerable(Of Object) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic diff --git a/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.yml b/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.yml new file mode 100644 index 0000000..c9eedca --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.yml @@ -0,0 +1,949 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + commentId: T:ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + id: DependencyInjectionEventBus + parent: ReflectionEventing.DependencyInjection + children: + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.#ctor(ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue) + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + langs: + - csharp + - vb + name: DependencyInjectionEventBus + nameWithType: DependencyInjectionEventBus + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + type: Class + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: DependencyInjectionEventBus + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + syntax: + content: 'public class DependencyInjectionEventBus : EventBus, IEventBus' + content.vb: Public Class DependencyInjectionEventBus Inherits EventBus Implements IEventBus + inheritance: + - System.Object + - ReflectionEventing.EventBus + implements: + - ReflectionEventing.IEventBus + inheritedMembers: + - ReflectionEventing.EventBus.SendAsync``1({TEvent},System.Threading.CancellationToken) + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone + extensionMethods: + - ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Publish``1({TEvent}) + - ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Send``1({TEvent}) +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.#ctor(ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue) + commentId: M:ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.#ctor(ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue) + id: '#ctor(ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue)' + parent: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + langs: + - csharp + - vb + name: DependencyInjectionEventBus(QueueProcessorOptionsProvider, IConsumerProvider, IConsumerTypesProvider, IEventsQueue) + nameWithType: DependencyInjectionEventBus.DependencyInjectionEventBus(QueueProcessorOptionsProvider, IConsumerProvider, IConsumerTypesProvider, IEventsQueue) + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.DependencyInjectionEventBus(ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider, ReflectionEventing.IConsumerProvider, ReflectionEventing.IConsumerTypesProvider, ReflectionEventing.Queues.IEventsQueue) + type: Constructor + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + syntax: + content: public DependencyInjectionEventBus(QueueProcessorOptionsProvider options, IConsumerProvider consumerProviders, IConsumerTypesProvider consumerTypesProvider, IEventsQueue queue) + parameters: + - id: options + type: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + - id: consumerProviders + type: ReflectionEventing.IConsumerProvider + - id: consumerTypesProvider + type: ReflectionEventing.IConsumerTypesProvider + - id: queue + type: ReflectionEventing.Queues.IEventsQueue + content.vb: Public Sub New(options As QueueProcessorOptionsProvider, consumerProviders As IConsumerProvider, consumerTypesProvider As IConsumerTypesProvider, queue As IEventsQueue) + overload: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.#ctor* + nameWithType.vb: DependencyInjectionEventBus.New(QueueProcessorOptionsProvider, IConsumerProvider, IConsumerTypesProvider, IEventsQueue) + fullName.vb: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.New(ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider, ReflectionEventing.IConsumerProvider, ReflectionEventing.IConsumerTypesProvider, ReflectionEventing.Queues.IEventsQueue) + name.vb: New(QueueProcessorOptionsProvider, IConsumerProvider, IConsumerTypesProvider, IEventsQueue) +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + id: PublishAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + langs: + - csharp + - vb + name: PublishAsync(TEvent, CancellationToken) + nameWithType: DependencyInjectionEventBus.PublishAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: PublishAsync + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs + startLine: 18 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds the specified event to the queue.Another scope will take over execution as configured. + remarks: The method only adds the event to the execution queue, it does not wait for its successful execution. + example: [] + syntax: + content: 'public override Task PublishAsync(TEvent eventItem, CancellationToken cancellationToken = default) where TEvent : class' + parameters: + - id: eventItem + type: '{TEvent}' + description: The event to publish. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A cancellation token that can be used to cancel the operation. + typeParameters: + - id: TEvent + description: The type of the event to publish. + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous operation. + content.vb: Public Overrides Function PublishAsync(Of TEvent As Class)(eventItem As TEvent, cancellationToken As CancellationToken = Nothing) As Task + overridden: ReflectionEventing.EventBus.PublishAsync``1({TEvent},System.Threading.CancellationToken) + overload: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync* + nameWithType.vb: DependencyInjectionEventBus.PublishAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: PublishAsync(Of TEvent)(TEvent, CancellationToken) +references: +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.EventBus + commentId: T:ReflectionEventing.EventBus + parent: ReflectionEventing + href: ReflectionEventing.EventBus.html + name: EventBus + nameWithType: EventBus + fullName: ReflectionEventing.EventBus +- uid: ReflectionEventing.IEventBus + commentId: T:ReflectionEventing.IEventBus + parent: ReflectionEventing + href: ReflectionEventing.IEventBus.html + name: IEventBus + nameWithType: IEventBus + fullName: ReflectionEventing.IEventBus +- uid: ReflectionEventing.EventBus.SendAsync``1({TEvent},System.Threading.CancellationToken) + commentId: M:ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.EventBus + definition: ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_SendAsync__1___0_System_Threading_CancellationToken_ + name: SendAsync(TEvent, CancellationToken) + nameWithType: EventBus.SendAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.EventBus.SendAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: EventBus.SendAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.EventBus.SendAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: SendAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Publish``1({TEvent}) + commentId: M:ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + parent: ReflectionEventing.EventBusExtensions + definition: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + name: Publish(IEventBus, TEvent) + nameWithType: EventBusExtensions.Publish(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Publish(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Publish(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Publish(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Publish(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Send``1({TEvent}) + commentId: M:ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + parent: ReflectionEventing.EventBusExtensions + definition: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + name: Send(IEventBus, TEvent) + nameWithType: EventBusExtensions.Send(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Send(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Send(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Send(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Send(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + isExternal: true + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_SendAsync__1___0_System_Threading_CancellationToken_ + name: SendAsync(TEvent, CancellationToken) + nameWithType: EventBus.SendAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.EventBus.SendAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: EventBus.SendAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.EventBus.SendAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: SendAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + name: Publish(IEventBus, TEvent) + nameWithType: EventBusExtensions.Publish(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Publish(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Publish(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Publish(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Publish(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.EventBusExtensions + commentId: T:ReflectionEventing.EventBusExtensions + parent: ReflectionEventing + href: ReflectionEventing.EventBusExtensions.html + name: EventBusExtensions + nameWithType: EventBusExtensions + fullName: ReflectionEventing.EventBusExtensions +- uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + name: Send(IEventBus, TEvent) + nameWithType: EventBusExtensions.Send(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Send(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Send(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Send(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Send(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.#ctor* + commentId: Overload:ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.#ctor + href: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.html#ReflectionEventing_DependencyInjection_DependencyInjectionEventBus__ctor_ReflectionEventing_DependencyInjection_Configuration_QueueProcessorOptionsProvider_ReflectionEventing_IConsumerProvider_ReflectionEventing_IConsumerTypesProvider_ReflectionEventing_Queues_IEventsQueue_ + name: DependencyInjectionEventBus + nameWithType: DependencyInjectionEventBus.DependencyInjectionEventBus + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.DependencyInjectionEventBus + nameWithType.vb: DependencyInjectionEventBus.New + fullName.vb: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.New + name.vb: New +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + commentId: T:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + parent: ReflectionEventing.DependencyInjection.Configuration + href: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.html + name: QueueProcessorOptionsProvider + nameWithType: QueueProcessorOptionsProvider + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider +- uid: ReflectionEventing.IConsumerProvider + commentId: T:ReflectionEventing.IConsumerProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerProvider.html + name: IConsumerProvider + nameWithType: IConsumerProvider + fullName: ReflectionEventing.IConsumerProvider +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: ReflectionEventing.Queues.IEventsQueue + commentId: T:ReflectionEventing.Queues.IEventsQueue + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.IEventsQueue.html + name: IEventsQueue + nameWithType: IEventsQueue + fullName: ReflectionEventing.Queues.IEventsQueue +- uid: ReflectionEventing.DependencyInjection.Configuration + commentId: N:ReflectionEventing.DependencyInjection.Configuration + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection.Configuration + nameWithType: ReflectionEventing.DependencyInjection.Configuration + fullName: ReflectionEventing.DependencyInjection.Configuration + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html +- uid: ReflectionEventing.EventBus.PublishAsync``1({TEvent},System.Threading.CancellationToken) + commentId: M:ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.EventBus + definition: ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + name: PublishAsync(TEvent, CancellationToken) + nameWithType: EventBus.PublishAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.EventBus.PublishAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: EventBus.PublishAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.EventBus.PublishAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: PublishAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync* + commentId: Overload:ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync + href: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.html#ReflectionEventing_DependencyInjection_DependencyInjectionEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + name: PublishAsync + nameWithType: DependencyInjectionEventBus.PublishAsync + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.PublishAsync +- uid: '{TEvent}' + commentId: '!:TEvent' + definition: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading.CancellationToken + commentId: T:System.Threading.CancellationToken + parent: System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + name: CancellationToken + nameWithType: CancellationToken + fullName: System.Threading.CancellationToken +- uid: System.Threading.Tasks.Task + commentId: T:System.Threading.Tasks.Task + parent: System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks.task + name: Task + nameWithType: Task + fullName: System.Threading.Tasks.Task +- uid: ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + isExternal: true + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + name: PublishAsync(TEvent, CancellationToken) + nameWithType: EventBus.PublishAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.EventBus.PublishAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: EventBus.PublishAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.EventBus.PublishAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: PublishAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading + commentId: N:System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading + nameWithType: System.Threading + fullName: System.Threading + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading +- uid: System.Threading.Tasks + commentId: N:System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading.Tasks + nameWithType: System.Threading.Tasks + fullName: System.Threading.Tasks + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks diff --git a/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml b/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml new file mode 100644 index 0000000..82f37f8 --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.yml @@ -0,0 +1,1329 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + commentId: T:ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + id: DependencyInjectionEventBusBuilder + parent: ReflectionEventing.DependencyInjection + children: + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.#ctor(Microsoft.Extensions.DependencyInjection.IServiceCollection) + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type) + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + langs: + - csharp + - vb + name: DependencyInjectionEventBusBuilder + nameWithType: DependencyInjectionEventBusBuilder + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + type: Class + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: DependencyInjectionEventBusBuilder + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + startLine: 11 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Represents a builder for configuring the event bus with .NET Core's built-in dependency injection. + example: [] + syntax: + content: 'public class DependencyInjectionEventBusBuilder : EventBusBuilder' + content.vb: Public Class DependencyInjectionEventBusBuilder Inherits EventBusBuilder + inheritance: + - System.Object + - ReflectionEventing.EventBusBuilder + inheritedMembers: + - ReflectionEventing.EventBusBuilder.Options + - ReflectionEventing.EventBusBuilder.BuildTypesProvider + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone + extensionMethods: + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(Microsoft.Extensions.DependencyInjection.ServiceLifetime) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(System.Type) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1 + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(System.Type) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1 + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(System.Type) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1 + - ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(System.Reflection.Assembly[]) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1 +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.#ctor(Microsoft.Extensions.DependencyInjection.IServiceCollection) + commentId: M:ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.#ctor(Microsoft.Extensions.DependencyInjection.IServiceCollection) + id: '#ctor(Microsoft.Extensions.DependencyInjection.IServiceCollection)' + parent: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + langs: + - csharp + - vb + name: DependencyInjectionEventBusBuilder(IServiceCollection) + nameWithType: DependencyInjectionEventBusBuilder.DependencyInjectionEventBusBuilder(IServiceCollection) + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.DependencyInjectionEventBusBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection) + type: Constructor + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + startLine: 11 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Represents a builder for configuring the event bus with .NET Core's built-in dependency injection. + example: [] + syntax: + content: public DependencyInjectionEventBusBuilder(IServiceCollection services) + parameters: + - id: services + type: Microsoft.Extensions.DependencyInjection.IServiceCollection + content.vb: Public Sub New(services As IServiceCollection) + overload: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.#ctor* + nameWithType.vb: DependencyInjectionEventBusBuilder.New(IServiceCollection) + fullName.vb: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.New(Microsoft.Extensions.DependencyInjection.IServiceCollection) + name.vb: New(IServiceCollection) +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + commentId: M:ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + id: AddConsumer(System.Type,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + parent: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + langs: + - csharp + - vb + name: AddConsumer(Type, ServiceLifetime) + nameWithType: DependencyInjectionEventBusBuilder.AddConsumer(Type, ServiceLifetime) + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddConsumer + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + startLine: 22 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus and with a specified service lifetime. + example: [] + syntax: + content: public virtual EventBusBuilder AddConsumer(Type consumerType, ServiceLifetime lifetime) + parameters: + - id: consumerType + type: System.Type + description: The type of the consumer to add. + - id: lifetime + type: Microsoft.Extensions.DependencyInjection.ServiceLifetime + description: The service lifetime of the consumer. + return: + type: ReflectionEventing.EventBusBuilder + description: The current instance of . + content.vb: Public Overridable Function AddConsumer(consumerType As Type, lifetime As ServiceLifetime) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer* + exceptions: + - type: System.InvalidOperationException + commentId: T:System.InvalidOperationException + description: Thrown if the consumer is already registered with a different lifetime or if the consumer is not registered in the service collection. +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type) + id: AddConsumer(System.Type) + parent: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + langs: + - csharp + - vb + name: AddConsumer(Type) + nameWithType: DependencyInjectionEventBusBuilder.AddConsumer(Type) + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer(System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddConsumer + path: ../src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBusBuilder.cs + startLine: 50 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the builder. + remarks: >- + This method checks if the consumer is registered in the service collection and if it is not transient. + + It then gets the interfaces of the consumer that are generic and have a generic type definition of . + + For each of these interfaces, it gets the generic argument and adds it to the classConsumers dictionary. + example: [] + syntax: + content: public override EventBusBuilder AddConsumer(Type consumerType) + parameters: + - id: consumerType + type: System.Type + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + content.vb: Public Overrides Function AddConsumer(consumerType As Type) As EventBusBuilder + overridden: ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + overload: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer* +references: +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilder.html + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder +- uid: ReflectionEventing.EventBusBuilder.Options + commentId: P:ReflectionEventing.EventBusBuilder.Options + parent: ReflectionEventing.EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_Options + name: Options + nameWithType: EventBusBuilder.Options + fullName: ReflectionEventing.EventBusBuilder.Options +- uid: ReflectionEventing.EventBusBuilder.BuildTypesProvider + commentId: M:ReflectionEventing.EventBusBuilder.BuildTypesProvider + parent: ReflectionEventing.EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_BuildTypesProvider + name: BuildTypesProvider() + nameWithType: EventBusBuilder.BuildTypesProvider() + fullName: ReflectionEventing.EventBusBuilder.BuildTypesProvider() + spec.csharp: + - uid: ReflectionEventing.EventBusBuilder.BuildTypesProvider + name: BuildTypesProvider + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_BuildTypesProvider + - name: ( + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilder.BuildTypesProvider + name: BuildTypesProvider + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_BuildTypesProvider + - name: ( + - name: ) +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(Microsoft.Extensions.DependencyInjection.ServiceLifetime) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + name: AddConsumer(EventBusBuilder, ServiceLifetime) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder, ServiceLifetime) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddScopedConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1 + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddScopedConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddScopedConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddSingletonConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1 + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddSingletonConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddTransientConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1 + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddTransientConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddTransientConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(System.Reflection.Assembly[]) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + parent: ReflectionEventing.EventBusBuilderExtensions + definition: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + name: AddAllConsumers(EventBusBuilder, params Assembly[]) + nameWithType: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, params Assembly[]) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, params System.Reflection.Assembly[]) + nameWithType.vb: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, ParamArray System.Reflection.Assembly()) + name.vb: AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: params + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: '[' + - name: ']' + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: ParamArray + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: ( + - name: ) + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1 + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.EventBusBuilderExtensions + definition: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + name: AddConsumer(EventBusBuilder, ServiceLifetime) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder, ServiceLifetime) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + commentId: T:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + parent: ReflectionEventing.DependencyInjection + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddScopedConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddScopedConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddScopedConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddSingletonConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddSingletonConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddTransientConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddTransientConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddTransientConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + isExternal: true + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + name: AddAllConsumers(EventBusBuilder, params Assembly[]) + nameWithType: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, params Assembly[]) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, params System.Reflection.Assembly[]) + nameWithType.vb: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, ParamArray System.Reflection.Assembly()) + name.vb: AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: params + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: '[' + - name: ']' + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: ParamArray + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: ( + - name: ) + - name: ) +- uid: ReflectionEventing.EventBusBuilderExtensions + commentId: T:ReflectionEventing.EventBusBuilderExtensions + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilderExtensions.html + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.EventBusBuilderExtensions +- uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.#ctor* + commentId: Overload:ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.#ctor + href: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.html#ReflectionEventing_DependencyInjection_DependencyInjectionEventBusBuilder__ctor_Microsoft_Extensions_DependencyInjection_IServiceCollection_ + name: DependencyInjectionEventBusBuilder + nameWithType: DependencyInjectionEventBusBuilder.DependencyInjectionEventBusBuilder + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.DependencyInjectionEventBusBuilder + nameWithType.vb: DependencyInjectionEventBusBuilder.New + fullName.vb: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.New + name.vb: New +- uid: Microsoft.Extensions.DependencyInjection.IServiceCollection + commentId: T:Microsoft.Extensions.DependencyInjection.IServiceCollection + parent: Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.iservicecollection + name: IServiceCollection + nameWithType: IServiceCollection + fullName: Microsoft.Extensions.DependencyInjection.IServiceCollection +- uid: Microsoft.Extensions.DependencyInjection + commentId: N:Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + name: Microsoft.Extensions.DependencyInjection + nameWithType: Microsoft.Extensions.DependencyInjection + fullName: Microsoft.Extensions.DependencyInjection + spec.csharp: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection + spec.vb: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection +- uid: System.InvalidOperationException + commentId: T:System.InvalidOperationException + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.invalidoperationexception + name: InvalidOperationException + nameWithType: InvalidOperationException + fullName: System.InvalidOperationException +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer* + commentId: Overload:ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer + href: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.html#ReflectionEventing_DependencyInjection_DependencyInjectionEventBusBuilder_AddConsumer_System_Type_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + name: AddConsumer + nameWithType: DependencyInjectionEventBusBuilder.AddConsumer + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.AddConsumer +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + commentId: T:Microsoft.Extensions.DependencyInjection.ServiceLifetime + parent: Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + name: ServiceLifetime + nameWithType: ServiceLifetime + fullName: Microsoft.Extensions.DependencyInjection.ServiceLifetime +- uid: ReflectionEventing.IConsumer`1 + commentId: T:ReflectionEventing.IConsumer`1 + href: ReflectionEventing.IConsumer-1.html + name: IConsumer + nameWithType: IConsumer + fullName: ReflectionEventing.IConsumer + nameWithType.vb: IConsumer(Of TEvent) + fullName.vb: ReflectionEventing.IConsumer(Of TEvent) + name.vb: IConsumer(Of TEvent) + spec.csharp: + - uid: ReflectionEventing.IConsumer`1 + name: IConsumer + href: ReflectionEventing.IConsumer-1.html + - name: < + - name: TEvent + - name: '>' + spec.vb: + - uid: ReflectionEventing.IConsumer`1 + name: IConsumer + href: ReflectionEventing.IConsumer-1.html + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + commentId: M:ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + parent: ReflectionEventing.EventBusBuilder + isExternal: true + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_AddConsumer_System_Type_ + name: AddConsumer(Type) + nameWithType: EventBusBuilder.AddConsumer(Type) + fullName: ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + name: AddConsumer + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_AddConsumer_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + name: AddConsumer + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_AddConsumer_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) diff --git a/docs/api/ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml b/docs/api/ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml new file mode 100644 index 0000000..6371ba0 --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.yml @@ -0,0 +1,691 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + commentId: T:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + id: EventBusBuilderExtensions + parent: ReflectionEventing.DependencyInjection + children: + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + langs: + - csharp + - vb + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + type: Class + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventBusBuilderExtensions + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 7 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + syntax: + content: public static class EventBusBuilderExtensions + content.vb: Public Module EventBusBuilderExtensions + inheritance: + - System.Object + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + id: AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddTransientConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder, System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddTransientConsumer + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 15 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus builder and . + example: [] + syntax: + content: public static EventBusBuilder AddTransientConsumer(this EventBusBuilder builder, Type consumerType) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + - id: consumerType + type: System.Type + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddTransientConsumer(builder As EventBusBuilder, consumerType As Type) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer* +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + id: AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddTransientConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddTransientConsumer + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 42 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus builder and . + example: [] + syntax: + content: public static EventBusBuilder AddTransientConsumer(this EventBusBuilder builder) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + typeParameters: + - id: TConsumer + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddTransientConsumer(Of TConsumer)(builder As EventBusBuilder) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer* + nameWithType.vb: EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddTransientConsumer(Of TConsumer)(EventBusBuilder) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + id: AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddScopedConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder, System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddScopedConsumer + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 68 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus builder and . + example: [] + syntax: + content: public static EventBusBuilder AddScopedConsumer(this EventBusBuilder builder, Type consumerType) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + - id: consumerType + type: System.Type + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddScopedConsumer(builder As EventBusBuilder, consumerType As Type) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer* +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + id: AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddScopedConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddScopedConsumer + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 92 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus builder and . + example: [] + syntax: + content: public static EventBusBuilder AddScopedConsumer(this EventBusBuilder builder) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + typeParameters: + - id: TConsumer + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddScopedConsumer(Of TConsumer)(builder As EventBusBuilder) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer* + nameWithType.vb: EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddScopedConsumer(Of TConsumer)(EventBusBuilder) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + id: AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddSingletonConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder, System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddSingletonConsumer + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 118 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus builder and . + example: [] + syntax: + content: public static EventBusBuilder AddSingletonConsumer(this EventBusBuilder builder, Type consumerType) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + - id: consumerType + type: System.Type + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddSingletonConsumer(builder As EventBusBuilder, consumerType As Type) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer* +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + id: AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddSingletonConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddSingletonConsumer + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 145 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus builder and . + example: [] + syntax: + content: public static EventBusBuilder AddSingletonConsumer(this EventBusBuilder builder) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + typeParameters: + - id: TConsumer + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddSingletonConsumer(Of TConsumer)(builder As EventBusBuilder) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer* + nameWithType.vb: EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddSingletonConsumer(Of TConsumer)(EventBusBuilder) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + id: AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddConsumer(EventBusBuilder, ServiceLifetime) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder, ServiceLifetime) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddConsumer + path: ../src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs + startLine: 172 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds a consumer to the event bus builder and . + example: [] + syntax: + content: public static EventBusBuilder AddConsumer(this EventBusBuilder builder, ServiceLifetime lifetime) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + - id: lifetime + type: Microsoft.Extensions.DependencyInjection.ServiceLifetime + description: The service lifetime of the consumer. + typeParameters: + - id: TConsumer + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddConsumer(Of TConsumer)(builder As EventBusBuilder, lifetime As ServiceLifetime) As EventBusBuilder + overload: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer* + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) +references: +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: Microsoft.Extensions.DependencyInjection.IServiceCollection + commentId: T:Microsoft.Extensions.DependencyInjection.IServiceCollection + parent: Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.iservicecollection + name: IServiceCollection + nameWithType: IServiceCollection + fullName: Microsoft.Extensions.DependencyInjection.IServiceCollection +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer* + commentId: Overload:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddTransientConsumer + nameWithType: EventBusBuilderExtensions.AddTransientConsumer + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilder.html + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: Microsoft.Extensions.DependencyInjection + commentId: N:Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + name: Microsoft.Extensions.DependencyInjection + nameWithType: Microsoft.Extensions.DependencyInjection + fullName: Microsoft.Extensions.DependencyInjection + spec.csharp: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection + spec.vb: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer* + commentId: Overload:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddScopedConsumer + nameWithType: EventBusBuilderExtensions.AddScopedConsumer + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer* + commentId: Overload:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddSingletonConsumer + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer* + commentId: Overload:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + name: AddConsumer + nameWithType: EventBusBuilderExtensions.AddConsumer + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer +- uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + commentId: T:Microsoft.Extensions.DependencyInjection.ServiceLifetime + parent: Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + name: ServiceLifetime + nameWithType: ServiceLifetime + fullName: Microsoft.Extensions.DependencyInjection.ServiceLifetime diff --git a/docs/api/ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.yml b/docs/api/ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.yml new file mode 100644 index 0000000..b592b0e --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.yml @@ -0,0 +1,499 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + commentId: T:ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + id: ServiceCollectionExtensions + parent: ReflectionEventing.DependencyInjection + children: + - ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{ReflectionEventing.EventBusBuilder}) + langs: + - csharp + - vb + name: ServiceCollectionExtensions + nameWithType: ServiceCollectionExtensions + fullName: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + type: Class + source: + remote: + path: src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ServiceCollectionExtensions + path: ../src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs + startLine: 14 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Provides extension methods for the interface. + example: [] + syntax: + content: public static class ServiceCollectionExtensions + content.vb: Public Module ServiceCollectionExtensions + inheritance: + - System.Object + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{ReflectionEventing.EventBusBuilder}) + commentId: M:ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{ReflectionEventing.EventBusBuilder}) + id: AddEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{ReflectionEventing.EventBusBuilder}) + isExtensionMethod: true + parent: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + langs: + - csharp + - vb + name: AddEventBus(IServiceCollection, Action) + nameWithType: ServiceCollectionExtensions.AddEventBus(IServiceCollection, Action) + fullName: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection, System.Action) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddEventBus + path: ../src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs + startLine: 66 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection + summary: Adds the event bus and its related services to the specified services collection. + remarks: >- + This method adds a singleton service of type that uses a with the consumers from the event bus builder. + + It also adds a scoped service of type that uses the class. + example: [] + syntax: + content: public static IServiceCollection AddEventBus(this IServiceCollection services, Action configure) + parameters: + - id: services + type: Microsoft.Extensions.DependencyInjection.IServiceCollection + description: The to add the event bus to. + - id: configure + type: System.Action{ReflectionEventing.EventBusBuilder} + description: A delegate that configures the . + return: + type: Microsoft.Extensions.DependencyInjection.IServiceCollection + description: The same service collection so that multiple calls can be chained. + content.vb: Public Shared Function AddEventBus(services As IServiceCollection, configure As Action(Of EventBusBuilder)) As IServiceCollection + overload: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus* + nameWithType.vb: ServiceCollectionExtensions.AddEventBus(IServiceCollection, Action(Of EventBusBuilder)) + fullName.vb: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection, System.Action(Of ReflectionEventing.EventBusBuilder)) + name.vb: AddEventBus(IServiceCollection, Action(Of EventBusBuilder)) +references: +- uid: Microsoft.Extensions.DependencyInjection.IServiceCollection + commentId: T:Microsoft.Extensions.DependencyInjection.IServiceCollection + parent: Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.iservicecollection + name: IServiceCollection + nameWithType: IServiceCollection + fullName: Microsoft.Extensions.DependencyInjection.IServiceCollection +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: Microsoft.Extensions.DependencyInjection + commentId: N:Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + name: Microsoft.Extensions.DependencyInjection + nameWithType: Microsoft.Extensions.DependencyInjection + fullName: Microsoft.Extensions.DependencyInjection + spec.csharp: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection + spec.vb: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilder.html + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: ReflectionEventing.HashedConsumerTypesProvider + commentId: T:ReflectionEventing.HashedConsumerTypesProvider + href: ReflectionEventing.HashedConsumerTypesProvider.html + name: HashedConsumerTypesProvider + nameWithType: HashedConsumerTypesProvider + fullName: ReflectionEventing.HashedConsumerTypesProvider +- uid: ReflectionEventing.IEventBus + commentId: T:ReflectionEventing.IEventBus + parent: ReflectionEventing + href: ReflectionEventing.IEventBus.html + name: IEventBus + nameWithType: IEventBus + fullName: ReflectionEventing.IEventBus +- uid: ReflectionEventing.EventBus + commentId: T:ReflectionEventing.EventBus + parent: ReflectionEventing + href: ReflectionEventing.EventBus.html + name: EventBus + nameWithType: EventBus + fullName: ReflectionEventing.EventBus +- uid: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus* + commentId: Overload:ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus + href: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.html#ReflectionEventing_DependencyInjection_ServiceCollectionExtensions_AddEventBus_Microsoft_Extensions_DependencyInjection_IServiceCollection_System_Action_ReflectionEventing_EventBusBuilder__ + name: AddEventBus + nameWithType: ServiceCollectionExtensions.AddEventBus + fullName: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.AddEventBus +- uid: System.Action{ReflectionEventing.EventBusBuilder} + commentId: T:System.Action{ReflectionEventing.EventBusBuilder} + parent: System + definition: System.Action`1 + href: https://learn.microsoft.com/dotnet/api/system.action-1 + name: Action + nameWithType: Action + fullName: System.Action + nameWithType.vb: Action(Of EventBusBuilder) + fullName.vb: System.Action(Of ReflectionEventing.EventBusBuilder) + name.vb: Action(Of EventBusBuilder) + spec.csharp: + - uid: System.Action`1 + name: Action + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.action-1 + - name: < + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: '>' + spec.vb: + - uid: System.Action`1 + name: Action + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.action-1 + - name: ( + - name: Of + - name: " " + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Action`1 + commentId: T:System.Action`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.action-1 + name: Action + nameWithType: Action + fullName: System.Action + nameWithType.vb: Action(Of T) + fullName.vb: System.Action(Of T) + name.vb: Action(Of T) + spec.csharp: + - uid: System.Action`1 + name: Action + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.action-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Action`1 + name: Action + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.action-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) diff --git a/docs/api/ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml b/docs/api/ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml new file mode 100644 index 0000000..9916adf --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.yml @@ -0,0 +1,973 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + commentId: T:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + id: DependencyInjectionQueueProcessor + parent: ReflectionEventing.DependencyInjection.Services + children: + - ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.#ctor(ReflectionEventing.Queues.IEventsQueue,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor}) + - ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing(System.Threading.CancellationToken) + - ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync(System.Threading.CancellationToken) + - ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync(System.Threading.CancellationToken) + langs: + - csharp + - vb + name: DependencyInjectionQueueProcessor + nameWithType: DependencyInjectionQueueProcessor + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + type: Class + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: DependencyInjectionQueueProcessor + path: ../src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Services + syntax: + content: 'public class DependencyInjectionQueueProcessor : BackgroundService, IHostedService, IDisposable' + content.vb: Public Class DependencyInjectionQueueProcessor Inherits BackgroundService Implements IHostedService, IDisposable + inheritance: + - System.Object + - Microsoft.Extensions.Hosting.BackgroundService + implements: + - Microsoft.Extensions.Hosting.IHostedService + - System.IDisposable + inheritedMembers: + - Microsoft.Extensions.Hosting.BackgroundService.StartAsync(System.Threading.CancellationToken) + - Microsoft.Extensions.Hosting.BackgroundService.StopAsync(System.Threading.CancellationToken) + - Microsoft.Extensions.Hosting.BackgroundService.Dispose + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.#ctor(ReflectionEventing.Queues.IEventsQueue,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor}) + commentId: M:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.#ctor(ReflectionEventing.Queues.IEventsQueue,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor}) + id: '#ctor(ReflectionEventing.Queues.IEventsQueue,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider,Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor})' + parent: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + langs: + - csharp + - vb + name: DependencyInjectionQueueProcessor(IEventsQueue, IServiceScopeFactory, QueueProcessorOptionsProvider, ILogger) + nameWithType: DependencyInjectionQueueProcessor.DependencyInjectionQueueProcessor(IEventsQueue, IServiceScopeFactory, QueueProcessorOptionsProvider, ILogger) + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.DependencyInjectionQueueProcessor(ReflectionEventing.Queues.IEventsQueue, Microsoft.Extensions.DependencyInjection.IServiceScopeFactory, ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider, Microsoft.Extensions.Logging.ILogger) + type: Constructor + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + startLine: 10 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Services + syntax: + content: public DependencyInjectionQueueProcessor(IEventsQueue queue, IServiceScopeFactory scopeFactory, QueueProcessorOptionsProvider options, ILogger logger) + parameters: + - id: queue + type: ReflectionEventing.Queues.IEventsQueue + - id: scopeFactory + type: Microsoft.Extensions.DependencyInjection.IServiceScopeFactory + - id: options + type: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + - id: logger + type: Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor} + content.vb: Public Sub New(queue As IEventsQueue, scopeFactory As IServiceScopeFactory, options As QueueProcessorOptionsProvider, logger As ILogger(Of DependencyInjectionQueueProcessor)) + overload: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.#ctor* + nameWithType.vb: DependencyInjectionQueueProcessor.New(IEventsQueue, IServiceScopeFactory, QueueProcessorOptionsProvider, ILogger(Of DependencyInjectionQueueProcessor)) + fullName.vb: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.New(ReflectionEventing.Queues.IEventsQueue, Microsoft.Extensions.DependencyInjection.IServiceScopeFactory, ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider, Microsoft.Extensions.Logging.ILogger(Of ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor)) + name.vb: New(IEventsQueue, IServiceScopeFactory, QueueProcessorOptionsProvider, ILogger(Of DependencyInjectionQueueProcessor)) +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync(System.Threading.CancellationToken) + commentId: M:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync(System.Threading.CancellationToken) + id: ExecuteAsync(System.Threading.CancellationToken) + parent: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + langs: + - csharp + - vb + name: ExecuteAsync(CancellationToken) + nameWithType: DependencyInjectionQueueProcessor.ExecuteAsync(CancellationToken) + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync(System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ExecuteAsync + path: ../src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + startLine: 33 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Services + summary: >- + This method is called when the starts. The implementation should return a task that represents + + the lifetime of the long running operation(s) being performed. + example: [] + syntax: + content: protected override Task ExecuteAsync(CancellationToken cancellationToken) + parameters: + - id: cancellationToken + type: System.Threading.CancellationToken + return: + type: System.Threading.Tasks.Task + description: A that represents the long running operations. + content.vb: Protected Overrides Function ExecuteAsync(cancellationToken As CancellationToken) As Task + overridden: Microsoft.Extensions.Hosting.BackgroundService.ExecuteAsync(System.Threading.CancellationToken) + overload: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync* +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing(System.Threading.CancellationToken) + commentId: M:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing(System.Threading.CancellationToken) + id: BackgroundProcessing(System.Threading.CancellationToken) + parent: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + langs: + - csharp + - vb + name: BackgroundProcessing(CancellationToken) + nameWithType: DependencyInjectionQueueProcessor.BackgroundProcessing(CancellationToken) + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing(System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: BackgroundProcessing + path: ../src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + startLine: 38 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Services + syntax: + content: protected virtual Task BackgroundProcessing(CancellationToken cancellationToken) + parameters: + - id: cancellationToken + type: System.Threading.CancellationToken + return: + type: System.Threading.Tasks.Task + content.vb: Protected Overridable Function BackgroundProcessing(cancellationToken As CancellationToken) As Task + overload: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing* +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync(System.Threading.CancellationToken) + commentId: M:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync(System.Threading.CancellationToken) + id: ProcessQueueAsync(System.Threading.CancellationToken) + parent: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + langs: + - csharp + - vb + name: ProcessQueueAsync(CancellationToken) + nameWithType: DependencyInjectionQueueProcessor.ProcessQueueAsync(CancellationToken) + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync(System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ProcessQueueAsync + path: ../src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs + startLine: 57 + assemblies: + - ReflectionEventing.DependencyInjection + namespace: ReflectionEventing.DependencyInjection.Services + syntax: + content: protected virtual Task ProcessQueueAsync(CancellationToken cancellationToken) + parameters: + - id: cancellationToken + type: System.Threading.CancellationToken + return: + type: System.Threading.Tasks.Task + content.vb: Protected Overridable Function ProcessQueueAsync(cancellationToken As CancellationToken) As Task + overload: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync* +references: +- uid: ReflectionEventing.DependencyInjection.Services + commentId: N:ReflectionEventing.DependencyInjection.Services + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection.Services + nameWithType: ReflectionEventing.DependencyInjection.Services + fullName: ReflectionEventing.DependencyInjection.Services + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Services + name: Services + href: ReflectionEventing.DependencyInjection.Services.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Services + name: Services + href: ReflectionEventing.DependencyInjection.Services.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: Microsoft.Extensions.Hosting.BackgroundService + commentId: T:Microsoft.Extensions.Hosting.BackgroundService + parent: Microsoft.Extensions.Hosting + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice + name: BackgroundService + nameWithType: BackgroundService + fullName: Microsoft.Extensions.Hosting.BackgroundService +- uid: Microsoft.Extensions.Hosting.IHostedService + commentId: T:Microsoft.Extensions.Hosting.IHostedService + parent: Microsoft.Extensions.Hosting + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.ihostedservice + name: IHostedService + nameWithType: IHostedService + fullName: Microsoft.Extensions.Hosting.IHostedService +- uid: System.IDisposable + commentId: T:System.IDisposable + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.idisposable + name: IDisposable + nameWithType: IDisposable + fullName: System.IDisposable +- uid: Microsoft.Extensions.Hosting.BackgroundService.StartAsync(System.Threading.CancellationToken) + commentId: M:Microsoft.Extensions.Hosting.BackgroundService.StartAsync(System.Threading.CancellationToken) + parent: Microsoft.Extensions.Hosting.BackgroundService + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.startasync + name: StartAsync(CancellationToken) + nameWithType: BackgroundService.StartAsync(CancellationToken) + fullName: Microsoft.Extensions.Hosting.BackgroundService.StartAsync(System.Threading.CancellationToken) + spec.csharp: + - uid: Microsoft.Extensions.Hosting.BackgroundService.StartAsync(System.Threading.CancellationToken) + name: StartAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.startasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: Microsoft.Extensions.Hosting.BackgroundService.StartAsync(System.Threading.CancellationToken) + name: StartAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.startasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: Microsoft.Extensions.Hosting.BackgroundService.StopAsync(System.Threading.CancellationToken) + commentId: M:Microsoft.Extensions.Hosting.BackgroundService.StopAsync(System.Threading.CancellationToken) + parent: Microsoft.Extensions.Hosting.BackgroundService + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.stopasync + name: StopAsync(CancellationToken) + nameWithType: BackgroundService.StopAsync(CancellationToken) + fullName: Microsoft.Extensions.Hosting.BackgroundService.StopAsync(System.Threading.CancellationToken) + spec.csharp: + - uid: Microsoft.Extensions.Hosting.BackgroundService.StopAsync(System.Threading.CancellationToken) + name: StopAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.stopasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: Microsoft.Extensions.Hosting.BackgroundService.StopAsync(System.Threading.CancellationToken) + name: StopAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.stopasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: Microsoft.Extensions.Hosting.BackgroundService.Dispose + commentId: M:Microsoft.Extensions.Hosting.BackgroundService.Dispose + parent: Microsoft.Extensions.Hosting.BackgroundService + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.dispose + name: Dispose() + nameWithType: BackgroundService.Dispose() + fullName: Microsoft.Extensions.Hosting.BackgroundService.Dispose() + spec.csharp: + - uid: Microsoft.Extensions.Hosting.BackgroundService.Dispose + name: Dispose + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.dispose + - name: ( + - name: ) + spec.vb: + - uid: Microsoft.Extensions.Hosting.BackgroundService.Dispose + name: Dispose + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.dispose + - name: ( + - name: ) +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: Microsoft.Extensions.Hosting + commentId: N:Microsoft.Extensions.Hosting + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + name: Microsoft.Extensions.Hosting + nameWithType: Microsoft.Extensions.Hosting + fullName: Microsoft.Extensions.Hosting + spec.csharp: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.Hosting + name: Hosting + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting + spec.vb: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.Hosting + name: Hosting + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.#ctor* + commentId: Overload:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.#ctor + href: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.html#ReflectionEventing_DependencyInjection_Services_DependencyInjectionQueueProcessor__ctor_ReflectionEventing_Queues_IEventsQueue_Microsoft_Extensions_DependencyInjection_IServiceScopeFactory_ReflectionEventing_DependencyInjection_Configuration_QueueProcessorOptionsProvider_Microsoft_Extensions_Logging_ILogger_ReflectionEventing_DependencyInjection_Services_DependencyInjectionQueueProcessor__ + name: DependencyInjectionQueueProcessor + nameWithType: DependencyInjectionQueueProcessor.DependencyInjectionQueueProcessor + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.DependencyInjectionQueueProcessor + nameWithType.vb: DependencyInjectionQueueProcessor.New + fullName.vb: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.New + name.vb: New +- uid: ReflectionEventing.Queues.IEventsQueue + commentId: T:ReflectionEventing.Queues.IEventsQueue + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.IEventsQueue.html + name: IEventsQueue + nameWithType: IEventsQueue + fullName: ReflectionEventing.Queues.IEventsQueue +- uid: Microsoft.Extensions.DependencyInjection.IServiceScopeFactory + commentId: T:Microsoft.Extensions.DependencyInjection.IServiceScopeFactory + parent: Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.iservicescopefactory + name: IServiceScopeFactory + nameWithType: IServiceScopeFactory + fullName: Microsoft.Extensions.DependencyInjection.IServiceScopeFactory +- uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + commentId: T:ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + parent: ReflectionEventing.DependencyInjection.Configuration + href: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider.html + name: QueueProcessorOptionsProvider + nameWithType: QueueProcessorOptionsProvider + fullName: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider +- uid: Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor} + commentId: T:Microsoft.Extensions.Logging.ILogger{ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor} + parent: Microsoft.Extensions.Logging + definition: Microsoft.Extensions.Logging.ILogger`1 + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1 + name: ILogger + nameWithType: ILogger + fullName: Microsoft.Extensions.Logging.ILogger + nameWithType.vb: ILogger(Of DependencyInjectionQueueProcessor) + fullName.vb: Microsoft.Extensions.Logging.ILogger(Of ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor) + name.vb: ILogger(Of DependencyInjectionQueueProcessor) + spec.csharp: + - uid: Microsoft.Extensions.Logging.ILogger`1 + name: ILogger + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1 + - name: < + - uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + name: DependencyInjectionQueueProcessor + href: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.html + - name: '>' + spec.vb: + - uid: Microsoft.Extensions.Logging.ILogger`1 + name: ILogger + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1 + - name: ( + - name: Of + - name: " " + - uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + name: DependencyInjectionQueueProcessor + href: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.html + - name: ) +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html +- uid: Microsoft.Extensions.DependencyInjection + commentId: N:Microsoft.Extensions.DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + name: Microsoft.Extensions.DependencyInjection + nameWithType: Microsoft.Extensions.DependencyInjection + fullName: Microsoft.Extensions.DependencyInjection + spec.csharp: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection + spec.vb: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.DependencyInjection + name: DependencyInjection + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection +- uid: ReflectionEventing.DependencyInjection.Configuration + commentId: N:ReflectionEventing.DependencyInjection.Configuration + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection.Configuration + nameWithType: ReflectionEventing.DependencyInjection.Configuration + fullName: ReflectionEventing.DependencyInjection.Configuration + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + - name: . + - uid: ReflectionEventing.DependencyInjection.Configuration + name: Configuration + href: ReflectionEventing.DependencyInjection.Configuration.html +- uid: Microsoft.Extensions.Logging.ILogger`1 + commentId: T:Microsoft.Extensions.Logging.ILogger`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1 + name: ILogger + nameWithType: ILogger + fullName: Microsoft.Extensions.Logging.ILogger + nameWithType.vb: ILogger(Of TCategoryName) + fullName.vb: Microsoft.Extensions.Logging.ILogger(Of TCategoryName) + name.vb: ILogger(Of TCategoryName) + spec.csharp: + - uid: Microsoft.Extensions.Logging.ILogger`1 + name: ILogger + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1 + - name: < + - name: TCategoryName + - name: '>' + spec.vb: + - uid: Microsoft.Extensions.Logging.ILogger`1 + name: ILogger + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1 + - name: ( + - name: Of + - name: " " + - name: TCategoryName + - name: ) +- uid: Microsoft.Extensions.Logging + commentId: N:Microsoft.Extensions.Logging + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + name: Microsoft.Extensions.Logging + nameWithType: Microsoft.Extensions.Logging + fullName: Microsoft.Extensions.Logging + spec.csharp: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.Logging + name: Logging + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging + spec.vb: + - uid: Microsoft + name: Microsoft + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft + - name: . + - uid: Microsoft.Extensions + name: Extensions + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions + - name: . + - uid: Microsoft.Extensions.Logging + name: Logging + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging +- uid: Microsoft.Extensions.Hosting.IHostedService.StopAsync(System.Threading.CancellationToken) + commentId: M:Microsoft.Extensions.Hosting.IHostedService.StopAsync(System.Threading.CancellationToken) + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.ihostedservice.stopasync + name: StopAsync(CancellationToken) + nameWithType: IHostedService.StopAsync(CancellationToken) + fullName: Microsoft.Extensions.Hosting.IHostedService.StopAsync(System.Threading.CancellationToken) + spec.csharp: + - uid: Microsoft.Extensions.Hosting.IHostedService.StopAsync(System.Threading.CancellationToken) + name: StopAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.ihostedservice.stopasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: Microsoft.Extensions.Hosting.IHostedService.StopAsync(System.Threading.CancellationToken) + name: StopAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.ihostedservice.stopasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: System.Threading.Tasks.Task + commentId: T:System.Threading.Tasks.Task + parent: System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks.task + name: Task + nameWithType: Task + fullName: System.Threading.Tasks.Task +- uid: Microsoft.Extensions.Hosting.BackgroundService.ExecuteAsync(System.Threading.CancellationToken) + commentId: M:Microsoft.Extensions.Hosting.BackgroundService.ExecuteAsync(System.Threading.CancellationToken) + parent: Microsoft.Extensions.Hosting.BackgroundService + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.executeasync + name: ExecuteAsync(CancellationToken) + nameWithType: BackgroundService.ExecuteAsync(CancellationToken) + fullName: Microsoft.Extensions.Hosting.BackgroundService.ExecuteAsync(System.Threading.CancellationToken) + spec.csharp: + - uid: Microsoft.Extensions.Hosting.BackgroundService.ExecuteAsync(System.Threading.CancellationToken) + name: ExecuteAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.executeasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: Microsoft.Extensions.Hosting.BackgroundService.ExecuteAsync(System.Threading.CancellationToken) + name: ExecuteAsync + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.backgroundservice.executeasync + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync* + commentId: Overload:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync + href: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.html#ReflectionEventing_DependencyInjection_Services_DependencyInjectionQueueProcessor_ExecuteAsync_System_Threading_CancellationToken_ + name: ExecuteAsync + nameWithType: DependencyInjectionQueueProcessor.ExecuteAsync + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ExecuteAsync +- uid: System.Threading.CancellationToken + commentId: T:System.Threading.CancellationToken + parent: System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + name: CancellationToken + nameWithType: CancellationToken + fullName: System.Threading.CancellationToken +- uid: System.Threading.Tasks + commentId: N:System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading.Tasks + nameWithType: System.Threading.Tasks + fullName: System.Threading.Tasks + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks +- uid: System.Threading + commentId: N:System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading + nameWithType: System.Threading + fullName: System.Threading + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing* + commentId: Overload:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing + href: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.html#ReflectionEventing_DependencyInjection_Services_DependencyInjectionQueueProcessor_BackgroundProcessing_System_Threading_CancellationToken_ + name: BackgroundProcessing + nameWithType: DependencyInjectionQueueProcessor.BackgroundProcessing + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.BackgroundProcessing +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync* + commentId: Overload:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync + href: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.html#ReflectionEventing_DependencyInjection_Services_DependencyInjectionQueueProcessor_ProcessQueueAsync_System_Threading_CancellationToken_ + name: ProcessQueueAsync + nameWithType: DependencyInjectionQueueProcessor.ProcessQueueAsync + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.ProcessQueueAsync diff --git a/docs/api/ReflectionEventing.DependencyInjection.Services.yml b/docs/api/ReflectionEventing.DependencyInjection.Services.yml new file mode 100644 index 0000000..86f44cf --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.Services.yml @@ -0,0 +1,23 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection.Services + commentId: N:ReflectionEventing.DependencyInjection.Services + id: ReflectionEventing.DependencyInjection.Services + children: + - ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + langs: + - csharp + - vb + name: ReflectionEventing.DependencyInjection.Services + nameWithType: ReflectionEventing.DependencyInjection.Services + fullName: ReflectionEventing.DependencyInjection.Services + type: Namespace + assemblies: + - ReflectionEventing.DependencyInjection +references: +- uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + commentId: T:ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + href: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor.html + name: DependencyInjectionQueueProcessor + nameWithType: DependencyInjectionQueueProcessor + fullName: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor diff --git a/docs/api/ReflectionEventing.DependencyInjection.yml b/docs/api/ReflectionEventing.DependencyInjection.yml new file mode 100644 index 0000000..1ceb8d8 --- /dev/null +++ b/docs/api/ReflectionEventing.DependencyInjection.yml @@ -0,0 +1,74 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + id: ReflectionEventing.DependencyInjection + children: + - ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + - ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + - ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + langs: + - csharp + - vb + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + type: Namespace + assemblies: + - ReflectionEventing.DependencyInjection +references: +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + commentId: T:ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + href: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider.html + name: DependencyInjectionConsumerProvider + nameWithType: DependencyInjectionConsumerProvider + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + commentId: T:ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + href: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus.html + name: DependencyInjectionEventBus + nameWithType: DependencyInjectionEventBus + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus +- uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + commentId: T:ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + href: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder.html + name: DependencyInjectionEventBusBuilder + nameWithType: DependencyInjectionEventBusBuilder + fullName: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + commentId: T:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + parent: ReflectionEventing.DependencyInjection + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions +- uid: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + commentId: T:ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + href: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions.html + name: ServiceCollectionExtensions + nameWithType: ServiceCollectionExtensions + fullName: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html diff --git a/docs/api/ReflectionEventing.EventBus.yml b/docs/api/ReflectionEventing.EventBus.yml new file mode 100644 index 0000000..9fe9e60 --- /dev/null +++ b/docs/api/ReflectionEventing.EventBus.yml @@ -0,0 +1,945 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.EventBus + commentId: T:ReflectionEventing.EventBus + id: EventBus + parent: ReflectionEventing + children: + - ReflectionEventing.EventBus.#ctor(ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue) + - ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + - ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + langs: + - csharp + - vb + name: EventBus + nameWithType: EventBus + fullName: ReflectionEventing.EventBus + type: Class + source: + remote: + path: src/ReflectionEventing/EventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventBus + path: ../src/ReflectionEventing/EventBus.cs + startLine: 15 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Represents a class that provides event publishing capabilities. + remarks: This class uses a service provider to get required services and a consumer provider to get consumers for a specific event type. + example: [] + syntax: + content: 'public class EventBus : IEventBus' + content.vb: Public Class EventBus Implements IEventBus + inheritance: + - System.Object + derivedClasses: + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + implements: + - ReflectionEventing.IEventBus + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone + extensionMethods: + - ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Publish``1({TEvent}) + - ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Send``1({TEvent}) +- uid: ReflectionEventing.EventBus.#ctor(ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue) + commentId: M:ReflectionEventing.EventBus.#ctor(ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue) + id: '#ctor(ReflectionEventing.IConsumerProvider,ReflectionEventing.IConsumerTypesProvider,ReflectionEventing.Queues.IEventsQueue)' + parent: ReflectionEventing.EventBus + langs: + - csharp + - vb + name: EventBus(IConsumerProvider, IConsumerTypesProvider, IEventsQueue) + nameWithType: EventBus.EventBus(IConsumerProvider, IConsumerTypesProvider, IEventsQueue) + fullName: ReflectionEventing.EventBus.EventBus(ReflectionEventing.IConsumerProvider, ReflectionEventing.IConsumerTypesProvider, ReflectionEventing.Queues.IEventsQueue) + type: Constructor + source: + remote: + path: src/ReflectionEventing/EventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing/EventBus.cs + startLine: 15 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Represents a class that provides event publishing capabilities. + remarks: This class uses a service provider to get required services and a consumer provider to get consumers for a specific event type. + example: [] + syntax: + content: public EventBus(IConsumerProvider consumerProviders, IConsumerTypesProvider consumerTypesProvider, IEventsQueue queue) + parameters: + - id: consumerProviders + type: ReflectionEventing.IConsumerProvider + - id: consumerTypesProvider + type: ReflectionEventing.IConsumerTypesProvider + - id: queue + type: ReflectionEventing.Queues.IEventsQueue + content.vb: Public Sub New(consumerProviders As IConsumerProvider, consumerTypesProvider As IConsumerTypesProvider, queue As IEventsQueue) + overload: ReflectionEventing.EventBus.#ctor* + nameWithType.vb: EventBus.New(IConsumerProvider, IConsumerTypesProvider, IEventsQueue) + fullName.vb: ReflectionEventing.EventBus.New(ReflectionEventing.IConsumerProvider, ReflectionEventing.IConsumerTypesProvider, ReflectionEventing.Queues.IEventsQueue) + name.vb: New(IConsumerProvider, IConsumerTypesProvider, IEventsQueue) +- uid: ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.EventBus.SendAsync``1(``0,System.Threading.CancellationToken) + id: SendAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.EventBus + langs: + - csharp + - vb + name: SendAsync(TEvent, CancellationToken) + nameWithType: EventBus.SendAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.EventBus.SendAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/EventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: SendAsync + path: ../src/ReflectionEventing/EventBus.cs + startLine: 32 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Sends the specified event asynchronously within the current scope, waiting for its execution. + remarks: >- + This method gets the consumers for the specified event type from the consumer provider and then uses the service provider to get the required service for each consumer. + + Each consumer is then used to consume the event asynchronously. + example: [] + syntax: + content: 'public virtual Task SendAsync(TEvent eventItem, CancellationToken cancellationToken = default) where TEvent : class' + parameters: + - id: eventItem + type: '{TEvent}' + description: The event to send. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A cancellation token that can be used to cancel the operation. + typeParameters: + - id: TEvent + description: The type of the event to send. + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous operation. + content.vb: Public Overridable Function SendAsync(Of TEvent As Class)(eventItem As TEvent, cancellationToken As CancellationToken = Nothing) As Task + overload: ReflectionEventing.EventBus.SendAsync* + implements: + - ReflectionEventing.IEventBus.SendAsync``1({TEvent},System.Threading.CancellationToken) + nameWithType.vb: EventBus.SendAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.EventBus.SendAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: SendAsync(Of TEvent)(TEvent, CancellationToken) +- uid: ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.EventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + id: PublishAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.EventBus + langs: + - csharp + - vb + name: PublishAsync(TEvent, CancellationToken) + nameWithType: EventBus.PublishAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.EventBus.PublishAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/EventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: PublishAsync + path: ../src/ReflectionEventing/EventBus.cs + startLine: 75 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Adds the specified event to the queue.Another scope will take over execution as configured. + remarks: The method only adds the event to the execution queue, it does not wait for its successful execution. + example: [] + syntax: + content: 'public virtual Task PublishAsync(TEvent eventItem, CancellationToken cancellationToken = default) where TEvent : class' + parameters: + - id: eventItem + type: '{TEvent}' + description: The event to publish. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A cancellation token that can be used to cancel the operation. + typeParameters: + - id: TEvent + description: The type of the event to publish. + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous operation. + content.vb: Public Overridable Function PublishAsync(Of TEvent As Class)(eventItem As TEvent, cancellationToken As CancellationToken = Nothing) As Task + overload: ReflectionEventing.EventBus.PublishAsync* + implements: + - ReflectionEventing.IEventBus.PublishAsync``1({TEvent},System.Threading.CancellationToken) + nameWithType.vb: EventBus.PublishAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.EventBus.PublishAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: PublishAsync(Of TEvent)(TEvent, CancellationToken) +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.IEventBus + commentId: T:ReflectionEventing.IEventBus + parent: ReflectionEventing + href: ReflectionEventing.IEventBus.html + name: IEventBus + nameWithType: IEventBus + fullName: ReflectionEventing.IEventBus +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Publish``1({TEvent}) + commentId: M:ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + parent: ReflectionEventing.EventBusExtensions + definition: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + name: Publish(IEventBus, TEvent) + nameWithType: EventBusExtensions.Publish(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Publish(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Publish(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Publish(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Publish(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Send``1({TEvent}) + commentId: M:ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + parent: ReflectionEventing.EventBusExtensions + definition: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + name: Send(IEventBus, TEvent) + nameWithType: EventBusExtensions.Send(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Send(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Send(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Send(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Send(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + name: Publish(IEventBus, TEvent) + nameWithType: EventBusExtensions.Publish(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Publish(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Publish(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Publish(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Publish(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.EventBusExtensions + commentId: T:ReflectionEventing.EventBusExtensions + parent: ReflectionEventing + href: ReflectionEventing.EventBusExtensions.html + name: EventBusExtensions + nameWithType: EventBusExtensions + fullName: ReflectionEventing.EventBusExtensions +- uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + name: Send(IEventBus, TEvent) + nameWithType: EventBusExtensions.Send(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Send(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Send(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Send(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Send(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.EventBus.#ctor* + commentId: Overload:ReflectionEventing.EventBus.#ctor + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus__ctor_ReflectionEventing_IConsumerProvider_ReflectionEventing_IConsumerTypesProvider_ReflectionEventing_Queues_IEventsQueue_ + name: EventBus + nameWithType: EventBus.EventBus + fullName: ReflectionEventing.EventBus.EventBus + nameWithType.vb: EventBus.New + fullName.vb: ReflectionEventing.EventBus.New + name.vb: New +- uid: ReflectionEventing.IConsumerProvider + commentId: T:ReflectionEventing.IConsumerProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerProvider.html + name: IConsumerProvider + nameWithType: IConsumerProvider + fullName: ReflectionEventing.IConsumerProvider +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: ReflectionEventing.Queues.IEventsQueue + commentId: T:ReflectionEventing.Queues.IEventsQueue + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.IEventsQueue.html + name: IEventsQueue + nameWithType: IEventsQueue + fullName: ReflectionEventing.Queues.IEventsQueue +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html +- uid: ReflectionEventing.EventBus.SendAsync* + commentId: Overload:ReflectionEventing.EventBus.SendAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_SendAsync__1___0_System_Threading_CancellationToken_ + name: SendAsync + nameWithType: EventBus.SendAsync + fullName: ReflectionEventing.EventBus.SendAsync +- uid: ReflectionEventing.IEventBus.SendAsync``1({TEvent},System.Threading.CancellationToken) + commentId: M:ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.IEventBus + definition: ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_SendAsync__1___0_System_Threading_CancellationToken_ + name: SendAsync(TEvent, CancellationToken) + nameWithType: IEventBus.SendAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.IEventBus.SendAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: IEventBus.SendAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.IEventBus.SendAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: SendAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: '{TEvent}' + commentId: '!:TEvent' + definition: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading.CancellationToken + commentId: T:System.Threading.CancellationToken + parent: System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + name: CancellationToken + nameWithType: CancellationToken + fullName: System.Threading.CancellationToken +- uid: System.Threading.Tasks.Task + commentId: T:System.Threading.Tasks.Task + parent: System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks.task + name: Task + nameWithType: Task + fullName: System.Threading.Tasks.Task +- uid: ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + isExternal: true + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_SendAsync__1___0_System_Threading_CancellationToken_ + name: SendAsync(TEvent, CancellationToken) + nameWithType: IEventBus.SendAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.IEventBus.SendAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: IEventBus.SendAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.IEventBus.SendAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: SendAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + name: SendAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_SendAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading + commentId: N:System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading + nameWithType: System.Threading + fullName: System.Threading + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading +- uid: System.Threading.Tasks + commentId: N:System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading.Tasks + nameWithType: System.Threading.Tasks + fullName: System.Threading.Tasks + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks +- uid: ReflectionEventing.EventBus.PublishAsync* + commentId: Overload:ReflectionEventing.EventBus.PublishAsync + href: ReflectionEventing.EventBus.html#ReflectionEventing_EventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + name: PublishAsync + nameWithType: EventBus.PublishAsync + fullName: ReflectionEventing.EventBus.PublishAsync +- uid: ReflectionEventing.IEventBus.PublishAsync``1({TEvent},System.Threading.CancellationToken) + commentId: M:ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.IEventBus + definition: ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + name: PublishAsync(TEvent, CancellationToken) + nameWithType: IEventBus.PublishAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.IEventBus.PublishAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: IEventBus.PublishAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.IEventBus.PublishAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: PublishAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + isExternal: true + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + name: PublishAsync(TEvent, CancellationToken) + nameWithType: IEventBus.PublishAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.IEventBus.PublishAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: IEventBus.PublishAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.IEventBus.PublishAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: PublishAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + name: PublishAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) diff --git a/docs/api/ReflectionEventing.EventBusBuilder.yml b/docs/api/ReflectionEventing.EventBusBuilder.yml new file mode 100644 index 0000000..4831489 --- /dev/null +++ b/docs/api/ReflectionEventing.EventBusBuilder.yml @@ -0,0 +1,1245 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + id: EventBusBuilder + parent: ReflectionEventing + children: + - ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + - ReflectionEventing.EventBusBuilder.BuildTypesProvider + - ReflectionEventing.EventBusBuilder.Options + langs: + - csharp + - vb + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder + type: Class + source: + remote: + path: src/ReflectionEventing/EventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventBusBuilder + path: ../src/ReflectionEventing/EventBusBuilder.cs + startLine: 13 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Represents a class that builds an event bus with a specific set of classConsumers. + remarks: This class uses a dictionary of classConsumers where the key is the consumer type and the value is a collection of event types that the consumer can handle. + example: [] + syntax: + content: public class EventBusBuilder + content.vb: Public Class EventBusBuilder + inheritance: + - System.Object + derivedClasses: + - ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone + extensionMethods: + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(Microsoft.Extensions.DependencyInjection.ServiceLifetime) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(System.Type) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1 + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(System.Type) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1 + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(System.Type) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1 + - ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(System.Reflection.Assembly[]) + - ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1 +- uid: ReflectionEventing.EventBusBuilder.Options + commentId: P:ReflectionEventing.EventBusBuilder.Options + id: Options + parent: ReflectionEventing.EventBusBuilder + langs: + - csharp + - vb + name: Options + nameWithType: EventBusBuilder.Options + fullName: ReflectionEventing.EventBusBuilder.Options + type: Property + source: + remote: + path: src/ReflectionEventing/EventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: Options + path: ../src/ReflectionEventing/EventBusBuilder.cs + startLine: 24 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: >- + Gets or sets a value indicating whether the event bus should use event polymorphism. + + If set to true, the event bus will deliver events to classConsumers that handle the event type or any of its base types. + + If set to false, the event bus will only deliver events to classConsumers that handle the exact event type. + + The default value is false. + example: [] + syntax: + content: public EventBusBuilderOptions Options { get; } + parameters: [] + return: + type: ReflectionEventing.EventBusBuilderOptions + content.vb: Public ReadOnly Property Options As EventBusBuilderOptions + overload: ReflectionEventing.EventBusBuilder.Options* +- uid: ReflectionEventing.EventBusBuilder.BuildTypesProvider + commentId: M:ReflectionEventing.EventBusBuilder.BuildTypesProvider + id: BuildTypesProvider + parent: ReflectionEventing.EventBusBuilder + langs: + - csharp + - vb + name: BuildTypesProvider() + nameWithType: EventBusBuilder.BuildTypesProvider() + fullName: ReflectionEventing.EventBusBuilder.BuildTypesProvider() + type: Method + source: + remote: + path: src/ReflectionEventing/EventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: BuildTypesProvider + path: ../src/ReflectionEventing/EventBusBuilder.cs + startLine: 33 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Builds and returns an instance of based on the current configuration. + example: [] + syntax: + content: public IConsumerTypesProvider BuildTypesProvider() + return: + type: ReflectionEventing.IConsumerTypesProvider + description: >- + An instance of . If is set to true, + + it returns an instance of , otherwise it returns an instance of . + content.vb: Public Function BuildTypesProvider() As IConsumerTypesProvider + overload: ReflectionEventing.EventBusBuilder.BuildTypesProvider* +- uid: ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + commentId: M:ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + id: AddConsumer(System.Type) + parent: ReflectionEventing.EventBusBuilder + langs: + - csharp + - vb + name: AddConsumer(Type) + nameWithType: EventBusBuilder.AddConsumer(Type) + fullName: ReflectionEventing.EventBusBuilder.AddConsumer(System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing/EventBusBuilder.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddConsumer + path: ../src/ReflectionEventing/EventBusBuilder.cs + startLine: 49 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Adds a consumer to the builder. + remarks: >- + This method checks if the consumer is registered in the service collection and if it is not transient. + + It then gets the interfaces of the consumer that are generic and have a generic type definition of . + + For each of these interfaces, it gets the generic argument and adds it to the classConsumers dictionary. + example: [] + syntax: + content: public virtual EventBusBuilder AddConsumer(Type consumerType) + parameters: + - id: consumerType + type: System.Type + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + content.vb: Public Overridable Function AddConsumer(consumerType As Type) As EventBusBuilder + overload: ReflectionEventing.EventBusBuilder.AddConsumer* +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(Microsoft.Extensions.DependencyInjection.ServiceLifetime) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + name: AddConsumer(EventBusBuilder, ServiceLifetime) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder, ServiceLifetime) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddScopedConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1 + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddScopedConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddScopedConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddSingletonConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1 + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddSingletonConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddTransientConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1 + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + definition: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddTransientConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddTransientConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(System.Reflection.Assembly[]) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + parent: ReflectionEventing.EventBusBuilderExtensions + definition: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + name: AddAllConsumers(EventBusBuilder, params Assembly[]) + nameWithType: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, params Assembly[]) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, params System.Reflection.Assembly[]) + nameWithType.vb: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, ParamArray System.Reflection.Assembly()) + name.vb: AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: params + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: '[' + - name: ']' + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: ParamArray + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: ( + - name: ) + - name: ) +- uid: ReflectionEventing.EventBusBuilder.ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1 + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + parent: ReflectionEventing.EventBusBuilderExtensions + definition: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + name: AddConsumer(EventBusBuilder, ServiceLifetime) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder, ServiceLifetime) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder, Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder, ServiceLifetime) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime) + name: AddConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_Microsoft_Extensions_DependencyInjection_ServiceLifetime_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: Microsoft.Extensions.DependencyInjection.ServiceLifetime + name: ServiceLifetime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicelifetime + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + commentId: T:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + parent: ReflectionEventing.DependencyInjection + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddScopedConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddScopedConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddScopedConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddScopedConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddScopedConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddScopedConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddScopedConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddSingletonConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddSingletonConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddSingletonConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddSingletonConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddSingletonConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddSingletonConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddSingletonConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + isExternal: true + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + name: AddTransientConsumer(EventBusBuilder, Type) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder, Type) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder, System.Type) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder,System.Type) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer_ReflectionEventing_EventBusBuilder_System_Type_ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddTransientConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddTransientConsumer(EventBusBuilder) + fullName: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddTransientConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.AddTransientConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddTransientConsumer + href: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions.html#ReflectionEventing_DependencyInjection_EventBusBuilderExtensions_AddTransientConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + isExternal: true + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + name: AddAllConsumers(EventBusBuilder, params Assembly[]) + nameWithType: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, params Assembly[]) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, params System.Reflection.Assembly[]) + nameWithType.vb: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, ParamArray System.Reflection.Assembly()) + name.vb: AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: params + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: '[' + - name: ']' + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + name: AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ',' + - name: " " + - name: ParamArray + - name: " " + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: ( + - name: ) + - name: ) +- uid: ReflectionEventing.EventBusBuilderExtensions + commentId: T:ReflectionEventing.EventBusBuilderExtensions + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilderExtensions.html + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.EventBusBuilderExtensions +- uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder) + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder) + spec.csharp: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: < + - name: TConsumer + - name: '>' + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + name: AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + - name: ( + - name: Of + - name: " " + - name: TConsumer + - name: ) + - name: ( + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + href: ReflectionEventing.EventBusBuilder.html + - name: ) +- uid: ReflectionEventing.DependencyInjection + commentId: N:ReflectionEventing.DependencyInjection + href: ReflectionEventing.html + name: ReflectionEventing.DependencyInjection + nameWithType: ReflectionEventing.DependencyInjection + fullName: ReflectionEventing.DependencyInjection + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.DependencyInjection + name: DependencyInjection + href: ReflectionEventing.DependencyInjection.html +- uid: ReflectionEventing.EventBusBuilder.Options* + commentId: Overload:ReflectionEventing.EventBusBuilder.Options + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_Options + name: Options + nameWithType: EventBusBuilder.Options + fullName: ReflectionEventing.EventBusBuilder.Options +- uid: ReflectionEventing.EventBusBuilderOptions + commentId: T:ReflectionEventing.EventBusBuilderOptions + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilderOptions.html + name: EventBusBuilderOptions + nameWithType: EventBusBuilderOptions + fullName: ReflectionEventing.EventBusBuilderOptions +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism + commentId: P:ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism + href: ReflectionEventing.EventBusBuilderOptions.html#ReflectionEventing_EventBusBuilderOptions_UseEventPolymorphism + name: UseEventPolymorphism + nameWithType: EventBusBuilderOptions.UseEventPolymorphism + fullName: ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism +- uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider + commentId: T:ReflectionEventing.HashedPolymorphicConsumerTypesProvider + href: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.html + name: HashedPolymorphicConsumerTypesProvider + nameWithType: HashedPolymorphicConsumerTypesProvider + fullName: ReflectionEventing.HashedPolymorphicConsumerTypesProvider +- uid: ReflectionEventing.HashedConsumerTypesProvider + commentId: T:ReflectionEventing.HashedConsumerTypesProvider + href: ReflectionEventing.HashedConsumerTypesProvider.html + name: HashedConsumerTypesProvider + nameWithType: HashedConsumerTypesProvider + fullName: ReflectionEventing.HashedConsumerTypesProvider +- uid: ReflectionEventing.EventBusBuilder.BuildTypesProvider* + commentId: Overload:ReflectionEventing.EventBusBuilder.BuildTypesProvider + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_BuildTypesProvider + name: BuildTypesProvider + nameWithType: EventBusBuilder.BuildTypesProvider + fullName: ReflectionEventing.EventBusBuilder.BuildTypesProvider +- uid: ReflectionEventing.IConsumer`1 + commentId: T:ReflectionEventing.IConsumer`1 + href: ReflectionEventing.IConsumer-1.html + name: IConsumer + nameWithType: IConsumer + fullName: ReflectionEventing.IConsumer + nameWithType.vb: IConsumer(Of TEvent) + fullName.vb: ReflectionEventing.IConsumer(Of TEvent) + name.vb: IConsumer(Of TEvent) + spec.csharp: + - uid: ReflectionEventing.IConsumer`1 + name: IConsumer + href: ReflectionEventing.IConsumer-1.html + - name: < + - name: TEvent + - name: '>' + spec.vb: + - uid: ReflectionEventing.IConsumer`1 + name: IConsumer + href: ReflectionEventing.IConsumer-1.html + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.EventBusBuilder.AddConsumer* + commentId: Overload:ReflectionEventing.EventBusBuilder.AddConsumer + href: ReflectionEventing.EventBusBuilder.html#ReflectionEventing_EventBusBuilder_AddConsumer_System_Type_ + name: AddConsumer + nameWithType: EventBusBuilder.AddConsumer + fullName: ReflectionEventing.EventBusBuilder.AddConsumer +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilder.html + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder diff --git a/docs/api/ReflectionEventing.EventBusBuilderExtensions.yml b/docs/api/ReflectionEventing.EventBusBuilderExtensions.yml new file mode 100644 index 0000000..a35289f --- /dev/null +++ b/docs/api/ReflectionEventing.EventBusBuilderExtensions.yml @@ -0,0 +1,412 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.EventBusBuilderExtensions + commentId: T:ReflectionEventing.EventBusBuilderExtensions + id: EventBusBuilderExtensions + parent: ReflectionEventing + children: + - ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + - ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + langs: + - csharp + - vb + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.EventBusBuilderExtensions + type: Class + source: + remote: + path: src/ReflectionEventing/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventBusBuilderExtensions + path: ../src/ReflectionEventing/EventBusBuilderExtensions.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides extension methods for the class. + example: [] + syntax: + content: public static class EventBusBuilderExtensions + content.vb: Public Module EventBusBuilderExtensions + inheritance: + - System.Object + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddConsumer``1(ReflectionEventing.EventBusBuilder) + id: AddConsumer``1(ReflectionEventing.EventBusBuilder) + isExtensionMethod: true + parent: ReflectionEventing.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddConsumer(EventBusBuilder) + nameWithType: EventBusBuilderExtensions.AddConsumer(EventBusBuilder) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(ReflectionEventing.EventBusBuilder) + type: Method + source: + remote: + path: src/ReflectionEventing/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddConsumer + path: ../src/ReflectionEventing/EventBusBuilderExtensions.cs + startLine: 18 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Adds a consumer to the event bus builder. + example: [] + syntax: + content: public static EventBusBuilder AddConsumer(this EventBusBuilder builder) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumer to. + typeParameters: + - id: TConsumer + description: The type of the consumer to add. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumer added. + content.vb: Public Shared Function AddConsumer(Of TConsumer)(builder As EventBusBuilder) As EventBusBuilder + overload: ReflectionEventing.EventBusBuilderExtensions.AddConsumer* + nameWithType.vb: EventBusBuilderExtensions.AddConsumer(Of TConsumer)(EventBusBuilder) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddConsumer(Of TConsumer)(ReflectionEventing.EventBusBuilder) + name.vb: AddConsumer(Of TConsumer)(EventBusBuilder) +- uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + commentId: M:ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + id: AddAllConsumers(ReflectionEventing.EventBusBuilder,System.Reflection.Assembly[]) + isExtensionMethod: true + parent: ReflectionEventing.EventBusBuilderExtensions + langs: + - csharp + - vb + name: AddAllConsumers(EventBusBuilder, params Assembly[]) + nameWithType: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, params Assembly[]) + fullName: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, params System.Reflection.Assembly[]) + type: Method + source: + remote: + path: src/ReflectionEventing/EventBusBuilderExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: AddAllConsumers + path: ../src/ReflectionEventing/EventBusBuilderExtensions.cs + startLine: 36 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Adds all consumers from the specified assemblies to the event bus builder. + example: [] + syntax: + content: public static EventBusBuilder AddAllConsumers(this EventBusBuilder builder, params Assembly[] assemblies) + parameters: + - id: builder + type: ReflectionEventing.EventBusBuilder + description: The event bus builder to add the consumers to. + - id: assemblies + type: System.Reflection.Assembly[] + description: The assemblies to add the consumers from. + return: + type: ReflectionEventing.EventBusBuilder + description: The event bus builder with the consumers added. + content.vb: Public Shared Function AddAllConsumers(builder As EventBusBuilder, ParamArray assemblies As Assembly()) As EventBusBuilder + overload: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers* + nameWithType.vb: EventBusBuilderExtensions.AddAllConsumers(EventBusBuilder, ParamArray Assembly()) + fullName.vb: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers(ReflectionEventing.EventBusBuilder, ParamArray System.Reflection.Assembly()) + name.vb: AddAllConsumers(EventBusBuilder, ParamArray Assembly()) +references: +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilder.html + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.EventBusBuilderExtensions.AddConsumer* + commentId: Overload:ReflectionEventing.EventBusBuilderExtensions.AddConsumer + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddConsumer__1_ReflectionEventing_EventBusBuilder_ + name: AddConsumer + nameWithType: EventBusBuilderExtensions.AddConsumer + fullName: ReflectionEventing.EventBusBuilderExtensions.AddConsumer +- uid: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers* + commentId: Overload:ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers + href: ReflectionEventing.EventBusBuilderExtensions.html#ReflectionEventing_EventBusBuilderExtensions_AddAllConsumers_ReflectionEventing_EventBusBuilder_System_Reflection_Assembly___ + name: AddAllConsumers + nameWithType: EventBusBuilderExtensions.AddAllConsumers + fullName: ReflectionEventing.EventBusBuilderExtensions.AddAllConsumers +- uid: System.Reflection.Assembly[] + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + name: Assembly[] + nameWithType: Assembly[] + fullName: System.Reflection.Assembly[] + nameWithType.vb: Assembly() + fullName.vb: System.Reflection.Assembly() + name.vb: Assembly() + spec.csharp: + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: '[' + - name: ']' + spec.vb: + - uid: System.Reflection.Assembly + name: Assembly + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.reflection.assembly + - name: ( + - name: ) diff --git a/docs/api/ReflectionEventing.EventBusBuilderOptions.yml b/docs/api/ReflectionEventing.EventBusBuilderOptions.yml new file mode 100644 index 0000000..f15a0b4 --- /dev/null +++ b/docs/api/ReflectionEventing.EventBusBuilderOptions.yml @@ -0,0 +1,532 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.EventBusBuilderOptions + commentId: T:ReflectionEventing.EventBusBuilderOptions + id: EventBusBuilderOptions + parent: ReflectionEventing + children: + - ReflectionEventing.EventBusBuilderOptions.ErrorTickRate + - ReflectionEventing.EventBusBuilderOptions.QueueTickRate + - ReflectionEventing.EventBusBuilderOptions.UseErrorQueue + - ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism + - ReflectionEventing.EventBusBuilderOptions.UseEventsQueue + langs: + - csharp + - vb + name: EventBusBuilderOptions + nameWithType: EventBusBuilderOptions + fullName: ReflectionEventing.EventBusBuilderOptions + type: Class + source: + remote: + path: src/ReflectionEventing/EventBusBuilderOptions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventBusBuilderOptions + path: ../src/ReflectionEventing/EventBusBuilderOptions.cs + startLine: 11 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: >- + Represents configuration options for the class. + + These options control the behavior of the event bus built by the . + example: [] + syntax: + content: public class EventBusBuilderOptions + content.vb: Public Class EventBusBuilderOptions + inheritance: + - System.Object + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism + commentId: P:ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism + id: UseEventPolymorphism + parent: ReflectionEventing.EventBusBuilderOptions + langs: + - csharp + - vb + name: UseEventPolymorphism + nameWithType: EventBusBuilderOptions.UseEventPolymorphism + fullName: ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism + type: Property + source: + remote: + path: src/ReflectionEventing/EventBusBuilderOptions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: UseEventPolymorphism + path: ../src/ReflectionEventing/EventBusBuilderOptions.cs + startLine: 19 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: >- + Gets or sets a value indicating whether the event bus should use event polymorphism. + + If set to true, the event bus will deliver events to consumers that handle the event type or any of its base types. + + If set to false, the event bus will only deliver events to consumers that handle the exact event type. + + The default value is false. + example: [] + syntax: + content: public bool UseEventPolymorphism { get; set; } + parameters: [] + return: + type: System.Boolean + content.vb: Public Property UseEventPolymorphism As Boolean + overload: ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism* +- uid: ReflectionEventing.EventBusBuilderOptions.UseEventsQueue + commentId: P:ReflectionEventing.EventBusBuilderOptions.UseEventsQueue + id: UseEventsQueue + parent: ReflectionEventing.EventBusBuilderOptions + langs: + - csharp + - vb + name: UseEventsQueue + nameWithType: EventBusBuilderOptions.UseEventsQueue + fullName: ReflectionEventing.EventBusBuilderOptions.UseEventsQueue + type: Property + source: + remote: + path: src/ReflectionEventing/EventBusBuilderOptions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: UseEventsQueue + path: ../src/ReflectionEventing/EventBusBuilderOptions.cs + startLine: 27 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: >- + Gets or sets a value indicating whether the event bus should use a background events queue. + + If set to true, the event bus will use a background queue to process events. + + If set to false, the event bus will process events immediately without using a background queue. + + The default value is true. + example: [] + syntax: + content: public bool UseEventsQueue { get; set; } + parameters: [] + return: + type: System.Boolean + content.vb: Public Property UseEventsQueue As Boolean + overload: ReflectionEventing.EventBusBuilderOptions.UseEventsQueue* +- uid: ReflectionEventing.EventBusBuilderOptions.UseErrorQueue + commentId: P:ReflectionEventing.EventBusBuilderOptions.UseErrorQueue + id: UseErrorQueue + parent: ReflectionEventing.EventBusBuilderOptions + langs: + - csharp + - vb + name: UseErrorQueue + nameWithType: EventBusBuilderOptions.UseErrorQueue + fullName: ReflectionEventing.EventBusBuilderOptions.UseErrorQueue + type: Property + source: + remote: + path: src/ReflectionEventing/EventBusBuilderOptions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: UseErrorQueue + path: ../src/ReflectionEventing/EventBusBuilderOptions.cs + startLine: 35 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: >- + Gets or sets a value indicating whether the event bus should use an error queue. + + If set to true, the event bus will use an error queue to handle events that fail processing. + + If set to false, the event bus will not use an error queue. + + The default value is false. + example: [] + syntax: + content: public bool UseErrorQueue { get; set; } + parameters: [] + return: + type: System.Boolean + content.vb: Public Property UseErrorQueue As Boolean + overload: ReflectionEventing.EventBusBuilderOptions.UseErrorQueue* +- uid: ReflectionEventing.EventBusBuilderOptions.QueueTickRate + commentId: P:ReflectionEventing.EventBusBuilderOptions.QueueTickRate + id: QueueTickRate + parent: ReflectionEventing.EventBusBuilderOptions + langs: + - csharp + - vb + name: QueueTickRate + nameWithType: EventBusBuilderOptions.QueueTickRate + fullName: ReflectionEventing.EventBusBuilderOptions.QueueTickRate + type: Property + source: + remote: + path: src/ReflectionEventing/EventBusBuilderOptions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: QueueTickRate + path: ../src/ReflectionEventing/EventBusBuilderOptions.cs + startLine: 44 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: >- + Gets or sets the rate at which the event queue is processed. + + The default value is 20ms. + remarks: Adjust this value to control how frequently the event queue is processed. + example: [] + syntax: + content: public TimeSpan QueueTickRate { get; set; } + parameters: [] + return: + type: System.TimeSpan + content.vb: Public Property QueueTickRate As TimeSpan + overload: ReflectionEventing.EventBusBuilderOptions.QueueTickRate* +- uid: ReflectionEventing.EventBusBuilderOptions.ErrorTickRate + commentId: P:ReflectionEventing.EventBusBuilderOptions.ErrorTickRate + id: ErrorTickRate + parent: ReflectionEventing.EventBusBuilderOptions + langs: + - csharp + - vb + name: ErrorTickRate + nameWithType: EventBusBuilderOptions.ErrorTickRate + fullName: ReflectionEventing.EventBusBuilderOptions.ErrorTickRate + type: Property + source: + remote: + path: src/ReflectionEventing/EventBusBuilderOptions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ErrorTickRate + path: ../src/ReflectionEventing/EventBusBuilderOptions.cs + startLine: 53 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: >- + Gets or sets the rate at which the error queue is processed when default queue consumption fails. + + The default value is 20ms. + remarks: Adjust this value to control how frequently the error queue is processed. + example: [] + syntax: + content: public TimeSpan ErrorTickRate { get; set; } + parameters: [] + return: + type: System.TimeSpan + content.vb: Public Property ErrorTickRate As TimeSpan + overload: ReflectionEventing.EventBusBuilderOptions.ErrorTickRate* +references: +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilder.html + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism* + commentId: Overload:ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism + href: ReflectionEventing.EventBusBuilderOptions.html#ReflectionEventing_EventBusBuilderOptions_UseEventPolymorphism + name: UseEventPolymorphism + nameWithType: EventBusBuilderOptions.UseEventPolymorphism + fullName: ReflectionEventing.EventBusBuilderOptions.UseEventPolymorphism +- uid: System.Boolean + commentId: T:System.Boolean + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.boolean + name: bool + nameWithType: bool + fullName: bool + nameWithType.vb: Boolean + fullName.vb: Boolean + name.vb: Boolean +- uid: ReflectionEventing.EventBusBuilderOptions.UseEventsQueue* + commentId: Overload:ReflectionEventing.EventBusBuilderOptions.UseEventsQueue + href: ReflectionEventing.EventBusBuilderOptions.html#ReflectionEventing_EventBusBuilderOptions_UseEventsQueue + name: UseEventsQueue + nameWithType: EventBusBuilderOptions.UseEventsQueue + fullName: ReflectionEventing.EventBusBuilderOptions.UseEventsQueue +- uid: ReflectionEventing.EventBusBuilderOptions.UseErrorQueue* + commentId: Overload:ReflectionEventing.EventBusBuilderOptions.UseErrorQueue + href: ReflectionEventing.EventBusBuilderOptions.html#ReflectionEventing_EventBusBuilderOptions_UseErrorQueue + name: UseErrorQueue + nameWithType: EventBusBuilderOptions.UseErrorQueue + fullName: ReflectionEventing.EventBusBuilderOptions.UseErrorQueue +- uid: ReflectionEventing.EventBusBuilderOptions.QueueTickRate* + commentId: Overload:ReflectionEventing.EventBusBuilderOptions.QueueTickRate + href: ReflectionEventing.EventBusBuilderOptions.html#ReflectionEventing_EventBusBuilderOptions_QueueTickRate + name: QueueTickRate + nameWithType: EventBusBuilderOptions.QueueTickRate + fullName: ReflectionEventing.EventBusBuilderOptions.QueueTickRate +- uid: System.TimeSpan + commentId: T:System.TimeSpan + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.timespan + name: TimeSpan + nameWithType: TimeSpan + fullName: System.TimeSpan +- uid: ReflectionEventing.EventBusBuilderOptions.ErrorTickRate* + commentId: Overload:ReflectionEventing.EventBusBuilderOptions.ErrorTickRate + href: ReflectionEventing.EventBusBuilderOptions.html#ReflectionEventing_EventBusBuilderOptions_ErrorTickRate + name: ErrorTickRate + nameWithType: EventBusBuilderOptions.ErrorTickRate + fullName: ReflectionEventing.EventBusBuilderOptions.ErrorTickRate diff --git a/docs/api/ReflectionEventing.EventBusException.yml b/docs/api/ReflectionEventing.EventBusException.yml new file mode 100644 index 0000000..5a56007 --- /dev/null +++ b/docs/api/ReflectionEventing.EventBusException.yml @@ -0,0 +1,586 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.EventBusException + commentId: T:ReflectionEventing.EventBusException + id: EventBusException + parent: ReflectionEventing + children: + - ReflectionEventing.EventBusException.#ctor(System.String) + langs: + - csharp + - vb + name: EventBusException + nameWithType: EventBusException + fullName: ReflectionEventing.EventBusException + type: Class + source: + remote: + path: src/ReflectionEventing/EventBusException.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventBusException + path: ../src/ReflectionEventing/EventBusException.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Represents an exception that occurs within the event bus. + example: [] + syntax: + content: 'public class EventBusException : Exception, ISerializable, _Exception' + content.vb: Public Class EventBusException Inherits Exception Implements ISerializable, _Exception + inheritance: + - System.Object + - System.Exception + derivedClasses: + - ReflectionEventing.Queues.QueueException + implements: + - System.Runtime.Serialization.ISerializable + - System.Runtime.InteropServices._Exception + inheritedMembers: + - System.Exception.GetBaseException + - System.Exception.ToString + - System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + - System.Exception.GetType + - System.Exception.Message + - System.Exception.Data + - System.Exception.InnerException + - System.Exception.TargetSite + - System.Exception.StackTrace + - System.Exception.HelpLink + - System.Exception.Source + - System.Exception.HResult + - System.Exception.SerializeObjectState + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.MemberwiseClone +- uid: ReflectionEventing.EventBusException.#ctor(System.String) + commentId: M:ReflectionEventing.EventBusException.#ctor(System.String) + id: '#ctor(System.String)' + parent: ReflectionEventing.EventBusException + langs: + - csharp + - vb + name: EventBusException(string) + nameWithType: EventBusException.EventBusException(string) + fullName: ReflectionEventing.EventBusException.EventBusException(string) + type: Constructor + source: + remote: + path: src/ReflectionEventing/EventBusException.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing/EventBusException.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Represents an exception that occurs within the event bus. + example: [] + syntax: + content: public EventBusException(string message) + parameters: + - id: message + type: System.String + content.vb: Public Sub New(message As String) + overload: ReflectionEventing.EventBusException.#ctor* + nameWithType.vb: EventBusException.New(String) + fullName.vb: ReflectionEventing.EventBusException.New(String) + name.vb: New(String) +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Exception + commentId: T:System.Exception + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception + name: Exception + nameWithType: Exception + fullName: System.Exception +- uid: System.Runtime.Serialization.ISerializable + commentId: T:System.Runtime.Serialization.ISerializable + parent: System.Runtime.Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.iserializable + name: ISerializable + nameWithType: ISerializable + fullName: System.Runtime.Serialization.ISerializable +- uid: System.Runtime.InteropServices._Exception + commentId: T:System.Runtime.InteropServices._Exception + parent: System.Runtime.InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.interopservices._exception + name: _Exception + nameWithType: _Exception + fullName: System.Runtime.InteropServices._Exception +- uid: System.Exception.GetBaseException + commentId: M:System.Exception.GetBaseException + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception + name: GetBaseException() + nameWithType: Exception.GetBaseException() + fullName: System.Exception.GetBaseException() + spec.csharp: + - uid: System.Exception.GetBaseException + name: GetBaseException + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception + - name: ( + - name: ) + spec.vb: + - uid: System.Exception.GetBaseException + name: GetBaseException + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception + - name: ( + - name: ) +- uid: System.Exception.ToString + commentId: M:System.Exception.ToString + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.tostring + name: ToString() + nameWithType: Exception.ToString() + fullName: System.Exception.ToString() + spec.csharp: + - uid: System.Exception.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Exception.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.tostring + - name: ( + - name: ) +- uid: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + commentId: M:System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata + name: GetObjectData(SerializationInfo, StreamingContext) + nameWithType: Exception.GetObjectData(SerializationInfo, StreamingContext) + fullName: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) + spec.csharp: + - uid: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + name: GetObjectData + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata + - name: ( + - uid: System.Runtime.Serialization.SerializationInfo + name: SerializationInfo + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.serializationinfo + - name: ',' + - name: " " + - uid: System.Runtime.Serialization.StreamingContext + name: StreamingContext + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.streamingcontext + - name: ) + spec.vb: + - uid: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + name: GetObjectData + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata + - name: ( + - uid: System.Runtime.Serialization.SerializationInfo + name: SerializationInfo + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.serializationinfo + - name: ',' + - name: " " + - uid: System.Runtime.Serialization.StreamingContext + name: StreamingContext + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.streamingcontext + - name: ) +- uid: System.Exception.GetType + commentId: M:System.Exception.GetType + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.gettype + name: GetType() + nameWithType: Exception.GetType() + fullName: System.Exception.GetType() + spec.csharp: + - uid: System.Exception.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Exception.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.gettype + - name: ( + - name: ) +- uid: System.Exception.Message + commentId: P:System.Exception.Message + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.message + name: Message + nameWithType: Exception.Message + fullName: System.Exception.Message +- uid: System.Exception.Data + commentId: P:System.Exception.Data + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.data + name: Data + nameWithType: Exception.Data + fullName: System.Exception.Data +- uid: System.Exception.InnerException + commentId: P:System.Exception.InnerException + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.innerexception + name: InnerException + nameWithType: Exception.InnerException + fullName: System.Exception.InnerException +- uid: System.Exception.TargetSite + commentId: P:System.Exception.TargetSite + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.targetsite + name: TargetSite + nameWithType: Exception.TargetSite + fullName: System.Exception.TargetSite +- uid: System.Exception.StackTrace + commentId: P:System.Exception.StackTrace + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.stacktrace + name: StackTrace + nameWithType: Exception.StackTrace + fullName: System.Exception.StackTrace +- uid: System.Exception.HelpLink + commentId: P:System.Exception.HelpLink + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.helplink + name: HelpLink + nameWithType: Exception.HelpLink + fullName: System.Exception.HelpLink +- uid: System.Exception.Source + commentId: P:System.Exception.Source + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.source + name: Source + nameWithType: Exception.Source + fullName: System.Exception.Source +- uid: System.Exception.HResult + commentId: P:System.Exception.HResult + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.hresult + name: HResult + nameWithType: Exception.HResult + fullName: System.Exception.HResult +- uid: System.Exception.SerializeObjectState + commentId: E:System.Exception.SerializeObjectState + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.serializeobjectstate + name: SerializeObjectState + nameWithType: Exception.SerializeObjectState + fullName: System.Exception.SerializeObjectState +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: System.Runtime.Serialization + commentId: N:System.Runtime.Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Runtime.Serialization + nameWithType: System.Runtime.Serialization + fullName: System.Runtime.Serialization + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.Serialization + name: Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.Serialization + name: Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization +- uid: System.Runtime.InteropServices + commentId: N:System.Runtime.InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Runtime.InteropServices + nameWithType: System.Runtime.InteropServices + fullName: System.Runtime.InteropServices + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.InteropServices + name: InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.interopservices + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.InteropServices + name: InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.interopservices +- uid: ReflectionEventing.EventBusException.#ctor* + commentId: Overload:ReflectionEventing.EventBusException.#ctor + href: ReflectionEventing.EventBusException.html#ReflectionEventing_EventBusException__ctor_System_String_ + name: EventBusException + nameWithType: EventBusException.EventBusException + fullName: ReflectionEventing.EventBusException.EventBusException + nameWithType.vb: EventBusException.New + fullName.vb: ReflectionEventing.EventBusException.New + name.vb: New +- uid: System.String + commentId: T:System.String + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.string + name: string + nameWithType: string + fullName: string + nameWithType.vb: String + fullName.vb: String + name.vb: String diff --git a/docs/api/ReflectionEventing.EventBusExtensions.yml b/docs/api/ReflectionEventing.EventBusExtensions.yml new file mode 100644 index 0000000..1b110b8 --- /dev/null +++ b/docs/api/ReflectionEventing.EventBusExtensions.yml @@ -0,0 +1,423 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.EventBusExtensions + commentId: T:ReflectionEventing.EventBusExtensions + id: EventBusExtensions + parent: ReflectionEventing + children: + - ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + - ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + langs: + - csharp + - vb + name: EventBusExtensions + nameWithType: EventBusExtensions + fullName: ReflectionEventing.EventBusExtensions + type: Class + source: + remote: + path: src/ReflectionEventing/EventBusExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventBusExtensions + path: ../src/ReflectionEventing/EventBusExtensions.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides extension methods for the . + example: [] + syntax: + content: public static class EventBusExtensions + content.vb: Public Module EventBusExtensions + inheritance: + - System.Object + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + id: Send``1(ReflectionEventing.IEventBus,``0) + isExtensionMethod: true + parent: ReflectionEventing.EventBusExtensions + langs: + - csharp + - vb + name: Send(IEventBus, TEvent) + nameWithType: EventBusExtensions.Send(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Send(ReflectionEventing.IEventBus, TEvent) + type: Method + source: + remote: + path: src/ReflectionEventing/EventBusExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: Send + path: ../src/ReflectionEventing/EventBusExtensions.cs + startLine: 18 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Sends the specified event synchronously. + example: [] + syntax: + content: >- + [Obsolete("May cause deadlock on UI threads, use SendAsync instead.")] + + public static void Send(this IEventBus eventBus, TEvent eventItem) where TEvent : class + parameters: + - id: eventBus + type: ReflectionEventing.IEventBus + description: The event bus to extend. + - id: eventItem + type: '{TEvent}' + description: The event to publish. + typeParameters: + - id: TEvent + description: The type of the event to publish. + content.vb: >- + + + Public Shared Sub Send(Of TEvent As Class)(eventBus As IEventBus, eventItem As TEvent) + overload: ReflectionEventing.EventBusExtensions.Send* + attributes: + - type: System.ObsoleteAttribute + ctor: System.ObsoleteAttribute.#ctor(System.String) + arguments: + - type: System.String + value: May cause deadlock on UI threads, use SendAsync instead. + nameWithType.vb: EventBusExtensions.Send(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Send(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Send(Of TEvent)(IEventBus, TEvent) +- uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + id: Publish``1(ReflectionEventing.IEventBus,``0) + isExtensionMethod: true + parent: ReflectionEventing.EventBusExtensions + langs: + - csharp + - vb + name: Publish(IEventBus, TEvent) + nameWithType: EventBusExtensions.Publish(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Publish(ReflectionEventing.IEventBus, TEvent) + type: Method + source: + remote: + path: src/ReflectionEventing/EventBusExtensions.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: Publish + path: ../src/ReflectionEventing/EventBusExtensions.cs + startLine: 46 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Publishes the specified event synchronously. + example: [] + syntax: + content: >- + [Obsolete("May cause deadlock on UI threads, use SendAsync instead.")] + + public static void Publish(this IEventBus eventBus, TEvent eventItem) where TEvent : class + parameters: + - id: eventBus + type: ReflectionEventing.IEventBus + description: The event bus to extend. + - id: eventItem + type: '{TEvent}' + description: The event to publish. + typeParameters: + - id: TEvent + description: The type of the event to publish. + content.vb: >- + + + Public Shared Sub Publish(Of TEvent As Class)(eventBus As IEventBus, eventItem As TEvent) + overload: ReflectionEventing.EventBusExtensions.Publish* + attributes: + - type: System.ObsoleteAttribute + ctor: System.ObsoleteAttribute.#ctor(System.String) + arguments: + - type: System.String + value: May cause deadlock on UI threads, use SendAsync instead. + nameWithType.vb: EventBusExtensions.Publish(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Publish(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Publish(Of TEvent)(IEventBus, TEvent) +references: +- uid: ReflectionEventing.IEventBus + commentId: T:ReflectionEventing.IEventBus + parent: ReflectionEventing + href: ReflectionEventing.IEventBus.html + name: IEventBus + nameWithType: IEventBus + fullName: ReflectionEventing.IEventBus +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.EventBusExtensions.Send* + commentId: Overload:ReflectionEventing.EventBusExtensions.Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + name: Send + nameWithType: EventBusExtensions.Send + fullName: ReflectionEventing.EventBusExtensions.Send +- uid: '{TEvent}' + commentId: '!:TEvent' + definition: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: ReflectionEventing.EventBusExtensions.Publish* + commentId: Overload:ReflectionEventing.EventBusExtensions.Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + name: Publish + nameWithType: EventBusExtensions.Publish + fullName: ReflectionEventing.EventBusExtensions.Publish diff --git a/docs/api/ReflectionEventing.HashedConsumerTypesProvider.yml b/docs/api/ReflectionEventing.HashedConsumerTypesProvider.yml new file mode 100644 index 0000000..8adb380 --- /dev/null +++ b/docs/api/ReflectionEventing.HashedConsumerTypesProvider.yml @@ -0,0 +1,694 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.HashedConsumerTypesProvider + commentId: T:ReflectionEventing.HashedConsumerTypesProvider + id: HashedConsumerTypesProvider + parent: ReflectionEventing + children: + - ReflectionEventing.HashedConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}}) + - ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes(System.Type) + langs: + - csharp + - vb + name: HashedConsumerTypesProvider + nameWithType: HashedConsumerTypesProvider + fullName: ReflectionEventing.HashedConsumerTypesProvider + type: Class + source: + remote: + path: src/ReflectionEventing/HashedConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: HashedConsumerTypesProvider + path: ../src/ReflectionEventing/HashedConsumerTypesProvider.cs + startLine: 13 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides a mechanism for retrieving types of event consumers based on a specific event type. + remarks: This class uses a dictionary of consumers where the key is the consumer type and the value is a collection of event types that the consumer can handle. + example: [] + syntax: + content: 'public class HashedConsumerTypesProvider : IConsumerTypesProvider' + content.vb: Public Class HashedConsumerTypesProvider Implements IConsumerTypesProvider + inheritance: + - System.Object + implements: + - ReflectionEventing.IConsumerTypesProvider + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone + extensionMethods: + - ReflectionEventing.IConsumerTypesProvider.ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1 +- uid: ReflectionEventing.HashedConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}}) + commentId: M:ReflectionEventing.HashedConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}}) + id: '#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}})' + parent: ReflectionEventing.HashedConsumerTypesProvider + langs: + - csharp + - vb + name: HashedConsumerTypesProvider(IDictionary>) + nameWithType: HashedConsumerTypesProvider.HashedConsumerTypesProvider(IDictionary>) + fullName: ReflectionEventing.HashedConsumerTypesProvider.HashedConsumerTypesProvider(System.Collections.Generic.IDictionary>) + type: Constructor + source: + remote: + path: src/ReflectionEventing/HashedConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing/HashedConsumerTypesProvider.cs + startLine: 13 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides a mechanism for retrieving types of event consumers based on a specific event type. + remarks: This class uses a dictionary of consumers where the key is the consumer type and the value is a collection of event types that the consumer can handle. + example: [] + syntax: + content: public HashedConsumerTypesProvider(IDictionary> consumers) + parameters: + - id: consumers + type: System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}} + content.vb: Public Sub New(consumers As IDictionary(Of Type, IEnumerable(Of Type))) + overload: ReflectionEventing.HashedConsumerTypesProvider.#ctor* + nameWithType.vb: HashedConsumerTypesProvider.New(IDictionary(Of Type, IEnumerable(Of Type))) + fullName.vb: ReflectionEventing.HashedConsumerTypesProvider.New(System.Collections.Generic.IDictionary(Of System.Type, System.Collections.Generic.IEnumerable(Of System.Type))) + name.vb: New(IDictionary(Of Type, IEnumerable(Of Type))) +- uid: ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes(System.Type) + commentId: M:ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes(System.Type) + id: GetConsumerTypes(System.Type) + parent: ReflectionEventing.HashedConsumerTypesProvider + langs: + - csharp + - vb + name: GetConsumerTypes(Type) + nameWithType: HashedConsumerTypesProvider.GetConsumerTypes(Type) + fullName: ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes(System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing/HashedConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetConsumerTypes + path: ../src/ReflectionEventing/HashedConsumerTypesProvider.cs + startLine: 17 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Gets the consumer types for the specified event type. + example: [] + syntax: + content: public IEnumerable GetConsumerTypes(Type eventType) + parameters: + - id: eventType + type: System.Type + return: + type: System.Collections.Generic.IEnumerable{System.Type} + description: A collection of consumer types that can handle the specified event type. + content.vb: Public Function GetConsumerTypes(eventType As Type) As IEnumerable(Of Type) + overload: ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes* + implements: + - ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: ReflectionEventing.IConsumerTypesProvider.ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1 + commentId: M:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + parent: ReflectionEventing.ConsumerTypesProviderExtensions + definition: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + name: GetConsumerTypes(IConsumerTypesProvider) + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes(IConsumerTypesProvider) + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(ReflectionEventing.IConsumerTypesProvider) + nameWithType.vb: ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + fullName.vb: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(ReflectionEventing.IConsumerTypesProvider) + name.vb: GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + spec.csharp: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) + spec.vb: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + commentId: M:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + name: GetConsumerTypes(IConsumerTypesProvider) + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes(IConsumerTypesProvider) + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(ReflectionEventing.IConsumerTypesProvider) + nameWithType.vb: ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + fullName.vb: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(ReflectionEventing.IConsumerTypesProvider) + name.vb: GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + spec.csharp: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) + spec.vb: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) +- uid: ReflectionEventing.ConsumerTypesProviderExtensions + commentId: T:ReflectionEventing.ConsumerTypesProviderExtensions + parent: ReflectionEventing + href: ReflectionEventing.ConsumerTypesProviderExtensions.html + name: ConsumerTypesProviderExtensions + nameWithType: ConsumerTypesProviderExtensions + fullName: ReflectionEventing.ConsumerTypesProviderExtensions +- uid: ReflectionEventing.HashedConsumerTypesProvider.#ctor* + commentId: Overload:ReflectionEventing.HashedConsumerTypesProvider.#ctor + href: ReflectionEventing.HashedConsumerTypesProvider.html#ReflectionEventing_HashedConsumerTypesProvider__ctor_System_Collections_Generic_IDictionary_System_Type_System_Collections_Generic_IEnumerable_System_Type___ + name: HashedConsumerTypesProvider + nameWithType: HashedConsumerTypesProvider.HashedConsumerTypesProvider + fullName: ReflectionEventing.HashedConsumerTypesProvider.HashedConsumerTypesProvider + nameWithType.vb: HashedConsumerTypesProvider.New + fullName.vb: ReflectionEventing.HashedConsumerTypesProvider.New + name.vb: New +- uid: System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}} + commentId: T:System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}} + parent: System.Collections.Generic + definition: System.Collections.Generic.IDictionary`2 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + name: IDictionary> + nameWithType: IDictionary> + fullName: System.Collections.Generic.IDictionary> + nameWithType.vb: IDictionary(Of Type, IEnumerable(Of Type)) + fullName.vb: System.Collections.Generic.IDictionary(Of System.Type, System.Collections.Generic.IEnumerable(Of System.Type)) + name.vb: IDictionary(Of Type, IEnumerable(Of Type)) + spec.csharp: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ',' + - name: " " + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: '>' + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ',' + - name: " " + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + - name: ) +- uid: System.Collections.Generic.IDictionary`2 + commentId: T:System.Collections.Generic.IDictionary`2 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + name: IDictionary + nameWithType: IDictionary + fullName: System.Collections.Generic.IDictionary + nameWithType.vb: IDictionary(Of TKey, TValue) + fullName.vb: System.Collections.Generic.IDictionary(Of TKey, TValue) + name.vb: IDictionary(Of TKey, TValue) + spec.csharp: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: < + - name: TKey + - name: ',' + - name: " " + - name: TValue + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: ( + - name: Of + - name: " " + - name: TKey + - name: ',' + - name: " " + - name: TValue + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic +- uid: ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes* + commentId: Overload:ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes + href: ReflectionEventing.HashedConsumerTypesProvider.html#ReflectionEventing_HashedConsumerTypesProvider_GetConsumerTypes_System_Type_ + name: GetConsumerTypes + nameWithType: HashedConsumerTypesProvider.GetConsumerTypes + fullName: ReflectionEventing.HashedConsumerTypesProvider.GetConsumerTypes +- uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + commentId: M:ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + parent: ReflectionEventing.IConsumerTypesProvider + isExternal: true + href: ReflectionEventing.IConsumerTypesProvider.html#ReflectionEventing_IConsumerTypesProvider_GetConsumerTypes_System_Type_ + name: GetConsumerTypes(Type) + nameWithType: IConsumerTypesProvider.GetConsumerTypes(Type) + fullName: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + spec.csharp: + - uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + name: GetConsumerTypes + href: ReflectionEventing.IConsumerTypesProvider.html#ReflectionEventing_IConsumerTypesProvider_GetConsumerTypes_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + name: GetConsumerTypes + href: ReflectionEventing.IConsumerTypesProvider.html#ReflectionEventing_IConsumerTypesProvider_GetConsumerTypes_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: System.Collections.Generic.IEnumerable{System.Type} + commentId: T:System.Collections.Generic.IEnumerable{System.Type} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of Type) + fullName.vb: System.Collections.Generic.IEnumerable(Of System.Type) + name.vb: IEnumerable(Of Type) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) diff --git a/docs/api/ReflectionEventing.HashedPolymorphicConsumerTypesProvider.yml b/docs/api/ReflectionEventing.HashedPolymorphicConsumerTypesProvider.yml new file mode 100644 index 0000000..570b1e8 --- /dev/null +++ b/docs/api/ReflectionEventing.HashedPolymorphicConsumerTypesProvider.yml @@ -0,0 +1,694 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider + commentId: T:ReflectionEventing.HashedPolymorphicConsumerTypesProvider + id: HashedPolymorphicConsumerTypesProvider + parent: ReflectionEventing + children: + - ReflectionEventing.HashedPolymorphicConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}}) + - ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes(System.Type) + langs: + - csharp + - vb + name: HashedPolymorphicConsumerTypesProvider + nameWithType: HashedPolymorphicConsumerTypesProvider + fullName: ReflectionEventing.HashedPolymorphicConsumerTypesProvider + type: Class + source: + remote: + path: src/ReflectionEventing/HashedPolymorphicConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: HashedPolymorphicConsumerTypesProvider + path: ../src/ReflectionEventing/HashedPolymorphicConsumerTypesProvider.cs + startLine: 13 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides a mechanism for retrieving types of event consumers based on a specific event type. + remarks: This class uses a dictionary of consumers where the key is the consumer type and the value is a collection of event types that the consumer can handle. + example: [] + syntax: + content: 'public class HashedPolymorphicConsumerTypesProvider : IConsumerTypesProvider' + content.vb: Public Class HashedPolymorphicConsumerTypesProvider Implements IConsumerTypesProvider + inheritance: + - System.Object + implements: + - ReflectionEventing.IConsumerTypesProvider + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone + extensionMethods: + - ReflectionEventing.IConsumerTypesProvider.ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1 +- uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}}) + commentId: M:ReflectionEventing.HashedPolymorphicConsumerTypesProvider.#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}}) + id: '#ctor(System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}})' + parent: ReflectionEventing.HashedPolymorphicConsumerTypesProvider + langs: + - csharp + - vb + name: HashedPolymorphicConsumerTypesProvider(IDictionary>) + nameWithType: HashedPolymorphicConsumerTypesProvider.HashedPolymorphicConsumerTypesProvider(IDictionary>) + fullName: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.HashedPolymorphicConsumerTypesProvider(System.Collections.Generic.IDictionary>) + type: Constructor + source: + remote: + path: src/ReflectionEventing/HashedPolymorphicConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing/HashedPolymorphicConsumerTypesProvider.cs + startLine: 13 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides a mechanism for retrieving types of event consumers based on a specific event type. + remarks: This class uses a dictionary of consumers where the key is the consumer type and the value is a collection of event types that the consumer can handle. + example: [] + syntax: + content: public HashedPolymorphicConsumerTypesProvider(IDictionary> consumers) + parameters: + - id: consumers + type: System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}} + content.vb: Public Sub New(consumers As IDictionary(Of Type, IEnumerable(Of Type))) + overload: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.#ctor* + nameWithType.vb: HashedPolymorphicConsumerTypesProvider.New(IDictionary(Of Type, IEnumerable(Of Type))) + fullName.vb: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.New(System.Collections.Generic.IDictionary(Of System.Type, System.Collections.Generic.IEnumerable(Of System.Type))) + name.vb: New(IDictionary(Of Type, IEnumerable(Of Type))) +- uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes(System.Type) + commentId: M:ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes(System.Type) + id: GetConsumerTypes(System.Type) + parent: ReflectionEventing.HashedPolymorphicConsumerTypesProvider + langs: + - csharp + - vb + name: GetConsumerTypes(Type) + nameWithType: HashedPolymorphicConsumerTypesProvider.GetConsumerTypes(Type) + fullName: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes(System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing/HashedPolymorphicConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetConsumerTypes + path: ../src/ReflectionEventing/HashedPolymorphicConsumerTypesProvider.cs + startLine: 17 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Gets the consumer types for the specified event type. + example: [] + syntax: + content: public IEnumerable GetConsumerTypes(Type eventType) + parameters: + - id: eventType + type: System.Type + return: + type: System.Collections.Generic.IEnumerable{System.Type} + description: A collection of consumer types that can handle the specified event type. + content.vb: Public Function GetConsumerTypes(eventType As Type) As IEnumerable(Of Type) + overload: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes* + implements: + - ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: ReflectionEventing.IConsumerTypesProvider.ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1 + commentId: M:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + parent: ReflectionEventing.ConsumerTypesProviderExtensions + definition: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + name: GetConsumerTypes(IConsumerTypesProvider) + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes(IConsumerTypesProvider) + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(ReflectionEventing.IConsumerTypesProvider) + nameWithType.vb: ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + fullName.vb: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(ReflectionEventing.IConsumerTypesProvider) + name.vb: GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + spec.csharp: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) + spec.vb: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + commentId: M:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + name: GetConsumerTypes(IConsumerTypesProvider) + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes(IConsumerTypesProvider) + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(ReflectionEventing.IConsumerTypesProvider) + nameWithType.vb: ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + fullName.vb: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(ReflectionEventing.IConsumerTypesProvider) + name.vb: GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + spec.csharp: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) + spec.vb: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) +- uid: ReflectionEventing.ConsumerTypesProviderExtensions + commentId: T:ReflectionEventing.ConsumerTypesProviderExtensions + parent: ReflectionEventing + href: ReflectionEventing.ConsumerTypesProviderExtensions.html + name: ConsumerTypesProviderExtensions + nameWithType: ConsumerTypesProviderExtensions + fullName: ReflectionEventing.ConsumerTypesProviderExtensions +- uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.#ctor* + commentId: Overload:ReflectionEventing.HashedPolymorphicConsumerTypesProvider.#ctor + href: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.html#ReflectionEventing_HashedPolymorphicConsumerTypesProvider__ctor_System_Collections_Generic_IDictionary_System_Type_System_Collections_Generic_IEnumerable_System_Type___ + name: HashedPolymorphicConsumerTypesProvider + nameWithType: HashedPolymorphicConsumerTypesProvider.HashedPolymorphicConsumerTypesProvider + fullName: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.HashedPolymorphicConsumerTypesProvider + nameWithType.vb: HashedPolymorphicConsumerTypesProvider.New + fullName.vb: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.New + name.vb: New +- uid: System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}} + commentId: T:System.Collections.Generic.IDictionary{System.Type,System.Collections.Generic.IEnumerable{System.Type}} + parent: System.Collections.Generic + definition: System.Collections.Generic.IDictionary`2 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + name: IDictionary> + nameWithType: IDictionary> + fullName: System.Collections.Generic.IDictionary> + nameWithType.vb: IDictionary(Of Type, IEnumerable(Of Type)) + fullName.vb: System.Collections.Generic.IDictionary(Of System.Type, System.Collections.Generic.IEnumerable(Of System.Type)) + name.vb: IDictionary(Of Type, IEnumerable(Of Type)) + spec.csharp: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ',' + - name: " " + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: '>' + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ',' + - name: " " + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + - name: ) +- uid: System.Collections.Generic.IDictionary`2 + commentId: T:System.Collections.Generic.IDictionary`2 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + name: IDictionary + nameWithType: IDictionary + fullName: System.Collections.Generic.IDictionary + nameWithType.vb: IDictionary(Of TKey, TValue) + fullName.vb: System.Collections.Generic.IDictionary(Of TKey, TValue) + name.vb: IDictionary(Of TKey, TValue) + spec.csharp: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: < + - name: TKey + - name: ',' + - name: " " + - name: TValue + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IDictionary`2 + name: IDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.idictionary-2 + - name: ( + - name: Of + - name: " " + - name: TKey + - name: ',' + - name: " " + - name: TValue + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic +- uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes* + commentId: Overload:ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes + href: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.html#ReflectionEventing_HashedPolymorphicConsumerTypesProvider_GetConsumerTypes_System_Type_ + name: GetConsumerTypes + nameWithType: HashedPolymorphicConsumerTypesProvider.GetConsumerTypes + fullName: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.GetConsumerTypes +- uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + commentId: M:ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + parent: ReflectionEventing.IConsumerTypesProvider + isExternal: true + href: ReflectionEventing.IConsumerTypesProvider.html#ReflectionEventing_IConsumerTypesProvider_GetConsumerTypes_System_Type_ + name: GetConsumerTypes(Type) + nameWithType: IConsumerTypesProvider.GetConsumerTypes(Type) + fullName: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + spec.csharp: + - uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + name: GetConsumerTypes + href: ReflectionEventing.IConsumerTypesProvider.html#ReflectionEventing_IConsumerTypesProvider_GetConsumerTypes_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) + spec.vb: + - uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + name: GetConsumerTypes + href: ReflectionEventing.IConsumerTypesProvider.html#ReflectionEventing_IConsumerTypesProvider_GetConsumerTypes_System_Type_ + - name: ( + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: System.Collections.Generic.IEnumerable{System.Type} + commentId: T:System.Collections.Generic.IEnumerable{System.Type} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of Type) + fullName.vb: System.Collections.Generic.IEnumerable(Of System.Type) + name.vb: IEnumerable(Of Type) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) diff --git a/docs/api/ReflectionEventing.IConsumer-1.yml b/docs/api/ReflectionEventing.IConsumer-1.yml new file mode 100644 index 0000000..403c801 --- /dev/null +++ b/docs/api/ReflectionEventing.IConsumer-1.yml @@ -0,0 +1,183 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.IConsumer`1 + commentId: T:ReflectionEventing.IConsumer`1 + id: IConsumer`1 + parent: ReflectionEventing + children: + - ReflectionEventing.IConsumer`1.ConsumeAsync(`0,System.Threading.CancellationToken) + langs: + - csharp + - vb + name: IConsumer + nameWithType: IConsumer + fullName: ReflectionEventing.IConsumer + type: Interface + source: + remote: + path: src/ReflectionEventing/IConsumer.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: IConsumer + path: ../src/ReflectionEventing/IConsumer.cs + startLine: 14 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Defines a contract for a consumer that can handle a specific event type. + remarks: Implementations of this interface are expected to provide a mechanism to consume a specific event type asynchronously. + example: [] + syntax: + content: public interface IConsumer + typeParameters: + - id: TEvent + description: The type of the event that the consumer can handle. + content.vb: Public Interface IConsumer(Of In TEvent) + nameWithType.vb: IConsumer(Of TEvent) + fullName.vb: ReflectionEventing.IConsumer(Of TEvent) + name.vb: IConsumer(Of TEvent) +- uid: ReflectionEventing.IConsumer`1.ConsumeAsync(`0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.IConsumer`1.ConsumeAsync(`0,System.Threading.CancellationToken) + id: ConsumeAsync(`0,System.Threading.CancellationToken) + parent: ReflectionEventing.IConsumer`1 + langs: + - csharp + - vb + name: ConsumeAsync(TEvent, CancellationToken) + nameWithType: IConsumer.ConsumeAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.IConsumer.ConsumeAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/IConsumer.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ConsumeAsync + path: ../src/ReflectionEventing/IConsumer.cs + startLine: 22 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Consumes the specified event asynchronously. + example: [] + syntax: + content: Task ConsumeAsync(TEvent payload, CancellationToken cancellationToken) + parameters: + - id: payload + type: '{TEvent}' + description: The event to consume. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A cancellation token that can be used to cancel the operation. + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous operation. + content.vb: Function ConsumeAsync(payload As TEvent, cancellationToken As CancellationToken) As Task + overload: ReflectionEventing.IConsumer`1.ConsumeAsync* + nameWithType.vb: IConsumer(Of TEvent).ConsumeAsync(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.IConsumer(Of TEvent).ConsumeAsync(TEvent, System.Threading.CancellationToken) +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.IConsumer`1.ConsumeAsync* + commentId: Overload:ReflectionEventing.IConsumer`1.ConsumeAsync + href: ReflectionEventing.IConsumer-1.html#ReflectionEventing_IConsumer_1_ConsumeAsync__0_System_Threading_CancellationToken_ + name: ConsumeAsync + nameWithType: IConsumer.ConsumeAsync + fullName: ReflectionEventing.IConsumer.ConsumeAsync + nameWithType.vb: IConsumer(Of TEvent).ConsumeAsync + fullName.vb: ReflectionEventing.IConsumer(Of TEvent).ConsumeAsync +- uid: '{TEvent}' + commentId: '!:TEvent' + definition: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading.CancellationToken + commentId: T:System.Threading.CancellationToken + parent: System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + name: CancellationToken + nameWithType: CancellationToken + fullName: System.Threading.CancellationToken +- uid: System.Threading.Tasks.Task + commentId: T:System.Threading.Tasks.Task + parent: System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks.task + name: Task + nameWithType: Task + fullName: System.Threading.Tasks.Task +- uid: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading + commentId: N:System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading + nameWithType: System.Threading + fullName: System.Threading + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading +- uid: System.Threading.Tasks + commentId: N:System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading.Tasks + nameWithType: System.Threading.Tasks + fullName: System.Threading.Tasks + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks diff --git a/docs/api/ReflectionEventing.IConsumerProvider.yml b/docs/api/ReflectionEventing.IConsumerProvider.yml new file mode 100644 index 0000000..f9df773 --- /dev/null +++ b/docs/api/ReflectionEventing.IConsumerProvider.yml @@ -0,0 +1,213 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.IConsumerProvider + commentId: T:ReflectionEventing.IConsumerProvider + id: IConsumerProvider + parent: ReflectionEventing + children: + - ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + langs: + - csharp + - vb + name: IConsumerProvider + nameWithType: IConsumerProvider + fullName: ReflectionEventing.IConsumerProvider + type: Interface + source: + remote: + path: src/ReflectionEventing/IConsumerProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: IConsumerProvider + path: ../src/ReflectionEventing/IConsumerProvider.cs + startLine: 14 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Defines a provider for retrieving types of event consumers. + remarks: >- + An implementation of this interface should be able to provide all types that are consumers of a specific event type. + + The consumers are not necessarily instances, but rather the types that can be used to create instances of consumers. + example: [] + syntax: + content: public interface IConsumerProvider + content.vb: Public Interface IConsumerProvider +- uid: ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + commentId: M:ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + id: GetConsumers(System.Type) + parent: ReflectionEventing.IConsumerProvider + langs: + - csharp + - vb + name: GetConsumers(Type) + nameWithType: IConsumerProvider.GetConsumers(Type) + fullName: ReflectionEventing.IConsumerProvider.GetConsumers(System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing/IConsumerProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetConsumers + path: ../src/ReflectionEventing/IConsumerProvider.cs + startLine: 27 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Gets the consumers objects for the specified event type. + example: + - >- +
Type consumerType = typeof(MyEvent);
+
+    IEnumerable<object> consumerTypes = consumerProvider.GetConsumers(consumerType);
+ syntax: + content: IEnumerable GetConsumers(Type consumerType) + parameters: + - id: consumerType + type: System.Type + description: The type of the event that the consumers handle. + return: + type: System.Collections.Generic.IEnumerable{System.Object} + description: An enumerable of 's that are consumers of the specified event type. + content.vb: Function GetConsumers(consumerType As Type) As IEnumerable(Of Object) + overload: ReflectionEventing.IConsumerProvider.GetConsumers* +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.IConsumerProvider.GetConsumers* + commentId: Overload:ReflectionEventing.IConsumerProvider.GetConsumers + href: ReflectionEventing.IConsumerProvider.html#ReflectionEventing_IConsumerProvider_GetConsumers_System_Type_ + name: GetConsumers + nameWithType: IConsumerProvider.GetConsumers + fullName: ReflectionEventing.IConsumerProvider.GetConsumers +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: System.Collections.Generic.IEnumerable{System.Object} + commentId: T:System.Collections.Generic.IEnumerable{System.Object} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of Object) + fullName.vb: System.Collections.Generic.IEnumerable(Of Object) + name.vb: IEnumerable(Of Object) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic diff --git a/docs/api/ReflectionEventing.IConsumerTypesProvider.yml b/docs/api/ReflectionEventing.IConsumerTypesProvider.yml new file mode 100644 index 0000000..b04e802 --- /dev/null +++ b/docs/api/ReflectionEventing.IConsumerTypesProvider.yml @@ -0,0 +1,275 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + id: IConsumerTypesProvider + parent: ReflectionEventing + children: + - ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + langs: + - csharp + - vb + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider + type: Interface + source: + remote: + path: src/ReflectionEventing/IConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: IConsumerTypesProvider + path: ../src/ReflectionEventing/IConsumerTypesProvider.cs + startLine: 13 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Defines a contract for a provider that can supply consumers for a specific event type. + remarks: Implementations of this interface are expected to provide a mechanism to retrieve consumers that can handle a specific event type. + example: [] + syntax: + content: public interface IConsumerTypesProvider + content.vb: Public Interface IConsumerTypesProvider + extensionMethods: + - ReflectionEventing.IConsumerTypesProvider.ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1 +- uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + commentId: M:ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + id: GetConsumerTypes(System.Type) + parent: ReflectionEventing.IConsumerTypesProvider + langs: + - csharp + - vb + name: GetConsumerTypes(Type) + nameWithType: IConsumerTypesProvider.GetConsumerTypes(Type) + fullName: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes(System.Type) + type: Method + source: + remote: + path: src/ReflectionEventing/IConsumerTypesProvider.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetConsumerTypes + path: ../src/ReflectionEventing/IConsumerTypesProvider.cs + startLine: 19 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Gets the consumer types for the specified event type. + example: [] + syntax: + content: IEnumerable GetConsumerTypes(Type eventType) + parameters: + - id: eventType + type: System.Type + return: + type: System.Collections.Generic.IEnumerable{System.Type} + description: A collection of consumer types that can handle the specified event type. + content.vb: Function GetConsumerTypes(eventType As Type) As IEnumerable(Of Type) + overload: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes* +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.IConsumerTypesProvider.ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1 + commentId: M:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + parent: ReflectionEventing.ConsumerTypesProviderExtensions + definition: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + name: GetConsumerTypes(IConsumerTypesProvider) + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes(IConsumerTypesProvider) + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(ReflectionEventing.IConsumerTypesProvider) + nameWithType.vb: ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + fullName.vb: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(ReflectionEventing.IConsumerTypesProvider) + name.vb: GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + spec.csharp: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) + spec.vb: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) +- uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + commentId: M:ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + name: GetConsumerTypes(IConsumerTypesProvider) + nameWithType: ConsumerTypesProviderExtensions.GetConsumerTypes(IConsumerTypesProvider) + fullName: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(ReflectionEventing.IConsumerTypesProvider) + nameWithType.vb: ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + fullName.vb: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes(Of TEvent)(ReflectionEventing.IConsumerTypesProvider) + name.vb: GetConsumerTypes(Of TEvent)(IConsumerTypesProvider) + spec.csharp: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) + spec.vb: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions.GetConsumerTypes``1(ReflectionEventing.IConsumerTypesProvider) + name: GetConsumerTypes + href: ReflectionEventing.ConsumerTypesProviderExtensions.html#ReflectionEventing_ConsumerTypesProviderExtensions_GetConsumerTypes__1_ReflectionEventing_IConsumerTypesProvider_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + href: ReflectionEventing.IConsumerTypesProvider.html + - name: ) +- uid: ReflectionEventing.ConsumerTypesProviderExtensions + commentId: T:ReflectionEventing.ConsumerTypesProviderExtensions + parent: ReflectionEventing + href: ReflectionEventing.ConsumerTypesProviderExtensions.html + name: ConsumerTypesProviderExtensions + nameWithType: ConsumerTypesProviderExtensions + fullName: ReflectionEventing.ConsumerTypesProviderExtensions +- uid: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes* + commentId: Overload:ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes + href: ReflectionEventing.IConsumerTypesProvider.html#ReflectionEventing_IConsumerTypesProvider_GetConsumerTypes_System_Type_ + name: GetConsumerTypes + nameWithType: IConsumerTypesProvider.GetConsumerTypes + fullName: ReflectionEventing.IConsumerTypesProvider.GetConsumerTypes +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: System.Collections.Generic.IEnumerable{System.Type} + commentId: T:System.Collections.Generic.IEnumerable{System.Type} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of Type) + fullName.vb: System.Collections.Generic.IEnumerable(Of System.Type) + name.vb: IEnumerable(Of Type) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Type + name: Type + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic diff --git a/docs/api/ReflectionEventing.IEventBus.yml b/docs/api/ReflectionEventing.IEventBus.yml new file mode 100644 index 0000000..a9fc388 --- /dev/null +++ b/docs/api/ReflectionEventing.IEventBus.yml @@ -0,0 +1,412 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.IEventBus + commentId: T:ReflectionEventing.IEventBus + id: IEventBus + parent: ReflectionEventing + children: + - ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + - ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + langs: + - csharp + - vb + name: IEventBus + nameWithType: IEventBus + fullName: ReflectionEventing.IEventBus + type: Interface + source: + remote: + path: src/ReflectionEventing/IEventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: IEventBus + path: ../src/ReflectionEventing/IEventBus.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Provides event publishing capabilities. + example: [] + syntax: + content: public interface IEventBus + content.vb: Public Interface IEventBus + extensionMethods: + - ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Publish``1({TEvent}) + - ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Send``1({TEvent}) +- uid: ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.IEventBus.SendAsync``1(``0,System.Threading.CancellationToken) + id: SendAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.IEventBus + langs: + - csharp + - vb + name: SendAsync(TEvent, CancellationToken) + nameWithType: IEventBus.SendAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.IEventBus.SendAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/IEventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: SendAsync + path: ../src/ReflectionEventing/IEventBus.cs + startLine: 23 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Sends the specified event asynchronously within the current scope, waiting for its execution. + remarks: >- + This method gets the consumers for the specified event type from the consumer provider and then uses the service provider to get the required service for each consumer. + + Each consumer is then used to consume the event asynchronously. + example: [] + syntax: + content: 'Task SendAsync(TEvent eventItem, CancellationToken cancellationToken = default) where TEvent : class' + parameters: + - id: eventItem + type: '{TEvent}' + description: The event to send. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A cancellation token that can be used to cancel the operation. + typeParameters: + - id: TEvent + description: The type of the event to send. + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous operation. + content.vb: Function SendAsync(Of TEvent As Class)(eventItem As TEvent, cancellationToken As CancellationToken = Nothing) As Task + overload: ReflectionEventing.IEventBus.SendAsync* + nameWithType.vb: IEventBus.SendAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.IEventBus.SendAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: SendAsync(Of TEvent)(TEvent, CancellationToken) +- uid: ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.IEventBus.PublishAsync``1(``0,System.Threading.CancellationToken) + id: PublishAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.IEventBus + langs: + - csharp + - vb + name: PublishAsync(TEvent, CancellationToken) + nameWithType: IEventBus.PublishAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.IEventBus.PublishAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/IEventBus.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: PublishAsync + path: ../src/ReflectionEventing/IEventBus.cs + startLine: 36 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing + summary: Adds the specified event to the queue.Another scope will take over execution as configured. + remarks: The method only adds the event to the execution queue, it does not wait for its successful execution. + example: [] + syntax: + content: 'Task PublishAsync(TEvent eventItem, CancellationToken cancellationToken = default) where TEvent : class' + parameters: + - id: eventItem + type: '{TEvent}' + description: The event to publish. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A cancellation token that can be used to cancel the operation. + typeParameters: + - id: TEvent + description: The type of the event to publish. + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous operation. + content.vb: Function PublishAsync(Of TEvent As Class)(eventItem As TEvent, cancellationToken As CancellationToken = Nothing) As Task + overload: ReflectionEventing.IEventBus.PublishAsync* + nameWithType.vb: IEventBus.PublishAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.IEventBus.PublishAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: PublishAsync(Of TEvent)(TEvent, CancellationToken) +references: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Publish``1({TEvent}) + commentId: M:ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + parent: ReflectionEventing.EventBusExtensions + definition: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + name: Publish(IEventBus, TEvent) + nameWithType: EventBusExtensions.Publish(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Publish(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Publish(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Publish(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Publish(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.IEventBus.ReflectionEventing.EventBusExtensions.Send``1({TEvent}) + commentId: M:ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + parent: ReflectionEventing.EventBusExtensions + definition: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + name: Send(IEventBus, TEvent) + nameWithType: EventBusExtensions.Send(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Send(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Send(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Send(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Send(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + name: Publish(IEventBus, TEvent) + nameWithType: EventBusExtensions.Publish(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Publish(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Publish(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Publish(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Publish(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Publish``1(ReflectionEventing.IEventBus,``0) + name: Publish + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Publish__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.EventBusExtensions + commentId: T:ReflectionEventing.EventBusExtensions + parent: ReflectionEventing + href: ReflectionEventing.EventBusExtensions.html + name: EventBusExtensions + nameWithType: EventBusExtensions + fullName: ReflectionEventing.EventBusExtensions +- uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + commentId: M:ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + name: Send(IEventBus, TEvent) + nameWithType: EventBusExtensions.Send(IEventBus, TEvent) + fullName: ReflectionEventing.EventBusExtensions.Send(ReflectionEventing.IEventBus, TEvent) + nameWithType.vb: EventBusExtensions.Send(Of TEvent)(IEventBus, TEvent) + fullName.vb: ReflectionEventing.EventBusExtensions.Send(Of TEvent)(ReflectionEventing.IEventBus, TEvent) + name.vb: Send(Of TEvent)(IEventBus, TEvent) + spec.csharp: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) + spec.vb: + - uid: ReflectionEventing.EventBusExtensions.Send``1(ReflectionEventing.IEventBus,``0) + name: Send + href: ReflectionEventing.EventBusExtensions.html#ReflectionEventing_EventBusExtensions_Send__1_ReflectionEventing_IEventBus___0_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - uid: ReflectionEventing.IEventBus + name: IEventBus + href: ReflectionEventing.IEventBus.html + - name: ',' + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.IEventBus.SendAsync* + commentId: Overload:ReflectionEventing.IEventBus.SendAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_SendAsync__1___0_System_Threading_CancellationToken_ + name: SendAsync + nameWithType: IEventBus.SendAsync + fullName: ReflectionEventing.IEventBus.SendAsync +- uid: '{TEvent}' + commentId: '!:TEvent' + definition: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading.CancellationToken + commentId: T:System.Threading.CancellationToken + parent: System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + name: CancellationToken + nameWithType: CancellationToken + fullName: System.Threading.CancellationToken +- uid: System.Threading.Tasks.Task + commentId: T:System.Threading.Tasks.Task + parent: System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks.task + name: Task + nameWithType: Task + fullName: System.Threading.Tasks.Task +- uid: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading + commentId: N:System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading + nameWithType: System.Threading + fullName: System.Threading + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading +- uid: System.Threading.Tasks + commentId: N:System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading.Tasks + nameWithType: System.Threading.Tasks + fullName: System.Threading.Tasks + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks +- uid: ReflectionEventing.IEventBus.PublishAsync* + commentId: Overload:ReflectionEventing.IEventBus.PublishAsync + href: ReflectionEventing.IEventBus.html#ReflectionEventing_IEventBus_PublishAsync__1___0_System_Threading_CancellationToken_ + name: PublishAsync + nameWithType: IEventBus.PublishAsync + fullName: ReflectionEventing.IEventBus.PublishAsync diff --git a/docs/api/ReflectionEventing.Queues.EventsQueue.yml b/docs/api/ReflectionEventing.Queues.EventsQueue.yml new file mode 100644 index 0000000..2c0cf7a --- /dev/null +++ b/docs/api/ReflectionEventing.Queues.EventsQueue.yml @@ -0,0 +1,903 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.Queues.EventsQueue + commentId: T:ReflectionEventing.Queues.EventsQueue + id: EventsQueue + parent: ReflectionEventing.Queues + children: + - ReflectionEventing.Queues.EventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + - ReflectionEventing.Queues.EventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + - ReflectionEventing.Queues.EventsQueue.GetErrors + - ReflectionEventing.Queues.EventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + langs: + - csharp + - vb + name: EventsQueue + nameWithType: EventsQueue + fullName: ReflectionEventing.Queues.EventsQueue + type: Class + source: + remote: + path: src/ReflectionEventing/Queues/EventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EventsQueue + path: ../src/ReflectionEventing/Queues/EventsQueue.cs + startLine: 7 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + syntax: + content: 'public class EventsQueue : IEventsQueue' + content.vb: Public Class EventsQueue Implements IEventsQueue + inheritance: + - System.Object + implements: + - ReflectionEventing.Queues.IEventsQueue + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType + - System.Object.MemberwiseClone +- uid: ReflectionEventing.Queues.EventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.Queues.EventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + id: EnqueueAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.Queues.EventsQueue + langs: + - csharp + - vb + name: EnqueueAsync(TEvent, CancellationToken) + nameWithType: EventsQueue.EnqueueAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.Queues.EventsQueue.EnqueueAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/EventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EnqueueAsync + path: ../src/ReflectionEventing/Queues/EventsQueue.cs + startLine: 14 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Appends an event to the queue asynchronously. + example: [] + syntax: + content: 'public virtual Task EnqueueAsync(TEvent @event, CancellationToken cancellationToken = default) where TEvent : class' + parameters: + - id: event + type: '{TEvent}' + description: The event to append to the queue. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A token to monitor for cancellation requests. + typeParameters: + - id: TEvent + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous append operation. + content.vb: Public Overridable Function EnqueueAsync(Of TEvent As Class)([event] As TEvent, cancellationToken As CancellationToken = Nothing) As Task + overload: ReflectionEventing.Queues.EventsQueue.EnqueueAsync* + implements: + - ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1({TEvent},System.Threading.CancellationToken) + nameWithType.vb: EventsQueue.EnqueueAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.Queues.EventsQueue.EnqueueAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: EnqueueAsync(Of TEvent)(TEvent, CancellationToken) +- uid: ReflectionEventing.Queues.EventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + commentId: M:ReflectionEventing.Queues.EventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + id: ReadEventsAsync(System.Threading.CancellationToken) + parent: ReflectionEventing.Queues.EventsQueue + langs: + - csharp + - vb + name: ReadEventsAsync(CancellationToken) + nameWithType: EventsQueue.ReadEventsAsync(CancellationToken) + fullName: ReflectionEventing.Queues.EventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/EventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ReadEventsAsync + path: ../src/ReflectionEventing/Queues/EventsQueue.cs + startLine: 24 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Reads the events from the queue asynchronously. + example: [] + syntax: + content: public IAsyncEnumerable ReadEventsAsync(CancellationToken cancellationToken) + parameters: + - id: cancellationToken + type: System.Threading.CancellationToken + description: A token to monitor for cancellation requests. + return: + type: System.Collections.Generic.IAsyncEnumerable{System.Object} + description: An of events from the queue. + content.vb: Public Function ReadEventsAsync(cancellationToken As CancellationToken) As IAsyncEnumerable(Of Object) + overload: ReflectionEventing.Queues.EventsQueue.ReadEventsAsync* + implements: + - ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) +- uid: ReflectionEventing.Queues.EventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + commentId: M:ReflectionEventing.Queues.EventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + id: EnqueueError(ReflectionEventing.Queues.FailedEvent) + parent: ReflectionEventing.Queues.EventsQueue + langs: + - csharp + - vb + name: EnqueueError(FailedEvent) + nameWithType: EventsQueue.EnqueueError(FailedEvent) + fullName: ReflectionEventing.Queues.EventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/EventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EnqueueError + path: ../src/ReflectionEventing/Queues/EventsQueue.cs + startLine: 30 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Appends a failed event to the error queue. + example: [] + syntax: + content: public void EnqueueError(FailedEvent fail) + parameters: + - id: fail + type: ReflectionEventing.Queues.FailedEvent + description: The failed event to append to the error queue. + content.vb: Public Sub EnqueueError(fail As FailedEvent) + overload: ReflectionEventing.Queues.EventsQueue.EnqueueError* + implements: + - ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) +- uid: ReflectionEventing.Queues.EventsQueue.GetErrors + commentId: M:ReflectionEventing.Queues.EventsQueue.GetErrors + id: GetErrors + parent: ReflectionEventing.Queues.EventsQueue + langs: + - csharp + - vb + name: GetErrors() + nameWithType: EventsQueue.GetErrors() + fullName: ReflectionEventing.Queues.EventsQueue.GetErrors() + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/EventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetErrors + path: ../src/ReflectionEventing/Queues/EventsQueue.cs + startLine: 36 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Gets the events that failed processing from the error queue. + example: [] + syntax: + content: public IEnumerable GetErrors() + return: + type: System.Collections.Generic.IEnumerable{ReflectionEventing.Queues.FailedEvent} + description: An of events that failed processing. + content.vb: Public Function GetErrors() As IEnumerable(Of FailedEvent) + overload: ReflectionEventing.Queues.EventsQueue.GetErrors* + implements: + - ReflectionEventing.Queues.IEventsQueue.GetErrors +references: +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: ReflectionEventing.Queues.IEventsQueue + commentId: T:ReflectionEventing.Queues.IEventsQueue + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.IEventsQueue.html + name: IEventsQueue + nameWithType: IEventsQueue + fullName: ReflectionEventing.Queues.IEventsQueue +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing.Queues.EventsQueue.EnqueueAsync* + commentId: Overload:ReflectionEventing.Queues.EventsQueue.EnqueueAsync + href: ReflectionEventing.Queues.EventsQueue.html#ReflectionEventing_Queues_EventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + name: EnqueueAsync + nameWithType: EventsQueue.EnqueueAsync + fullName: ReflectionEventing.Queues.EventsQueue.EnqueueAsync +- uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1({TEvent},System.Threading.CancellationToken) + commentId: M:ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.Queues.IEventsQueue + definition: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + name: EnqueueAsync(TEvent, CancellationToken) + nameWithType: IEventsQueue.EnqueueAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: IEventsQueue.EnqueueAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: EnqueueAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + name: EnqueueAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + name: EnqueueAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: '{TEvent}' + commentId: '!:TEvent' + definition: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading.CancellationToken + commentId: T:System.Threading.CancellationToken + parent: System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + name: CancellationToken + nameWithType: CancellationToken + fullName: System.Threading.CancellationToken +- uid: System.Threading.Tasks.Task + commentId: T:System.Threading.Tasks.Task + parent: System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks.task + name: Task + nameWithType: Task + fullName: System.Threading.Tasks.Task +- uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + isExternal: true + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + name: EnqueueAsync(TEvent, CancellationToken) + nameWithType: IEventsQueue.EnqueueAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync(TEvent, System.Threading.CancellationToken) + nameWithType.vb: IEventsQueue.EnqueueAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: EnqueueAsync(Of TEvent)(TEvent, CancellationToken) + spec.csharp: + - uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + name: EnqueueAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + - name: < + - name: TEvent + - name: '>' + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + name: EnqueueAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) + - name: ( + - name: TEvent + - name: ',' + - name: " " + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading + commentId: N:System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading + nameWithType: System.Threading + fullName: System.Threading + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading +- uid: System.Threading.Tasks + commentId: N:System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading.Tasks + nameWithType: System.Threading.Tasks + fullName: System.Threading.Tasks + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks +- uid: System.Collections.Generic.IAsyncEnumerable`1 + commentId: T:System.Collections.Generic.IAsyncEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + name: IAsyncEnumerable + nameWithType: IAsyncEnumerable + fullName: System.Collections.Generic.IAsyncEnumerable + nameWithType.vb: IAsyncEnumerable(Of T) + fullName.vb: System.Collections.Generic.IAsyncEnumerable(Of T) + name.vb: IAsyncEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: ReflectionEventing.Queues.EventsQueue.ReadEventsAsync* + commentId: Overload:ReflectionEventing.Queues.EventsQueue.ReadEventsAsync + href: ReflectionEventing.Queues.EventsQueue.html#ReflectionEventing_Queues_EventsQueue_ReadEventsAsync_System_Threading_CancellationToken_ + name: ReadEventsAsync + nameWithType: EventsQueue.ReadEventsAsync + fullName: ReflectionEventing.Queues.EventsQueue.ReadEventsAsync +- uid: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + commentId: M:ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + parent: ReflectionEventing.Queues.IEventsQueue + isExternal: true + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_ReadEventsAsync_System_Threading_CancellationToken_ + name: ReadEventsAsync(CancellationToken) + nameWithType: IEventsQueue.ReadEventsAsync(CancellationToken) + fullName: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + spec.csharp: + - uid: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + name: ReadEventsAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_ReadEventsAsync_System_Threading_CancellationToken_ + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) + spec.vb: + - uid: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + name: ReadEventsAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_ReadEventsAsync_System_Threading_CancellationToken_ + - name: ( + - uid: System.Threading.CancellationToken + name: CancellationToken + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + - name: ) +- uid: System.Collections.Generic.IAsyncEnumerable{System.Object} + commentId: T:System.Collections.Generic.IAsyncEnumerable{System.Object} + parent: System.Collections.Generic + definition: System.Collections.Generic.IAsyncEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + name: IAsyncEnumerable + nameWithType: IAsyncEnumerable + fullName: System.Collections.Generic.IAsyncEnumerable + nameWithType.vb: IAsyncEnumerable(Of Object) + fullName.vb: System.Collections.Generic.IAsyncEnumerable(Of Object) + name.vb: IAsyncEnumerable(Of Object) + spec.csharp: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: < + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic +- uid: ReflectionEventing.Queues.EventsQueue.EnqueueError* + commentId: Overload:ReflectionEventing.Queues.EventsQueue.EnqueueError + href: ReflectionEventing.Queues.EventsQueue.html#ReflectionEventing_Queues_EventsQueue_EnqueueError_ReflectionEventing_Queues_FailedEvent_ + name: EnqueueError + nameWithType: EventsQueue.EnqueueError + fullName: ReflectionEventing.Queues.EventsQueue.EnqueueError +- uid: ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + commentId: M:ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + parent: ReflectionEventing.Queues.IEventsQueue + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueError_ReflectionEventing_Queues_FailedEvent_ + name: EnqueueError(FailedEvent) + nameWithType: IEventsQueue.EnqueueError(FailedEvent) + fullName: ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + spec.csharp: + - uid: ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + name: EnqueueError + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueError_ReflectionEventing_Queues_FailedEvent_ + - name: ( + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: ) + spec.vb: + - uid: ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + name: EnqueueError + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueError_ReflectionEventing_Queues_FailedEvent_ + - name: ( + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: ) +- uid: ReflectionEventing.Queues.FailedEvent + commentId: T:ReflectionEventing.Queues.FailedEvent + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.FailedEvent.html + name: FailedEvent + nameWithType: FailedEvent + fullName: ReflectionEventing.Queues.FailedEvent +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: ReflectionEventing.Queues.EventsQueue.GetErrors* + commentId: Overload:ReflectionEventing.Queues.EventsQueue.GetErrors + href: ReflectionEventing.Queues.EventsQueue.html#ReflectionEventing_Queues_EventsQueue_GetErrors + name: GetErrors + nameWithType: EventsQueue.GetErrors + fullName: ReflectionEventing.Queues.EventsQueue.GetErrors +- uid: ReflectionEventing.Queues.IEventsQueue.GetErrors + commentId: M:ReflectionEventing.Queues.IEventsQueue.GetErrors + parent: ReflectionEventing.Queues.IEventsQueue + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_GetErrors + name: GetErrors() + nameWithType: IEventsQueue.GetErrors() + fullName: ReflectionEventing.Queues.IEventsQueue.GetErrors() + spec.csharp: + - uid: ReflectionEventing.Queues.IEventsQueue.GetErrors + name: GetErrors + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_GetErrors + - name: ( + - name: ) + spec.vb: + - uid: ReflectionEventing.Queues.IEventsQueue.GetErrors + name: GetErrors + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_GetErrors + - name: ( + - name: ) +- uid: System.Collections.Generic.IEnumerable{ReflectionEventing.Queues.FailedEvent} + commentId: T:System.Collections.Generic.IEnumerable{ReflectionEventing.Queues.FailedEvent} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of FailedEvent) + fullName.vb: System.Collections.Generic.IEnumerable(Of ReflectionEventing.Queues.FailedEvent) + name.vb: IEnumerable(Of FailedEvent) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: ) diff --git a/docs/api/ReflectionEventing.Queues.FailedEvent.yml b/docs/api/ReflectionEventing.Queues.FailedEvent.yml new file mode 100644 index 0000000..76340f6 --- /dev/null +++ b/docs/api/ReflectionEventing.Queues.FailedEvent.yml @@ -0,0 +1,514 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.Queues.FailedEvent + commentId: T:ReflectionEventing.Queues.FailedEvent + id: FailedEvent + parent: ReflectionEventing.Queues + children: + - ReflectionEventing.Queues.FailedEvent.Data + - ReflectionEventing.Queues.FailedEvent.Exception + - ReflectionEventing.Queues.FailedEvent.FailedConsumer + - ReflectionEventing.Queues.FailedEvent.Timestamp + langs: + - csharp + - vb + name: FailedEvent + nameWithType: FailedEvent + fullName: ReflectionEventing.Queues.FailedEvent + type: Class + source: + remote: + path: src/ReflectionEventing/Queues/FailedEvent.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: FailedEvent + path: ../src/ReflectionEventing/Queues/FailedEvent.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Represents an event that failed processing, including the event data, the exception that occurred, the consumer that failed, and the timestamp of the failure. + example: [] + syntax: + content: 'public sealed record FailedEvent : IEquatable' + content.vb: Public NotInheritable Class FailedEvent Implements IEquatable(Of FailedEvent) + inheritance: + - System.Object + implements: + - System.IEquatable{ReflectionEventing.Queues.FailedEvent} + inheritedMembers: + - System.Object.ToString + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.GetType +- uid: ReflectionEventing.Queues.FailedEvent.Data + commentId: P:ReflectionEventing.Queues.FailedEvent.Data + id: Data + parent: ReflectionEventing.Queues.FailedEvent + langs: + - csharp + - vb + name: Data + nameWithType: FailedEvent.Data + fullName: ReflectionEventing.Queues.FailedEvent.Data + type: Property + source: + remote: + path: src/ReflectionEventing/Queues/FailedEvent.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: Data + path: ../src/ReflectionEventing/Queues/FailedEvent.cs + startLine: 15 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Gets the data of the event that failed processing. + example: [] + syntax: + content: public required object Data { get; init; } + parameters: [] + return: + type: System.Object + content.vb: Public Property Data As Object + overload: ReflectionEventing.Queues.FailedEvent.Data* +- uid: ReflectionEventing.Queues.FailedEvent.Exception + commentId: P:ReflectionEventing.Queues.FailedEvent.Exception + id: Exception + parent: ReflectionEventing.Queues.FailedEvent + langs: + - csharp + - vb + name: Exception + nameWithType: FailedEvent.Exception + fullName: ReflectionEventing.Queues.FailedEvent.Exception + type: Property + source: + remote: + path: src/ReflectionEventing/Queues/FailedEvent.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: Exception + path: ../src/ReflectionEventing/Queues/FailedEvent.cs + startLine: 20 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Gets the exception that occurred during processing. + example: [] + syntax: + content: public required Exception Exception { get; init; } + parameters: [] + return: + type: System.Exception + content.vb: Public Property Exception As Exception + overload: ReflectionEventing.Queues.FailedEvent.Exception* +- uid: ReflectionEventing.Queues.FailedEvent.FailedConsumer + commentId: P:ReflectionEventing.Queues.FailedEvent.FailedConsumer + id: FailedConsumer + parent: ReflectionEventing.Queues.FailedEvent + langs: + - csharp + - vb + name: FailedConsumer + nameWithType: FailedEvent.FailedConsumer + fullName: ReflectionEventing.Queues.FailedEvent.FailedConsumer + type: Property + source: + remote: + path: src/ReflectionEventing/Queues/FailedEvent.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: FailedConsumer + path: ../src/ReflectionEventing/Queues/FailedEvent.cs + startLine: 25 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Gets the type of the consumer that failed to process the event. + example: [] + syntax: + content: public required Type FailedConsumer { get; init; } + parameters: [] + return: + type: System.Type + content.vb: Public Property FailedConsumer As Type + overload: ReflectionEventing.Queues.FailedEvent.FailedConsumer* +- uid: ReflectionEventing.Queues.FailedEvent.Timestamp + commentId: P:ReflectionEventing.Queues.FailedEvent.Timestamp + id: Timestamp + parent: ReflectionEventing.Queues.FailedEvent + langs: + - csharp + - vb + name: Timestamp + nameWithType: FailedEvent.Timestamp + fullName: ReflectionEventing.Queues.FailedEvent.Timestamp + type: Property + source: + remote: + path: src/ReflectionEventing/Queues/FailedEvent.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: Timestamp + path: ../src/ReflectionEventing/Queues/FailedEvent.cs + startLine: 30 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Gets the timestamp of when the failure occurred. + example: [] + syntax: + content: public required DateTimeOffset Timestamp { get; init; } + parameters: [] + return: + type: System.DateTimeOffset + content.vb: Public Property Timestamp As DateTimeOffset + overload: ReflectionEventing.Queues.FailedEvent.Timestamp* +references: +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.IEquatable{ReflectionEventing.Queues.FailedEvent} + commentId: T:System.IEquatable{ReflectionEventing.Queues.FailedEvent} + parent: System + definition: System.IEquatable`1 + href: https://learn.microsoft.com/dotnet/api/system.iequatable-1 + name: IEquatable + nameWithType: IEquatable + fullName: System.IEquatable + nameWithType.vb: IEquatable(Of FailedEvent) + fullName.vb: System.IEquatable(Of ReflectionEventing.Queues.FailedEvent) + name.vb: IEquatable(Of FailedEvent) + spec.csharp: + - uid: System.IEquatable`1 + name: IEquatable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.iequatable-1 + - name: < + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: '>' + spec.vb: + - uid: System.IEquatable`1 + name: IEquatable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.iequatable-1 + - name: ( + - name: Of + - name: " " + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: ) +- uid: System.Object.ToString + commentId: M:System.Object.ToString + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + name: ToString() + nameWithType: object.ToString() + fullName: object.ToString() + nameWithType.vb: Object.ToString() + fullName.vb: Object.ToString() + spec.csharp: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Object.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.tostring + - name: ( + - name: ) +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.GetType + commentId: M:System.Object.GetType + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + name: GetType() + nameWithType: object.GetType() + fullName: object.GetType() + nameWithType.vb: Object.GetType() + fullName.vb: Object.GetType() + spec.csharp: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gettype + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: System.IEquatable`1 + commentId: T:System.IEquatable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.iequatable-1 + name: IEquatable + nameWithType: IEquatable + fullName: System.IEquatable + nameWithType.vb: IEquatable(Of T) + fullName.vb: System.IEquatable(Of T) + name.vb: IEquatable(Of T) + spec.csharp: + - uid: System.IEquatable`1 + name: IEquatable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.iequatable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.IEquatable`1 + name: IEquatable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.iequatable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: ReflectionEventing.Queues.FailedEvent.Data* + commentId: Overload:ReflectionEventing.Queues.FailedEvent.Data + href: ReflectionEventing.Queues.FailedEvent.html#ReflectionEventing_Queues_FailedEvent_Data + name: Data + nameWithType: FailedEvent.Data + fullName: ReflectionEventing.Queues.FailedEvent.Data +- uid: ReflectionEventing.Queues.FailedEvent.Exception* + commentId: Overload:ReflectionEventing.Queues.FailedEvent.Exception + href: ReflectionEventing.Queues.FailedEvent.html#ReflectionEventing_Queues_FailedEvent_Exception + name: Exception + nameWithType: FailedEvent.Exception + fullName: ReflectionEventing.Queues.FailedEvent.Exception +- uid: System.Exception + commentId: T:System.Exception + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception + name: Exception + nameWithType: Exception + fullName: System.Exception +- uid: ReflectionEventing.Queues.FailedEvent.FailedConsumer* + commentId: Overload:ReflectionEventing.Queues.FailedEvent.FailedConsumer + href: ReflectionEventing.Queues.FailedEvent.html#ReflectionEventing_Queues_FailedEvent_FailedConsumer + name: FailedConsumer + nameWithType: FailedEvent.FailedConsumer + fullName: ReflectionEventing.Queues.FailedEvent.FailedConsumer +- uid: System.Type + commentId: T:System.Type + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.type + name: Type + nameWithType: Type + fullName: System.Type +- uid: ReflectionEventing.Queues.FailedEvent.Timestamp* + commentId: Overload:ReflectionEventing.Queues.FailedEvent.Timestamp + href: ReflectionEventing.Queues.FailedEvent.html#ReflectionEventing_Queues_FailedEvent_Timestamp + name: Timestamp + nameWithType: FailedEvent.Timestamp + fullName: ReflectionEventing.Queues.FailedEvent.Timestamp +- uid: System.DateTimeOffset + commentId: T:System.DateTimeOffset + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.datetimeoffset + name: DateTimeOffset + nameWithType: DateTimeOffset + fullName: System.DateTimeOffset diff --git a/docs/api/ReflectionEventing.Queues.IEventsQueue.yml b/docs/api/ReflectionEventing.Queues.IEventsQueue.yml new file mode 100644 index 0000000..690c5aa --- /dev/null +++ b/docs/api/ReflectionEventing.Queues.IEventsQueue.yml @@ -0,0 +1,480 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.Queues.IEventsQueue + commentId: T:ReflectionEventing.Queues.IEventsQueue + id: IEventsQueue + parent: ReflectionEventing.Queues + children: + - ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + - ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + - ReflectionEventing.Queues.IEventsQueue.GetErrors + - ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + langs: + - csharp + - vb + name: IEventsQueue + nameWithType: IEventsQueue + fullName: ReflectionEventing.Queues.IEventsQueue + type: Interface + source: + remote: + path: src/ReflectionEventing/Queues/IEventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: IEventsQueue + path: ../src/ReflectionEventing/Queues/IEventsQueue.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Defines a contract for an event queue that supports asynchronous operations for appending and retrieving events. + example: [] + syntax: + content: public interface IEventsQueue + content.vb: Public Interface IEventsQueue +- uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + commentId: M:ReflectionEventing.Queues.IEventsQueue.EnqueueAsync``1(``0,System.Threading.CancellationToken) + id: EnqueueAsync``1(``0,System.Threading.CancellationToken) + parent: ReflectionEventing.Queues.IEventsQueue + langs: + - csharp + - vb + name: EnqueueAsync(TEvent, CancellationToken) + nameWithType: IEventsQueue.EnqueueAsync(TEvent, CancellationToken) + fullName: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync(TEvent, System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/IEventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EnqueueAsync + path: ../src/ReflectionEventing/Queues/IEventsQueue.cs + startLine: 18 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Appends an event to the queue asynchronously. + example: [] + syntax: + content: 'Task EnqueueAsync(TEvent @event, CancellationToken cancellationToken = default) where TEvent : class' + parameters: + - id: event + type: '{TEvent}' + description: The event to append to the queue. + - id: cancellationToken + type: System.Threading.CancellationToken + description: A token to monitor for cancellation requests. + typeParameters: + - id: TEvent + return: + type: System.Threading.Tasks.Task + description: A task that represents the asynchronous append operation. + content.vb: Function EnqueueAsync(Of TEvent As Class)([event] As TEvent, cancellationToken As CancellationToken = Nothing) As Task + overload: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync* + nameWithType.vb: IEventsQueue.EnqueueAsync(Of TEvent)(TEvent, CancellationToken) + fullName.vb: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync(Of TEvent)(TEvent, System.Threading.CancellationToken) + name.vb: EnqueueAsync(Of TEvent)(TEvent, CancellationToken) +- uid: ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + commentId: M:ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + id: EnqueueError(ReflectionEventing.Queues.FailedEvent) + parent: ReflectionEventing.Queues.IEventsQueue + langs: + - csharp + - vb + name: EnqueueError(FailedEvent) + nameWithType: IEventsQueue.EnqueueError(FailedEvent) + fullName: ReflectionEventing.Queues.IEventsQueue.EnqueueError(ReflectionEventing.Queues.FailedEvent) + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/IEventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: EnqueueError + path: ../src/ReflectionEventing/Queues/IEventsQueue.cs + startLine: 25 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Appends a failed event to the error queue. + example: [] + syntax: + content: void EnqueueError(FailedEvent fail) + parameters: + - id: fail + type: ReflectionEventing.Queues.FailedEvent + description: The failed event to append to the error queue. + content.vb: Sub EnqueueError(fail As FailedEvent) + overload: ReflectionEventing.Queues.IEventsQueue.EnqueueError* +- uid: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + commentId: M:ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + id: ReadEventsAsync(System.Threading.CancellationToken) + parent: ReflectionEventing.Queues.IEventsQueue + langs: + - csharp + - vb + name: ReadEventsAsync(CancellationToken) + nameWithType: IEventsQueue.ReadEventsAsync(CancellationToken) + fullName: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync(System.Threading.CancellationToken) + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/IEventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: ReadEventsAsync + path: ../src/ReflectionEventing/Queues/IEventsQueue.cs + startLine: 32 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Reads the events from the queue asynchronously. + example: [] + syntax: + content: IAsyncEnumerable ReadEventsAsync(CancellationToken cancellationToken) + parameters: + - id: cancellationToken + type: System.Threading.CancellationToken + description: A token to monitor for cancellation requests. + return: + type: System.Collections.Generic.IAsyncEnumerable{System.Object} + description: An of events from the queue. + content.vb: Function ReadEventsAsync(cancellationToken As CancellationToken) As IAsyncEnumerable(Of Object) + overload: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync* +- uid: ReflectionEventing.Queues.IEventsQueue.GetErrors + commentId: M:ReflectionEventing.Queues.IEventsQueue.GetErrors + id: GetErrors + parent: ReflectionEventing.Queues.IEventsQueue + langs: + - csharp + - vb + name: GetErrors() + nameWithType: IEventsQueue.GetErrors() + fullName: ReflectionEventing.Queues.IEventsQueue.GetErrors() + type: Method + source: + remote: + path: src/ReflectionEventing/Queues/IEventsQueue.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: GetErrors + path: ../src/ReflectionEventing/Queues/IEventsQueue.cs + startLine: 38 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Gets the events that failed processing from the error queue. + example: [] + syntax: + content: IEnumerable GetErrors() + return: + type: System.Collections.Generic.IEnumerable{ReflectionEventing.Queues.FailedEvent} + description: An of events that failed processing. + content.vb: Function GetErrors() As IEnumerable(Of FailedEvent) + overload: ReflectionEventing.Queues.IEventsQueue.GetErrors* +references: +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html +- uid: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync* + commentId: Overload:ReflectionEventing.Queues.IEventsQueue.EnqueueAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueAsync__1___0_System_Threading_CancellationToken_ + name: EnqueueAsync + nameWithType: IEventsQueue.EnqueueAsync + fullName: ReflectionEventing.Queues.IEventsQueue.EnqueueAsync +- uid: '{TEvent}' + commentId: '!:TEvent' + definition: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading.CancellationToken + commentId: T:System.Threading.CancellationToken + parent: System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken + name: CancellationToken + nameWithType: CancellationToken + fullName: System.Threading.CancellationToken +- uid: System.Threading.Tasks.Task + commentId: T:System.Threading.Tasks.Task + parent: System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks.task + name: Task + nameWithType: Task + fullName: System.Threading.Tasks.Task +- uid: TEvent + name: TEvent + nameWithType: TEvent + fullName: TEvent +- uid: System.Threading + commentId: N:System.Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading + nameWithType: System.Threading + fullName: System.Threading + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading +- uid: System.Threading.Tasks + commentId: N:System.Threading.Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Threading.Tasks + nameWithType: System.Threading.Tasks + fullName: System.Threading.Tasks + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Threading + name: Threading + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading + - name: . + - uid: System.Threading.Tasks + name: Tasks + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.threading.tasks +- uid: ReflectionEventing.Queues.IEventsQueue.EnqueueError* + commentId: Overload:ReflectionEventing.Queues.IEventsQueue.EnqueueError + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_EnqueueError_ReflectionEventing_Queues_FailedEvent_ + name: EnqueueError + nameWithType: IEventsQueue.EnqueueError + fullName: ReflectionEventing.Queues.IEventsQueue.EnqueueError +- uid: ReflectionEventing.Queues.FailedEvent + commentId: T:ReflectionEventing.Queues.FailedEvent + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.FailedEvent.html + name: FailedEvent + nameWithType: FailedEvent + fullName: ReflectionEventing.Queues.FailedEvent +- uid: System.Collections.Generic.IAsyncEnumerable`1 + commentId: T:System.Collections.Generic.IAsyncEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + name: IAsyncEnumerable + nameWithType: IAsyncEnumerable + fullName: System.Collections.Generic.IAsyncEnumerable + nameWithType.vb: IAsyncEnumerable(Of T) + fullName.vb: System.Collections.Generic.IAsyncEnumerable(Of T) + name.vb: IAsyncEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync* + commentId: Overload:ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_ReadEventsAsync_System_Threading_CancellationToken_ + name: ReadEventsAsync + nameWithType: IEventsQueue.ReadEventsAsync + fullName: ReflectionEventing.Queues.IEventsQueue.ReadEventsAsync +- uid: System.Collections.Generic.IAsyncEnumerable{System.Object} + commentId: T:System.Collections.Generic.IAsyncEnumerable{System.Object} + parent: System.Collections.Generic + definition: System.Collections.Generic.IAsyncEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + name: IAsyncEnumerable + nameWithType: IAsyncEnumerable + fullName: System.Collections.Generic.IAsyncEnumerable + nameWithType.vb: IAsyncEnumerable(Of Object) + fullName.vb: System.Collections.Generic.IAsyncEnumerable(Of Object) + name.vb: IAsyncEnumerable(Of Object) + spec.csharp: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: < + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IAsyncEnumerable`1 + name: IAsyncEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.iasyncenumerable-1 + - name: ( + - name: Of + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic +- uid: System.Collections.Generic.IEnumerable`1 + commentId: T:System.Collections.Generic.IEnumerable`1 + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of T) + fullName.vb: System.Collections.Generic.IEnumerable(Of T) + name.vb: IEnumerable(Of T) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - name: T + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - name: T + - name: ) +- uid: ReflectionEventing.Queues.IEventsQueue.GetErrors* + commentId: Overload:ReflectionEventing.Queues.IEventsQueue.GetErrors + href: ReflectionEventing.Queues.IEventsQueue.html#ReflectionEventing_Queues_IEventsQueue_GetErrors + name: GetErrors + nameWithType: IEventsQueue.GetErrors + fullName: ReflectionEventing.Queues.IEventsQueue.GetErrors +- uid: System.Collections.Generic.IEnumerable{ReflectionEventing.Queues.FailedEvent} + commentId: T:System.Collections.Generic.IEnumerable{ReflectionEventing.Queues.FailedEvent} + parent: System.Collections.Generic + definition: System.Collections.Generic.IEnumerable`1 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + name: IEnumerable + nameWithType: IEnumerable + fullName: System.Collections.Generic.IEnumerable + nameWithType.vb: IEnumerable(Of FailedEvent) + fullName.vb: System.Collections.Generic.IEnumerable(Of ReflectionEventing.Queues.FailedEvent) + name.vb: IEnumerable(Of FailedEvent) + spec.csharp: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: < + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IEnumerable`1 + name: IEnumerable + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 + - name: ( + - name: Of + - name: " " + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + href: ReflectionEventing.Queues.FailedEvent.html + - name: ) diff --git a/docs/api/ReflectionEventing.Queues.QueueException.yml b/docs/api/ReflectionEventing.Queues.QueueException.yml new file mode 100644 index 0000000..c3bfbfc --- /dev/null +++ b/docs/api/ReflectionEventing.Queues.QueueException.yml @@ -0,0 +1,614 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.Queues.QueueException + commentId: T:ReflectionEventing.Queues.QueueException + id: QueueException + parent: ReflectionEventing.Queues + children: + - ReflectionEventing.Queues.QueueException.#ctor(System.String) + langs: + - csharp + - vb + name: QueueException + nameWithType: QueueException + fullName: ReflectionEventing.Queues.QueueException + type: Class + source: + remote: + path: src/ReflectionEventing/Queues/QueueException.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: QueueException + path: ../src/ReflectionEventing/Queues/QueueException.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Represents an exception that occurs during queue operations. + example: [] + syntax: + content: 'public class QueueException : EventBusException, ISerializable, _Exception' + content.vb: Public Class QueueException Inherits EventBusException Implements ISerializable, _Exception + inheritance: + - System.Object + - System.Exception + - ReflectionEventing.EventBusException + implements: + - System.Runtime.Serialization.ISerializable + - System.Runtime.InteropServices._Exception + inheritedMembers: + - System.Exception.GetBaseException + - System.Exception.ToString + - System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + - System.Exception.GetType + - System.Exception.Message + - System.Exception.Data + - System.Exception.InnerException + - System.Exception.TargetSite + - System.Exception.StackTrace + - System.Exception.HelpLink + - System.Exception.Source + - System.Exception.HResult + - System.Exception.SerializeObjectState + - System.Object.Equals(System.Object) + - System.Object.Equals(System.Object,System.Object) + - System.Object.ReferenceEquals(System.Object,System.Object) + - System.Object.GetHashCode + - System.Object.MemberwiseClone +- uid: ReflectionEventing.Queues.QueueException.#ctor(System.String) + commentId: M:ReflectionEventing.Queues.QueueException.#ctor(System.String) + id: '#ctor(System.String)' + parent: ReflectionEventing.Queues.QueueException + langs: + - csharp + - vb + name: QueueException(string) + nameWithType: QueueException.QueueException(string) + fullName: ReflectionEventing.Queues.QueueException.QueueException(string) + type: Constructor + source: + remote: + path: src/ReflectionEventing/Queues/QueueException.cs + branch: main + repo: https://github.com/lepoco/reflectioneventing.git + id: .ctor + path: ../src/ReflectionEventing/Queues/QueueException.cs + startLine: 10 + assemblies: + - ReflectionEventing + namespace: ReflectionEventing.Queues + summary: Represents an exception that occurs during queue operations. + example: [] + syntax: + content: public QueueException(string message) + parameters: + - id: message + type: System.String + content.vb: Public Sub New(message As String) + overload: ReflectionEventing.Queues.QueueException.#ctor* + nameWithType.vb: QueueException.New(String) + fullName.vb: ReflectionEventing.Queues.QueueException.New(String) + name.vb: New(String) +references: +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html +- uid: System.Object + commentId: T:System.Object + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + name: object + nameWithType: object + fullName: object + nameWithType.vb: Object + fullName.vb: Object + name.vb: Object +- uid: System.Exception + commentId: T:System.Exception + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception + name: Exception + nameWithType: Exception + fullName: System.Exception +- uid: ReflectionEventing.EventBusException + commentId: T:ReflectionEventing.EventBusException + parent: ReflectionEventing + href: ReflectionEventing.EventBusException.html + name: EventBusException + nameWithType: EventBusException + fullName: ReflectionEventing.EventBusException +- uid: System.Runtime.Serialization.ISerializable + commentId: T:System.Runtime.Serialization.ISerializable + parent: System.Runtime.Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.iserializable + name: ISerializable + nameWithType: ISerializable + fullName: System.Runtime.Serialization.ISerializable +- uid: System.Runtime.InteropServices._Exception + commentId: T:System.Runtime.InteropServices._Exception + parent: System.Runtime.InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.interopservices._exception + name: _Exception + nameWithType: _Exception + fullName: System.Runtime.InteropServices._Exception +- uid: System.Exception.GetBaseException + commentId: M:System.Exception.GetBaseException + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception + name: GetBaseException() + nameWithType: Exception.GetBaseException() + fullName: System.Exception.GetBaseException() + spec.csharp: + - uid: System.Exception.GetBaseException + name: GetBaseException + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception + - name: ( + - name: ) + spec.vb: + - uid: System.Exception.GetBaseException + name: GetBaseException + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception + - name: ( + - name: ) +- uid: System.Exception.ToString + commentId: M:System.Exception.ToString + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.tostring + name: ToString() + nameWithType: Exception.ToString() + fullName: System.Exception.ToString() + spec.csharp: + - uid: System.Exception.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.tostring + - name: ( + - name: ) + spec.vb: + - uid: System.Exception.ToString + name: ToString + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.tostring + - name: ( + - name: ) +- uid: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + commentId: M:System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata + name: GetObjectData(SerializationInfo, StreamingContext) + nameWithType: Exception.GetObjectData(SerializationInfo, StreamingContext) + fullName: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) + spec.csharp: + - uid: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + name: GetObjectData + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata + - name: ( + - uid: System.Runtime.Serialization.SerializationInfo + name: SerializationInfo + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.serializationinfo + - name: ',' + - name: " " + - uid: System.Runtime.Serialization.StreamingContext + name: StreamingContext + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.streamingcontext + - name: ) + spec.vb: + - uid: System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + name: GetObjectData + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata + - name: ( + - uid: System.Runtime.Serialization.SerializationInfo + name: SerializationInfo + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.serializationinfo + - name: ',' + - name: " " + - uid: System.Runtime.Serialization.StreamingContext + name: StreamingContext + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.streamingcontext + - name: ) +- uid: System.Exception.GetType + commentId: M:System.Exception.GetType + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.gettype + name: GetType() + nameWithType: Exception.GetType() + fullName: System.Exception.GetType() + spec.csharp: + - uid: System.Exception.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.gettype + - name: ( + - name: ) + spec.vb: + - uid: System.Exception.GetType + name: GetType + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.gettype + - name: ( + - name: ) +- uid: System.Exception.Message + commentId: P:System.Exception.Message + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.message + name: Message + nameWithType: Exception.Message + fullName: System.Exception.Message +- uid: System.Exception.Data + commentId: P:System.Exception.Data + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.data + name: Data + nameWithType: Exception.Data + fullName: System.Exception.Data +- uid: System.Exception.InnerException + commentId: P:System.Exception.InnerException + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.innerexception + name: InnerException + nameWithType: Exception.InnerException + fullName: System.Exception.InnerException +- uid: System.Exception.TargetSite + commentId: P:System.Exception.TargetSite + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.targetsite + name: TargetSite + nameWithType: Exception.TargetSite + fullName: System.Exception.TargetSite +- uid: System.Exception.StackTrace + commentId: P:System.Exception.StackTrace + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.stacktrace + name: StackTrace + nameWithType: Exception.StackTrace + fullName: System.Exception.StackTrace +- uid: System.Exception.HelpLink + commentId: P:System.Exception.HelpLink + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.helplink + name: HelpLink + nameWithType: Exception.HelpLink + fullName: System.Exception.HelpLink +- uid: System.Exception.Source + commentId: P:System.Exception.Source + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.source + name: Source + nameWithType: Exception.Source + fullName: System.Exception.Source +- uid: System.Exception.HResult + commentId: P:System.Exception.HResult + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.hresult + name: HResult + nameWithType: Exception.HResult + fullName: System.Exception.HResult +- uid: System.Exception.SerializeObjectState + commentId: E:System.Exception.SerializeObjectState + parent: System.Exception + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.exception.serializeobjectstate + name: SerializeObjectState + nameWithType: Exception.SerializeObjectState + fullName: System.Exception.SerializeObjectState +- uid: System.Object.Equals(System.Object) + commentId: M:System.Object.Equals(System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + name: Equals(object) + nameWithType: object.Equals(object) + fullName: object.Equals(object) + nameWithType.vb: Object.Equals(Object) + fullName.vb: Object.Equals(Object) + name.vb: Equals(Object) + spec.csharp: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.Equals(System.Object,System.Object) + commentId: M:System.Object.Equals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + name: Equals(object, object) + nameWithType: object.Equals(object, object) + fullName: object.Equals(object, object) + nameWithType.vb: Object.Equals(Object, Object) + fullName.vb: Object.Equals(Object, Object) + name.vb: Equals(Object, Object) + spec.csharp: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.Equals(System.Object,System.Object) + name: Equals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object) + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.ReferenceEquals(System.Object,System.Object) + commentId: M:System.Object.ReferenceEquals(System.Object,System.Object) + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + name: ReferenceEquals(object, object) + nameWithType: object.ReferenceEquals(object, object) + fullName: object.ReferenceEquals(object, object) + nameWithType.vb: Object.ReferenceEquals(Object, Object) + fullName.vb: Object.ReferenceEquals(Object, Object) + name.vb: ReferenceEquals(Object, Object) + spec.csharp: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) + spec.vb: + - uid: System.Object.ReferenceEquals(System.Object,System.Object) + name: ReferenceEquals + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.referenceequals + - name: ( + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ',' + - name: " " + - uid: System.Object + name: Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object + - name: ) +- uid: System.Object.GetHashCode + commentId: M:System.Object.GetHashCode + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + name: GetHashCode() + nameWithType: object.GetHashCode() + fullName: object.GetHashCode() + nameWithType.vb: Object.GetHashCode() + fullName.vb: Object.GetHashCode() + spec.csharp: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) + spec.vb: + - uid: System.Object.GetHashCode + name: GetHashCode + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.gethashcode + - name: ( + - name: ) +- uid: System.Object.MemberwiseClone + commentId: M:System.Object.MemberwiseClone + parent: System.Object + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + name: MemberwiseClone() + nameWithType: object.MemberwiseClone() + fullName: object.MemberwiseClone() + nameWithType.vb: Object.MemberwiseClone() + fullName.vb: Object.MemberwiseClone() + spec.csharp: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) + spec.vb: + - uid: System.Object.MemberwiseClone + name: MemberwiseClone + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone + - name: ( + - name: ) +- uid: System + commentId: N:System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System + nameWithType: System + fullName: System +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing +- uid: System.Runtime.Serialization + commentId: N:System.Runtime.Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Runtime.Serialization + nameWithType: System.Runtime.Serialization + fullName: System.Runtime.Serialization + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.Serialization + name: Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.Serialization + name: Serialization + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.serialization +- uid: System.Runtime.InteropServices + commentId: N:System.Runtime.InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + name: System.Runtime.InteropServices + nameWithType: System.Runtime.InteropServices + fullName: System.Runtime.InteropServices + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.InteropServices + name: InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.interopservices + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Runtime + name: Runtime + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime + - name: . + - uid: System.Runtime.InteropServices + name: InteropServices + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.runtime.interopservices +- uid: ReflectionEventing.Queues.QueueException.#ctor* + commentId: Overload:ReflectionEventing.Queues.QueueException.#ctor + href: ReflectionEventing.Queues.QueueException.html#ReflectionEventing_Queues_QueueException__ctor_System_String_ + name: QueueException + nameWithType: QueueException.QueueException + fullName: ReflectionEventing.Queues.QueueException.QueueException + nameWithType.vb: QueueException.New + fullName.vb: ReflectionEventing.Queues.QueueException.New + name.vb: New +- uid: System.String + commentId: T:System.String + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.string + name: string + nameWithType: string + fullName: string + nameWithType.vb: String + fullName.vb: String + name.vb: String diff --git a/docs/api/ReflectionEventing.Queues.yml b/docs/api/ReflectionEventing.Queues.yml new file mode 100644 index 0000000..e86f405 --- /dev/null +++ b/docs/api/ReflectionEventing.Queues.yml @@ -0,0 +1,68 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + id: ReflectionEventing.Queues + children: + - ReflectionEventing.Queues.EventsQueue + - ReflectionEventing.Queues.FailedEvent + - ReflectionEventing.Queues.IEventsQueue + - ReflectionEventing.Queues.QueueException + langs: + - csharp + - vb + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + type: Namespace + assemblies: + - ReflectionEventing +references: +- uid: ReflectionEventing.Queues.EventsQueue + commentId: T:ReflectionEventing.Queues.EventsQueue + href: ReflectionEventing.Queues.EventsQueue.html + name: EventsQueue + nameWithType: EventsQueue + fullName: ReflectionEventing.Queues.EventsQueue +- uid: ReflectionEventing.Queues.FailedEvent + commentId: T:ReflectionEventing.Queues.FailedEvent + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.FailedEvent.html + name: FailedEvent + nameWithType: FailedEvent + fullName: ReflectionEventing.Queues.FailedEvent +- uid: ReflectionEventing.Queues.IEventsQueue + commentId: T:ReflectionEventing.Queues.IEventsQueue + parent: ReflectionEventing.Queues + href: ReflectionEventing.Queues.IEventsQueue.html + name: IEventsQueue + nameWithType: IEventsQueue + fullName: ReflectionEventing.Queues.IEventsQueue +- uid: ReflectionEventing.Queues.QueueException + commentId: T:ReflectionEventing.Queues.QueueException + href: ReflectionEventing.Queues.QueueException.html + name: QueueException + nameWithType: QueueException + fullName: ReflectionEventing.Queues.QueueException +- uid: ReflectionEventing.Queues + commentId: N:ReflectionEventing.Queues + href: ReflectionEventing.html + name: ReflectionEventing.Queues + nameWithType: ReflectionEventing.Queues + fullName: ReflectionEventing.Queues + spec.csharp: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html + spec.vb: + - uid: ReflectionEventing + name: ReflectionEventing + href: ReflectionEventing.html + - name: . + - uid: ReflectionEventing.Queues + name: Queues + href: ReflectionEventing.Queues.html diff --git a/docs/api/ReflectionEventing.yml b/docs/api/ReflectionEventing.yml new file mode 100644 index 0000000..e9a9c0c --- /dev/null +++ b/docs/api/ReflectionEventing.yml @@ -0,0 +1,142 @@ +### YamlMime:ManagedReference +items: +- uid: ReflectionEventing + commentId: N:ReflectionEventing + id: ReflectionEventing + children: + - ReflectionEventing.ConsumerTypesProviderExtensions + - ReflectionEventing.EventBus + - ReflectionEventing.EventBusBuilder + - ReflectionEventing.EventBusBuilderExtensions + - ReflectionEventing.EventBusBuilderOptions + - ReflectionEventing.EventBusException + - ReflectionEventing.EventBusExtensions + - ReflectionEventing.HashedConsumerTypesProvider + - ReflectionEventing.HashedPolymorphicConsumerTypesProvider + - ReflectionEventing.IConsumerProvider + - ReflectionEventing.IConsumerTypesProvider + - ReflectionEventing.IConsumer`1 + - ReflectionEventing.IEventBus + langs: + - csharp + - vb + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing + type: Namespace + assemblies: + - ReflectionEventing +references: +- uid: ReflectionEventing.ConsumerTypesProviderExtensions + commentId: T:ReflectionEventing.ConsumerTypesProviderExtensions + parent: ReflectionEventing + href: ReflectionEventing.ConsumerTypesProviderExtensions.html + name: ConsumerTypesProviderExtensions + nameWithType: ConsumerTypesProviderExtensions + fullName: ReflectionEventing.ConsumerTypesProviderExtensions +- uid: ReflectionEventing.EventBus + commentId: T:ReflectionEventing.EventBus + parent: ReflectionEventing + href: ReflectionEventing.EventBus.html + name: EventBus + nameWithType: EventBus + fullName: ReflectionEventing.EventBus +- uid: ReflectionEventing.EventBusBuilder + commentId: T:ReflectionEventing.EventBusBuilder + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilder.html + name: EventBusBuilder + nameWithType: EventBusBuilder + fullName: ReflectionEventing.EventBusBuilder +- uid: ReflectionEventing.EventBusBuilderExtensions + commentId: T:ReflectionEventing.EventBusBuilderExtensions + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilderExtensions.html + name: EventBusBuilderExtensions + nameWithType: EventBusBuilderExtensions + fullName: ReflectionEventing.EventBusBuilderExtensions +- uid: ReflectionEventing.EventBusBuilderOptions + commentId: T:ReflectionEventing.EventBusBuilderOptions + parent: ReflectionEventing + href: ReflectionEventing.EventBusBuilderOptions.html + name: EventBusBuilderOptions + nameWithType: EventBusBuilderOptions + fullName: ReflectionEventing.EventBusBuilderOptions +- uid: ReflectionEventing.EventBusException + commentId: T:ReflectionEventing.EventBusException + parent: ReflectionEventing + href: ReflectionEventing.EventBusException.html + name: EventBusException + nameWithType: EventBusException + fullName: ReflectionEventing.EventBusException +- uid: ReflectionEventing.EventBusExtensions + commentId: T:ReflectionEventing.EventBusExtensions + parent: ReflectionEventing + href: ReflectionEventing.EventBusExtensions.html + name: EventBusExtensions + nameWithType: EventBusExtensions + fullName: ReflectionEventing.EventBusExtensions +- uid: ReflectionEventing.HashedConsumerTypesProvider + commentId: T:ReflectionEventing.HashedConsumerTypesProvider + href: ReflectionEventing.HashedConsumerTypesProvider.html + name: HashedConsumerTypesProvider + nameWithType: HashedConsumerTypesProvider + fullName: ReflectionEventing.HashedConsumerTypesProvider +- uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider + commentId: T:ReflectionEventing.HashedPolymorphicConsumerTypesProvider + href: ReflectionEventing.HashedPolymorphicConsumerTypesProvider.html + name: HashedPolymorphicConsumerTypesProvider + nameWithType: HashedPolymorphicConsumerTypesProvider + fullName: ReflectionEventing.HashedPolymorphicConsumerTypesProvider +- uid: ReflectionEventing.IConsumer`1 + commentId: T:ReflectionEventing.IConsumer`1 + href: ReflectionEventing.IConsumer-1.html + name: IConsumer + nameWithType: IConsumer + fullName: ReflectionEventing.IConsumer + nameWithType.vb: IConsumer(Of TEvent) + fullName.vb: ReflectionEventing.IConsumer(Of TEvent) + name.vb: IConsumer(Of TEvent) + spec.csharp: + - uid: ReflectionEventing.IConsumer`1 + name: IConsumer + href: ReflectionEventing.IConsumer-1.html + - name: < + - name: TEvent + - name: '>' + spec.vb: + - uid: ReflectionEventing.IConsumer`1 + name: IConsumer + href: ReflectionEventing.IConsumer-1.html + - name: ( + - name: Of + - name: " " + - name: TEvent + - name: ) +- uid: ReflectionEventing.IConsumerProvider + commentId: T:ReflectionEventing.IConsumerProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerProvider.html + name: IConsumerProvider + nameWithType: IConsumerProvider + fullName: ReflectionEventing.IConsumerProvider +- uid: ReflectionEventing.IConsumerTypesProvider + commentId: T:ReflectionEventing.IConsumerTypesProvider + parent: ReflectionEventing + href: ReflectionEventing.IConsumerTypesProvider.html + name: IConsumerTypesProvider + nameWithType: IConsumerTypesProvider + fullName: ReflectionEventing.IConsumerTypesProvider +- uid: ReflectionEventing.IEventBus + commentId: T:ReflectionEventing.IEventBus + parent: ReflectionEventing + href: ReflectionEventing.IEventBus.html + name: IEventBus + nameWithType: IEventBus + fullName: ReflectionEventing.IEventBus +- uid: ReflectionEventing + commentId: N:ReflectionEventing + href: ReflectionEventing.html + name: ReflectionEventing + nameWithType: ReflectionEventing + fullName: ReflectionEventing diff --git a/docs/api/toc.yml b/docs/api/toc.yml new file mode 100644 index 0000000..e9e34a2 --- /dev/null +++ b/docs/api/toc.yml @@ -0,0 +1,95 @@ +### YamlMime:TableOfContent +items: +- uid: ReflectionEventing + name: ReflectionEventing + type: Namespace + items: + - uid: ReflectionEventing.ConsumerTypesProviderExtensions + name: ConsumerTypesProviderExtensions + type: Class + - uid: ReflectionEventing.EventBus + name: EventBus + type: Class + - uid: ReflectionEventing.EventBusBuilder + name: EventBusBuilder + type: Class + - uid: ReflectionEventing.EventBusBuilderExtensions + name: EventBusBuilderExtensions + type: Class + - uid: ReflectionEventing.EventBusBuilderOptions + name: EventBusBuilderOptions + type: Class + - uid: ReflectionEventing.EventBusException + name: EventBusException + type: Class + - uid: ReflectionEventing.EventBusExtensions + name: EventBusExtensions + type: Class + - uid: ReflectionEventing.HashedConsumerTypesProvider + name: HashedConsumerTypesProvider + type: Class + - uid: ReflectionEventing.HashedPolymorphicConsumerTypesProvider + name: HashedPolymorphicConsumerTypesProvider + type: Class + - uid: ReflectionEventing.IConsumerProvider + name: IConsumerProvider + type: Interface + - uid: ReflectionEventing.IConsumerTypesProvider + name: IConsumerTypesProvider + type: Interface + - uid: ReflectionEventing.IConsumer`1 + name: IConsumer + type: Interface + - uid: ReflectionEventing.IEventBus + name: IEventBus + type: Interface +- uid: ReflectionEventing.DependencyInjection + name: ReflectionEventing.DependencyInjection + type: Namespace + items: + - uid: ReflectionEventing.DependencyInjection.DependencyInjectionConsumerProvider + name: DependencyInjectionConsumerProvider + type: Class + - uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBus + name: DependencyInjectionEventBus + type: Class + - uid: ReflectionEventing.DependencyInjection.DependencyInjectionEventBusBuilder + name: DependencyInjectionEventBusBuilder + type: Class + - uid: ReflectionEventing.DependencyInjection.EventBusBuilderExtensions + name: EventBusBuilderExtensions + type: Class + - uid: ReflectionEventing.DependencyInjection.ServiceCollectionExtensions + name: ServiceCollectionExtensions + type: Class +- uid: ReflectionEventing.DependencyInjection.Configuration + name: ReflectionEventing.DependencyInjection.Configuration + type: Namespace + items: + - uid: ReflectionEventing.DependencyInjection.Configuration.QueueProcessorOptionsProvider + name: QueueProcessorOptionsProvider + type: Class +- uid: ReflectionEventing.DependencyInjection.Services + name: ReflectionEventing.DependencyInjection.Services + type: Namespace + items: + - uid: ReflectionEventing.DependencyInjection.Services.DependencyInjectionQueueProcessor + name: DependencyInjectionQueueProcessor + type: Class +- uid: ReflectionEventing.Queues + name: ReflectionEventing.Queues + type: Namespace + items: + - uid: ReflectionEventing.Queues.EventsQueue + name: EventsQueue + type: Class + - uid: ReflectionEventing.Queues.FailedEvent + name: FailedEvent + type: Class + - uid: ReflectionEventing.Queues.IEventsQueue + name: IEventsQueue + type: Interface + - uid: ReflectionEventing.Queues.QueueException + name: QueueException + type: Class +memberLayout: SamePage diff --git a/docs/codesnippet/Rtf/Hyperlink/RtfDocumentProcessor.cs b/docs/codesnippet/Rtf/Hyperlink/RtfDocumentProcessor.cs new file mode 100644 index 0000000..3f24253 --- /dev/null +++ b/docs/codesnippet/Rtf/Hyperlink/RtfDocumentProcessor.cs @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace RtfDocumentProcessors +{ + using System; + using System.Collections.Generic; + using System.Collections.Immutable; + using System.Composition; + using System.IO; + using System.Linq; + using System.Web; + using System.Xml.Linq; + using Microsoft.DocAsCode.Plugins; + using Microsoft.DocAsCode.Utility; + + [Export(typeof(IDocumentProcessor))] + public class RtfDocumentProcessor : IDocumentProcessor + { + [ImportMany(nameof(RtfDocumentProcessor))] + public IEnumerable BuildSteps { get; set; } + + public string Name => nameof(RtfDocumentProcessor); + + public ProcessingPriority GetProcessingPriority(FileAndType file) + { + if ( + file.Type == DocumentType.Article + && ".rtf".Equals(Path.GetExtension(file.File), StringComparison.OrdinalIgnoreCase) + ) + { + return ProcessingPriority.Normal; + } + return ProcessingPriority.NotSupported; + } + + public FileModel Load(FileAndType file, ImmutableDictionary metadata) + { + var content = new Dictionary + { + ["conceptual"] = File.ReadAllText(Path.Combine(file.BaseDir, file.File)), + ["type"] = "Conceptual", + ["path"] = file.File, + }; + return new FileModel(file, content); + } + + #region Save + public SaveResult Save(FileModel model) + { + HashSet linkToFiles = CollectLinksAndFixDocument(model); + + return new SaveResult + { + DocumentType = "Conceptual", + ModelFile = model.File, + LinkToFiles = linkToFiles.ToImmutableArray(), + }; + } + #endregion + + #region CollectLinksAndFixDocument + private static HashSet CollectLinksAndFixDocument(FileModel model) + { + string content = (string)((Dictionary)model.Content)["conceptual"]; + var doc = XDocument.Parse(content); + var links = + from attr in doc.Descendants().Attributes() + where + "href".Equals(attr.Name.LocalName, StringComparison.OrdinalIgnoreCase) + || "src".Equals(attr.Name.LocalName, StringComparison.OrdinalIgnoreCase) + select attr; + var path = (RelativePath)model.File; + var linkToFiles = new HashSet(); + foreach (var link in links) + { + FixLink(link, path, linkToFiles); + } + using (var sw = new StringWriter()) + { + doc.Save(sw); + ((Dictionary)model.Content)["conceptual"] = sw.ToString(); + } + return linkToFiles; + } + #endregion + + #region FixLink + private static void FixLink(XAttribute link, RelativePath filePath, HashSet linkToFiles) + { + string linkFile; + string anchor = null; + if (PathUtility.IsRelativePath(link.Value)) + { + var index = link.Value.IndexOf('#'); + if (index == -1) + { + linkFile = link.Value; + } + else if (index == 0) + { + return; + } + else + { + linkFile = link.Value.Remove(index); + anchor = link.Value.Substring(index); + } + var path = filePath + (RelativePath)linkFile; + var file = (string)path.GetPathFromWorkingFolder(); + link.Value = file + anchor; + linkToFiles.Add(HttpUtility.UrlDecode(file)); + } + } + #endregion + + public void UpdateHref(FileModel model, IDocumentBuildContext context) { } + } +} diff --git a/docs/codesnippet/Rtf/RtfBuildStep.cs b/docs/codesnippet/Rtf/RtfBuildStep.cs new file mode 100644 index 0000000..28b21eb --- /dev/null +++ b/docs/codesnippet/Rtf/RtfBuildStep.cs @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace RtfDocumentProcessors +{ + using System; + using System.Collections.Generic; + using System.Collections.Immutable; + using System.Composition; + using System.Threading.Tasks; + using System.Threading.Tasks.Schedulers; + using MarkupConverter; + using Microsoft.DocAsCode.Plugins; + + [Export(nameof(RtfDocumentProcessor), typeof(IDocumentBuildStep))] + public class RtfBuildStep : IDocumentBuildStep + { + #region Build + private readonly TaskFactory _taskFactory = new TaskFactory(new StaTaskScheduler(1)); + + public void Build(FileModel model, IHostService host) + { + string content = (string)((Dictionary)model.Content)["conceptual"]; + content = _taskFactory.StartNew(() => RtfToHtmlConverter.ConvertRtfToHtml(content)).Result; + ((Dictionary)model.Content)["conceptual"] = content; + } + #endregion + + #region Others + public int BuildOrder => 0; + + public string Name => nameof(RtfBuildStep); + + public void Postbuild(ImmutableList models, IHostService host) { } + + public IEnumerable Prebuild(ImmutableList models, IHostService host) + { + return models; + } + #endregion + } +} diff --git a/docs/codesnippet/Rtf/RtfDocumentProcessor.cs b/docs/codesnippet/Rtf/RtfDocumentProcessor.cs new file mode 100644 index 0000000..35fd8e2 --- /dev/null +++ b/docs/codesnippet/Rtf/RtfDocumentProcessor.cs @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace RtfDocumentProcessors +{ + using System; + using System.Collections.Generic; + using System.Collections.Immutable; + using System.Composition; + using System.IO; + using Microsoft.DocAsCode.Common; + using Microsoft.DocAsCode.Plugins; + + [Export(typeof(IDocumentProcessor))] + public class RtfDocumentProcessor : IDocumentProcessor + { + #region BuildSteps + [ImportMany(nameof(RtfDocumentProcessor))] + public IEnumerable BuildSteps { get; set; } + #endregion + + #region Name + public string Name => nameof(RtfDocumentProcessor); + #endregion + + #region GetProcessingPriority + public ProcessingPriority GetProcessingPriority(FileAndType file) + { + if ( + file.Type == DocumentType.Article + && ".rtf".Equals(Path.GetExtension(file.File), StringComparison.OrdinalIgnoreCase) + ) + { + return ProcessingPriority.Normal; + } + return ProcessingPriority.NotSupported; + } + #endregion + + #region Load + public FileModel Load(FileAndType file, ImmutableDictionary metadata) + { + var content = new Dictionary + { + ["conceptual"] = File.ReadAllText(Path.Combine(file.BaseDir, file.File)), + ["type"] = "Conceptual", + ["path"] = file.File, + }; + var localPathFromRoot = PathUtility.MakeRelativePath( + EnvironmentContext.BaseDirectory, + EnvironmentContext.FileAbstractLayer.GetPhysicalPath(file.File) + ); + + return new FileModel(file, content) { LocalPathFromRoot = localPathFromRoot }; + } + #endregion + + #region Save + public SaveResult Save(FileModel model) + { + return new SaveResult + { + DocumentType = "Conceptual", + FileWithoutExtension = Path.ChangeExtension(model.File, null), + }; + } + #endregion + + #region UpdateHref + public void UpdateHref(FileModel model, IDocumentBuildContext context) { } + #endregion + } +} diff --git a/docs/docfx.json b/docs/docfx.json new file mode 100644 index 0000000..54518d3 --- /dev/null +++ b/docs/docfx.json @@ -0,0 +1,58 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "src/ReflectionEventing/ReflectionEventing.csproj", + "src/ReflectionEventing.DependencyInjection/ReflectionEventing.DependencyInjection.csproj" + ], + "src": "../" + } + ], + "dest": "api", + "properties": { + "TargetFramework": "net472" + }, + "disableGitFeatures": false, + "disableDefaultFilter": false + } + ], + "build": { + "content": [ + { + "files": ["**/*.{md,yml}"], + "exclude": ["_site/**", "obj/**"] + } + ], + "resource": [ + { + "files": [ + "**/images/**", + "codesnippet/**", + "manifest.webmanifest", + "robots.txt" + ], + "exclude": ["_site/**", "obj/**"] + } + ], + "xrefService": ["https://xref.docs.microsoft.com/query?uid={uid}"], + "postProcessors": ["ExtractSearchIndex"], + "globalMetadata": { + "_appTitle": "Reflection Eventing", + "_appName": "Reflection Eventing", + "_appFaviconPath": "images/favicon.ico", + "_appLogoPath": "images/reflectioneventing.png", + "_appFooter": "Made with docfx, ChatGPT and DeepL | Copyright © 2025 lepo.co" + }, + "dest": "_site", + "template": ["default", "templates/reflectioneventing"], + "globalMetadataFiles": [], + "fileMetadataFiles": [], + "markdownEngineName": "markdig", + "noLangKeyword": false, + "keepFileLink": false, + "cleanupCacheHistory": false, + "disableGitFeatures": false + } +} diff --git a/docs/documentation/.gitignore b/docs/documentation/.gitignore new file mode 100644 index 0000000..e8079a3 --- /dev/null +++ b/docs/documentation/.gitignore @@ -0,0 +1,5 @@ +############### +# temp file # +############### +*.yml +.manifest diff --git a/docs/documentation/configuration.md b/docs/documentation/configuration.md new file mode 100644 index 0000000..0794815 --- /dev/null +++ b/docs/documentation/configuration.md @@ -0,0 +1,33 @@ +# EventBusBuilder Configuration + +The `EventBusBuilder` class is used to configure and build an event bus with a specific set of consumers. This document provides an overview of the configuration options and usage examples. + +## Configuration Options + +### EventBusBuilderOptions + +The `EventBusBuilderOptions` class provides several configuration options to control the behavior of the event bus: + +- **UseEventPolymorphism**: Indicates whether the event bus should use event polymorphism. If set to `true`, the event bus will deliver events to consumers that handle the event type or any of its base types. The default value is `false`. + +- **UseEventsQueue**: Indicates whether the event bus should use a background events queue. If set to `true`, the event bus will use a background queue to process events. The default value is `true`. + +- **UseErrorQueue**: Indicates whether the event bus should use an error queue. If set to `true`, the event bus will use an error queue to handle events that fail processing. The default value is `false`. + +- **QueueTickRate**: The rate at which the event queue is processed. The default value is 20ms. + +- **ErrorTickRate**: The rate at which the error queue is processed when default queue consumption fails. The default value is 20ms. + +## Usage Examples + +### Adding Consumers + +You can add consumers to the `EventBusBuilder` using the `AddConsumer` method. This method checks if the consumer is registered in the service collection and if it is not transient. It then gets the interfaces of the consumer that are generic and have a generic type definition of `IConsumer`. For each of these interfaces, it gets the generic argument and adds it to the consumers dictionary. + +```csharp +services.AddEventBus(builder => +{ + builder.Options.UseEventPolymorphism = true; + builder.AddConsumer(typeof(MyConsumer)); +}); +``` diff --git a/docs/documentation/index.md b/docs/documentation/index.md new file mode 100644 index 0000000..43f598a --- /dev/null +++ b/docs/documentation/index.md @@ -0,0 +1,121 @@ +# Reflection Eventing Docs + +[Created with ❤ in Poland by lepo.co](https://dev.lepo.co/) +ReflectionEventing is a powerful tool for developers looking to create decoupled designs in WPF, WinForms, or CLI applications. By leveraging the power of Dependency Injection (DI) and eventing, ReflectionEventing promotes better Inversion of Control (IoC), reducing coupling and enhancing the modularity and flexibility of your applications. + +[![GitHub license](https://img.shields.io/github/license/lepoco/reflectioneventing)](https://github.com/lepoco/reflectioneventing/blob/master/LICENSE) [![Nuget](https://img.shields.io/nuget/v/ReflectionEventing)](https://www.nuget.org/packages/ReflectionEventing/) [![Nuget](https://img.shields.io/nuget/dt/ReflectionEventing?label=nuget)](https://www.nuget.org/packages/ReflectionEventing/) [![Sponsors](https://img.shields.io/github/sponsors/lepoco)](https://github.com/sponsors/lepoco) + +## 👀 What does this repo contain? + +This repository houses the source code for the ReflectionEventing NuGet package. The package utilizes C# reflection to register services that can listen for and respond to local events. + +## 🛟 Support plans + +To ensure you receive the expert guidance you need, we offer a variety of support plans designed to meet the diverse needs of our community. Whether you are looking to in memory eventing or need assistance with our other libraries, our tailored support solutions are here to help. From priority email support to 24/7 dedicated assistance, we provide flexible plans to suit your project requirements. + +[Take a look at the lepo.co support plans](https://lepo.co/support) + +## 🤝 Help us keep working on this project + +Support the development of Reflection Eventing and other innovative projects by becoming a sponsor on GitHub! Your monthly or one-time contributions help us continue to deliver high-quality, open-source solutions that empower developers worldwide. + +[Sponsor Reflection Eventing on GitHub](https://github.com/sponsors/lepoco) + +## Gettings started + +ReflectionEventing is available as NuGet package on NuGet.org: + + + + + + + +You can add it to your project using .NET CLI: + +```powershell +dotnet add package ReflectionEventing.DependencyInjection +``` + +, or package manager console: + +```powershell +NuGet\Install-Package ReflectionEventing.DependencyInjection +``` + +### 🛠️ How to Use ReflectionEventing + +#### 1. Register Consumers and the Event Bus + +In this step, we register our ViewModel as a singleton and add it as a consumer to the event bus. This allows the ViewModel to listen for events published on the bus. + +```csharp +IHost host = Host.CreateDefaultBuilder() + .ConfigureServices((context, services) => + { + services.AddSingleton(); + services.AddEventBus(e => + { + e.AddConsumer(); + }); + } + ) + .Build(); +``` + +#### 2. Publish Events + +Here, we create a background service that publishes an event on the event bus. This event could be anything - in this case, we're publishing a `BackgroundTicked` event. + +```csharp +public class MyBackgroundService(IEventBus eventBus) +{ + public void PublishEvent() + { + eventBus.Publish(new BackgroundTicked()); + } +} +``` + +#### 3. Listen for Events + +Finally, we implement the `IConsumer` interface in our ViewModel. This allows the ViewModel to consume `BackgroundTicked` events. When a `BackgroundTicked` event is published, the `ConsumeAsync` method is called, and we update the `CurrentTick` property. + +```csharp +public partial class MainWindowViewModel : ObservableObject, IConsumer +{ + [ObservableProperty] + private int _currentTick = 0; + + public Task ConsumeAsync(BackgroundTicked payload, CancellationToken cancellationToken) + { + CurrentTick = payload.Value; + + return Task.CompletedTask; + } +} +``` + +## Special thanks + +JetBrains was kind enough to lend a license for the open-source **dotUltimate** for _ReflectionEventing_ development. +Learn more here: + +- +- + +## Compilation + +To build the project, use Visual Studio 2022 and open the .sln file. + +Visual Studio +**ReflectionEventing** is an Open Source project. You are entitled to download and use the freely available Visual Studio Community Edition to build, run or develop for ReflectionEventing. As per the Visual Studio Community Edition license, this applies regardless of whether you are an individual or a corporate user. + +## Code of Conduct + +This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. + +## License + +**ReflectionEventing** is free and open source software licensed under **MIT License**. You can use it in private and commercial projects. +Keep in mind that you must include a copy of the license in your project. diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0999777f7dabd8571c950ff0fcea2e689e9d5c53 GIT binary patch literal 15406 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 diff --git a/docs/images/icon-192x192.png b/docs/images/icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..909a51407d1f69568816587a2cd11e17ed00090c GIT binary patch literal 13231 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 literal 0 HcmV?d00001 diff --git a/docs/images/icon-384x384.png b/docs/images/icon-384x384.png new file mode 100644 index 0000000000000000000000000000000000000000..d2126b7752720a40d3bacf15eb5ca5e4bbb1bd12 GIT binary patch literal 26491 zcmeFYWmFtb_bxhUa7b_o?(Xgu+$FdU5?lv@1_>d!I|O$pxF)y;cefBcxX$hTUSIdD zb?>{*Ip6-k0A0OnckQQkRc-5VHI+B$C`2eA5C~mfPFe#5f(iWdK|%yt3I@J*0e^bm zYrS>XFoTdgyE<9f+Jnj6y`912U@u!M5XfuELCxURcXFi1eH;;3wkXm8ZqFjVpXU)l zSp~=A-Hy~%pv(CSm?jun1Z9IE9&2u!+2Jv1i8mQ(YS!8Gij!9)q6oZr7U8IiX>;C& zZ_*te#Z3(4PFxBuLL76BX z2meja*Nu$<^Vyz0J>3_&5?GHQ7yL{dqk>*2O(-4*DapL%r zEAF?el9+?#DMabA*?$K0#u%m;`EMJ#zTHTppvuUm!+04{$eP@inuMO@mCm16LbQu2 zkb*mIkU9G<>+9)|2?4zg6Jgafi3F^o93{d_&R->8P*BzNc{G#?Y{gDC$vht!T!(hb z0^=-TcuHbP#BRwRPv)3alw0LL@c(!)Una8O&^=X=CfEa9=>&D7^v|oVQdD;T%^;TI)(89@q)y&e#9L(zF;0)*; z2qY}#X-&k2%2+BISI+y{| zY3pES4Q6w8wEpWEe*hPhP?Hy-KU{^Ol7yoeOU}xpx{p-%3i4g?E0iZSeqp1LczuEz5 z1f^WTX6{a|T24;(B9wmyMgFJfKW{4o3(C^W-Avld9SksK=j0J&=M?1R*5cq5OaeeT=;L3E@$foJm34TroXKzO|Z+~uKspuZ~NC`A}9ZA zSqPe0{7nQmGf%MPU*iOL{q2^8jhUl07}!7luCV`TxBXuz11FCKrzM~~Ec^mIye!$~Y#^o^;aI+B272imMpntx{wOcE0YG0^zJU0zw{ z#Q`h zAvN20LXSuM;aTu>F5#~ST)r<*M?2Ve^OARKeSnewvgT7=ehhx!87hKf#_+u&Piw#DTm{hoQzB`>vfx6evna&9(sT)hm#Z?lT!8 zDeS0g70|2(N^J)?2g7$mwI4mY{RQ|!u%vobOs|%LJ;vakWM*Kh9_e5vhVRHj2qdjw z?84kpO_h&f@UarzB#=0y5duGdeQ~%YRfbSgblq*gQ9u$v(TlYQWBgXrr<>0bcB4`V zy8l5#;92q$g(Cz006d~}mnTfe?0$e;bPJYb`*-7w)@Og6FYEdsr?G2qiRgMPNkem@ zGs}Pgn*dLk<2O2IIFg@Em<=_3zL>lSd7uHUy&qIWqUiPEswfq4_UM7{HW(2SrXJ8n zqF^0C60QYCar=B<(^>Jz6#LaL1dEcGrd$2qEMCQ=3Dik7pn*j3-W~1<;`cNR!3b4+j@I-YoHamkT)`gw3D9~pdX@# zr3dApSP|b)EJ{AkU|P`J4C$?|fUzV}-1Pgar{F>a=V}sGijculyWgUJ-9%KQ9Z*1` zaQ%gC_YTuAsR`z6PRitF(B+lnC(-k5Uq_gQ*uJ$8ti0;c;eF68v4E%~(j?>$SMyH9 zZj<57mjK<>c{^$#&({}tLoR+w) z@CaCB7(%d~w(fymN_SJRC2;R{QjsX6yWS$~D1(62K@j3vOS9vr5t&!b@5`udp`55o ze4a#bjzj3;jka*as1x>iG0$8LR|^+MTSD>hr(i)m;g))o4Yw3?W^TPmRF_eHzJT)g zQk>%}Th8>vYJvt*7{{S7P%6`aPlnW`2cMRKwQQ)mY=~ z`P+}lMetX}+nK_zwtI64#_%1<&x%YUZsFUc~3c3UhWw@AD@d1QHc0jN-UB3;Umf)YU_= z3RXx6Q%7E0gXMN`nIf@?!3-#})zzHw^@d96zrLNYqusA- z2hjGf9ZO)4eR6#l5WkmT>u&q{6U?6#TYczc3-c+Hv5dE7%af05zm1;Z>jo2VZka;Q zW9MeRJsKI<;_h8kV={Gdw9LY-WUSwzMM0qpIU*r4X!0RpFi*|cVyDQ**RZ3GpuFlYSh9j#ArxiMdf;ys`#A%nEk`r(Pn~@VW zn9xs2Ms(dl72F+aJ4(Vezq)6(mPff_+@d;2V-)t(7S#UeF62}drGWK`G)}^Fl1|5O zW$at4i?$1J~+IWD}QV6;>Sdg~)Wr9lOb|An|Ub zonGVO#v6&>NVcl8G4*A>gYa)Pst04`*w2b?;&Px*&lQnc&F99LOim2BuBkjPUI$ZV zkQ0cEkK;d^QD;=2?A%~BO#7=8MWFyQiFst4G~u70=^f#R@YV9W>9#vzi6DO8rXCXTfv>&fCSpsjpp?LK;BQ z(S%CQBgGvnUT+9VbL3H|C%ht*d^fO@B8lvFtxfDGl44z8C}7B4yVWaP4~u;(Iy=zn z^@sxRhOPK&e6^7acdbb8J*lq3b~ZWUd^F(DD5#3kZof4#w%k>@mOj1+UpjE?yp7sa zGPX?mhV=@RXU(h2t9GT#f%A?ZIh zxy&Uh5SBh2B6o&azl+JS-n=j&{!sna>K+FrY`QzWjY+PUQ}`+Y)T)F9sMJ>0SFzEq zzVSC=d`gT^Sj(@aEALfl%GAw{V;<`cQ-5+Cz%q(!Z%6s=aA_wdrWLZIe5KjoblwkR z(z_6-jzmU62Dwb`l(Rg3kC9c^H;em5?@U`itPDx4-;z>cK%;;h-{v~Uzd_HxewTJYLk;>!VjVub z->KI#dPm9-NkIZjc2|zFQs^p=iX52h210jUHn~rQd{srUK=SdSne2MnbdJO$#Ki;H ze#@NoOs-_?u}O?DmITqNxSWRvF!yZ5Ur5M-a2nDHt)924!#1x6w@J33%=+rRLBwEY zIp7wvZul@Av?_i}BkhoFZD^DG_vQrJcLRn)86@PupoYB!QQ4TJSqhnXVNt3Zzb2G* zXJkM()YRTtrR#aSG0^Hwo3w|8d$2k_*1V8W!Jb4v5GJ)8?kBhnSg+{cixmL= z;>?XxI4GDV)L_W6k)}!;H05R>h(hrUgUMI#vC-hj(6;A=`$)lV{gkGtGpL2W z!OEq^xgvgtMD<-ZgHXqz(5fP9cylgjjl8&|ceJ=mzwarB|BW!UVi*c?poHBFH#TZA zPHvf$(`OS}xMkjZ@B2;OXh(U=8-4W0D57WCDD33~ahzs;2iM<}Oc3Ap$W}ep8Q5b+ zLb1i6;~bVPzIDfx2mnPiS)G(`1D$H&(<1H|X+;Ny{KOW}6D&62t>R4^M?Tqk5B_G3 z@t&ytl8&WsSCHFOwZpvT8AE3#dsh8Ti{*Q)0baUYb3i$R$0~EKIb4Q+=v~#;i}bmv zHq>| z%FwH;vyrQK$o^!_-!9f03|)~PIdJdt_Y^F3yN#j_Teq=1ucSD+Q$nCA+zTS0Qqz9x z>%hS_apUIhCdta^a^4xE)YYdjY2BqL9uQX+3KLtgl$#boVR{*ufvGzGet=ozAnI9{5w{@5jTe+`^fzbhwZ zr@g2}=sPc3Iv7ar9pUyTdJ#PqGn7zHp_T|%Z4I!%3FE(3IL6K8DY>cgAPiv~b|ST* zB_uRdEzVv_+ltHKd39O*!s9N6z`^3qh!c+-hWz)`XW|HFA5^zwNBY=3ArnzC8#0BZ zd;7>2ogSntBF!l}Z~gNzGv1U1<|<{w4N6fJr>AzU7{qq55Y64rs&#sSt*teBLKMLO!hR4=SR>Qw3X6I}~?zx;&qs%!M6LIK9IiqZD| z;S5#j-Mj=4mbb)*Wl{CWK8;j}mBIQ?%jx>K6`Uj#)U|!n6Hfg6fu)+a=x>=3BWV$W zB_!0vM}8K>3l25QQpfLYoFG+;;%>~GtbG;L;KiFHOiJVU?N3JGEP{VvpU^hH+CKD{~$g$?wAmPR;R}JTJc-Z z3A)zhDyoO4%{HaDK_}j99BuwadM-k9>RjR|iJACK98n_(Rw#iFBv6x?MeLs!KskXR zz%dy6@c!7IPl@7jUJuau-FcH@QM-4Y$U}fbtK{-q6*J28XeGO{sUg5R)!F7u1=XW9 zlDT=20{;uZN3O}Y0V$*MEZNV-N#51nZbIjadt!<2Wv441^Uc)(ghXV#r^BSGcPcn6 zf1FHya*oq$evvOtt7y#4oLiAe99A3+DMHiiE-G{p-)GOO;tgs$;TQ_UzqQ$dtPG#k(zamHfO^GOK8zXfNHhG%pG>%lEHbj# zUCL0n_scP^mjR#5I*vvk>BC%EBi`slSVas!?vl0;(14@^n25~2n5TX<4KSGb$$gQ)^H9|or>WeLuD}GGjt#>^RE4|AK~H{E zcJ_&p?Z11DaUpGKyn!R8_$lcw_+UN)GGw%8qwk*;l$7-1pP~lqGFDgayuFhFd@d`3 zNbGu!8CJsTA{0iMjoj{%=x`Be4Z)lF0otKM+|I>CJzvyx;*0{kD2)l0WsScwKj2D! z&*kP@RUa?z(qm=$AR(I^GzjOxh2o=UoS+BZ9V>)?BB~aBMVr;`E*slZP;>O8GPk0c zj4$-1FK~W&`cW+1#^k-3<8SS)F@#v?z++0GMpzGiYSh@Ta& z{KN3(A~ZSwVZEjIX4IQh^tzB!E4Tq3Sb9yg%1w$CJ8{82lEP2Zp!dmqRr&q+{miT~ zAIeDGzrS948uyD=wo2-o$GIpCV311kM+9sx2HjEx+d>%>N=zHutPUYq-6$u z{V6D*?(<_1F9w4a@aR_i@X{2k*|xIT@GTOj4PnLGr_au5M`;D%?@R}1#V{Y;sA^5G z{pMz|qi|BvQHz*|nOI8nSess-47#_FXAf1lKBa5yt&*2VDS$pfN(gL!O>!brzPXHW zTgbV0;97t3rK&7$Anj0IReC|{v{{jF(O9CCn()Npvwc@JFIBgQ?t5ZKmD)1(kx~j4 zur~9i6sTw;NP=KWAGn-NRbz7kPKCSfREP;HtuN+|jg!i&S=x(D5BDs^cxQn)*IQ;r zvO8ZIi@o&Soe?TdVXi>mKG{gw7Mfp9xu)ssq6>peG4Ml|uE;sdVn))oGMgUGF+@2} z{NirgKGmP}MTYww$QX9l8;xTV)bv488F@h?EF-7ac70@W^~X^dozE@P6%QV#OwiUs zyyR-uQ6A^_oLDQ9*^*sKQtwX8*~sqn!|g?>SOO_XK`6~D8jnxAqeJvD(6Tg#iT+l@ z&y)tV8Q*@jeMaT&RU8>htw1TgO-j+GE{OYNU9&WEBYaxzV}gu7-tWD;S(BMM1xwJ% z0&0R6&xw%XF*aNtPH__YUPPBKQ2MA1$J{m2cZ9GOwEDfrRE?fAdsXWFd5H?8|J?`o zjMeTdI|X_|hgfVaSks@$?W;5}KT^iCKA(@|7;Xe~E`ClPAKSA03_I^T*cT?Ism+es z?QtU%!B{6Gmf(_Qxiwrg8BKJ!aWat{cnObAU-|*@47PrG7o&vjr{K}julE2+#-TIN(rcIBFpyN9@RNN_?S@!NQmR?Z? zCWEUDn>%Z2vd%X<&own^w`tJ07clgd)YDd;_B9yOHd_WVytl%#s4ZF!FKSzHb$ove zg^7vScVE+!#)3fh*GFY9SY+m4OxYO?-K3CrEedhTVb~M(LBy3p@tjbZE@4R2_cbe3&QmcXGX~+yWDo)6nq5`H zVBXZw&-Q0?rWn6!IF_U~A!xcS-t)5$m0m*yLB6exj?$uNVfK*o;)|YEuH5mSDWObP z$(tLFWJ&@8JmkPkei!a<*q9zx9U*QIStXv@Ur)x#mCQZD1@pEVb^iSngtO<6B36uc z>$Ei5gyC5xKYM=;$r^djmkD^{AGn6{&pPlTtZv6*GHk?_ANyzZ6*$a;9n z6~nxC*SW%L#-}lxu#s=EEFA{JZq1uRzQtVWSgL{?!+M^{ARXH`3?xf&3C8)>V;H+`4m{iHXT9w%&y% zrkVWtWL^E{cVCS#g5bqBQ9Kktms->XwTH8B=c>7uaYZkVT^*s$h0J|^i|~PO8}=(_ zA`xRAOOm1+k1}5JwtXOUTXjXF2BGL0Na>^GhFzbcy*wUuMC-HEz1^8t)N8COIKy`x zQGQabNZHm>9+UXc&+n;4JNiyj{iZyc7Z+u$1pja=#_wx-qqx( z$HwWPXnUCUatQ$)S0jK}4FVQQQ2}|Kd!f(xvp|NF%7r~ort;3C?|RE(&Q;`>cvmj$ zBK_S!U?BRi;^eWvChrfV^caC1jx3ria_>>(#vT=WsBT$P8+VU6{`Gf&rJ9{Zx}^pz zIkAqxb-ko--&AO9W$?0vK)?iC#;b;#jh>pJ=`4OrTfk+Poc0x!VWgOVwaj--r73TD zv}%)_l{=6el%=k4*_1nJql1eg@@cZ}5)PStXS(@Lk6Z=zOSd6^Hf>rwXi(NAEv==z z%2&bqn3AcJvL45fmyZ^I%kutbgYSu1K#Vb8KnpWE;QyQIPZS}$4~jcCik?Fm(`q(; zC$;v#mpk4JwTdmSrDn$5tO9d8mMgN@1Y0KimZ3aun;u3@{1S~s3@0gQuoc&I6Z=M+ zqhfC6c)iv~tMl?ZW6{L<@Ndk;%mhJh9@_g$F5Zg6(R&`9@(+_9Q}H7_;WIFe4`WC` zybS0cl-Iowj?sB{K{O{aJ)A3|F6keoglMl4s%}wP(cTiWnQ!USW8arg6t$n=cTf1{ zx(^9)s#!$W_-Ww?Q8tpN9=F8|&{1+9KH2b(JVz>e7t{u%YHT0`hfw$k5;2w&TK zYV&#>ggWypKZSQ5Ctvb`Z7O26uMO|It0qg-cnlFQ+>~1b5#Lf)xcx3!nZ5it=J=&~ zRLQnQj}dD8S(az~_0MGx(pO6x+j0L)30QI1FXYGTgz-jOGRFMg{0f{)O?3I$AL{8| z6=*K{sdy(b9{{ihs*r@gj4RBQAziqBUt%JWl%FArBwC442At*8(=
  • A((! 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 literal 0 HcmV?d00001 diff --git a/docs/images/nuget.svg b/docs/images/nuget.svg new file mode 100644 index 0000000..dd7a2ab --- /dev/null +++ b/docs/images/nuget.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + diff --git a/docs/images/reflectioneventing.png b/docs/images/reflectioneventing.png new file mode 100644 index 0000000000000000000000000000000000000000..3726f30e3674632043bbaf5e62530c7ab8b03f03 GIT binary patch literal 87832 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

    |~XLS65F;7KLXdprMowOYECueTHq8 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..4a9b5db --- /dev/null +++ b/docs/index.md @@ -0,0 +1,121 @@ +# 🚎 ReflectionEventing + +[Created with ❤ in Poland by lepo.co](https://dev.lepo.co/) +ReflectionEventing is a powerful tool for developers looking to create decoupled designs in WPF, WinForms, or CLI applications. By leveraging the power of Dependency Injection (DI) and eventing, ReflectionEventing promotes better Inversion of Control (IoC), reducing coupling and enhancing the modularity and flexibility of your applications. + +[![GitHub license](https://img.shields.io/github/license/lepoco/reflectioneventing)](https://github.com/lepoco/reflectioneventing/blob/master/LICENSE) [![Nuget](https://img.shields.io/nuget/v/ReflectionEventing)](https://www.nuget.org/packages/ReflectionEventing/) [![Nuget](https://img.shields.io/nuget/dt/ReflectionEventing?label=nuget)](https://www.nuget.org/packages/ReflectionEventing/) [![Sponsors](https://img.shields.io/github/sponsors/lepoco)](https://github.com/sponsors/lepoco) + +## 👀 What does this repo contain? + +This repository houses the source code for the ReflectionEventing NuGet package. The package utilizes C# reflection to register services that can listen for and respond to local events. + +## 🛟 Support plans + +To ensure you receive the expert guidance you need, we offer a variety of support plans designed to meet the diverse needs of our community. Whether you are looking to in memory eventing or need assistance with our other libraries, our tailored support solutions are here to help. From priority email support to 24/7 dedicated assistance, we provide flexible plans to suit your project requirements. + +[Take a look at the lepo.co support plans](https://lepo.co/support) + +## 🤝 Help us keep working on this project + +Support the development of Reflection Eventing and other innovative projects by becoming a sponsor on GitHub! Your monthly or one-time contributions help us continue to deliver high-quality, open-source solutions that empower developers worldwide. + +[Sponsor Reflection Eventing on GitHub](https://github.com/sponsors/lepoco) + +## Gettings started + +ReflectionEventing is available as NuGet package on NuGet.org: +https://www.nuget.org/packages/ReflectionEventing +https://www.nuget.org/packages/ReflectionEventing.Autofac +https://www.nuget.org/packages/ReflectionEventing.Castle.Windsor +https://www.nuget.org/packages/ReflectionEventing.DependencyInjection +https://www.nuget.org/packages/ReflectionEventing.Ninject +https://www.nuget.org/packages/ReflectionEventing.Unity + +You can add it to your project using .NET CLI: + +```powershell +dotnet add package ReflectionEventing.DependencyInjection +``` + +, or package manager console: + +```powershell +NuGet\Install-Package ReflectionEventing.DependencyInjection +``` + +### 🛠️ How to Use ReflectionEventing + +#### 1. Register Consumers and the Event Bus + +In this step, we register our ViewModel as a singleton and add it as a consumer to the event bus. This allows the ViewModel to listen for events published on the bus. + +```csharp +IHost host = Host.CreateDefaultBuilder() + .ConfigureServices((context, services) => + { + services.AddSingleton(); + services.AddEventBus(e => + { + e.AddConsumer(); + }); + } + ) + .Build(); +``` + +#### 2. Publish Events + +Here, we create a background service that publishes an event on the event bus. This event could be anything - in this case, we're publishing a `BackgroundTicked` event. + +```csharp +public class MyBackgroundService(IEventBus eventBus) +{ + public void PublishEvent() + { + eventBus.Publish(new BackgroundTicked()); + } +} +``` + +#### 3. Listen for Events + +Finally, we implement the `IConsumer` interface in our ViewModel. This allows the ViewModel to consume `BackgroundTicked` events. When a `BackgroundTicked` event is published, the `ConsumeAsync` method is called, and we update the `CurrentTick` property. + +```csharp +public partial class MainWindowViewModel : ObservableObject, IConsumer +{ + [ObservableProperty] + private int _currentTick = 0; + + public Task ConsumeAsync(BackgroundTicked payload, CancellationToken cancellationToken) + { + CurrentTick = payload.Value; + + return Task.CompletedTask; + } +} +``` + +## Special thanks + +JetBrains was kind enough to lend a license for the open-source **dotUltimate** for _ReflectionEventing_ development. +Learn more here: + +- https://www.jetbrains.com/dotnet/ +- https://www.jetbrains.com/opensource/ + +## Compilation + +To build the project, use Visual Studio 2022 and open the .sln file. + +Visual Studio +**ReflectionEventing** is an Open Source project. You are entitled to download and use the freely available Visual Studio Community Edition to build, run or develop for ReflectionEventing. As per the Visual Studio Community Edition license, this applies regardless of whether you are an individual or a corporate user. + +## Code of Conduct + +This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. + +## License + +**ReflectionEventing** is free and open source software licensed under **MIT License**. You can use it in private and commercial projects. +Keep in mind that you must include a copy of the license in your project. diff --git a/docs/manifest.webmanifest b/docs/manifest.webmanifest new file mode 100644 index 0000000..42a3669 --- /dev/null +++ b/docs/manifest.webmanifest @@ -0,0 +1,32 @@ +{ + "theme_color": "#512bd4", + "background_color": "#512bd4", + "display": "standalone", + "scope": "/", + "start_url": "/", + "name": "Reflection Eventing", + "short_name": "Reflection Eventing", + "description": "Reflection Eventing - streamline your application’s event-driven architecture. ReflectionEventing enables easy event handling in .NET applications through dependency injection, promoting loose coupling and increased modularity.", + "icons": [ + { + "src": "images/icon-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "images/icon-256x256.png", + "sizes": "256x256", + "type": "image/png" + }, + { + "src": "images/icon-384x384.png", + "sizes": "384x384", + "type": "image/png" + }, + { + "src": "images/icon-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/docs/robots.txt b/docs/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/docs/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/docs/templates/.eslintrc.js b/docs/templates/.eslintrc.js new file mode 100644 index 0000000..ec36604 --- /dev/null +++ b/docs/templates/.eslintrc.js @@ -0,0 +1,16 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +module.exports = { + env: { + browser: true + }, + ignorePatterns: ['**/*.js'], + extends: ['standard', 'eslint:recommended', 'plugin:@typescript-eslint/recommended'], + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + root: true, + rules: { + 'space-before-function-paren': ['warn', 'never'], + } +}; diff --git a/docs/templates/.gitignore b/docs/templates/.gitignore new file mode 100644 index 0000000..e1587eb --- /dev/null +++ b/docs/templates/.gitignore @@ -0,0 +1,11 @@ +*.min.js +*.min.css +*.map +*.woff +*.woff2 + +glyphicons-*.* + +dist +fonts +node_modules diff --git a/docs/templates/.stylelintrc.json b/docs/templates/.stylelintrc.json new file mode 100644 index 0000000..3b9e662 --- /dev/null +++ b/docs/templates/.stylelintrc.json @@ -0,0 +1,14 @@ +{ + "extends": "stylelint-config-standard-scss", + "ignoreFiles": [ + "**/*.ts" + ], + "rules": { + "selector-class-pattern": null, + "font-family-no-missing-generic-family-keyword": [ true, { + "ignoreFontFamilies": [ + "bootstrap-icons" + ] + }] + } +} diff --git a/docs/templates/README.md b/docs/templates/README.md new file mode 100644 index 0000000..6dd9d8f --- /dev/null +++ b/docs/templates/README.md @@ -0,0 +1 @@ +This folder contains the source code for website themes used by docfx.exe. \ No newline at end of file diff --git a/docs/templates/build.js b/docs/templates/build.js new file mode 100644 index 0000000..701077f --- /dev/null +++ b/docs/templates/build.js @@ -0,0 +1,84 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +const esbuild = require('esbuild') +const { sassPlugin } = require('esbuild-sass-plugin') +const bs = require('browser-sync') +const { cpSync, rmSync } = require('fs') +const { join } = require('path') +const { spawnSync } = require('child_process') +const yargs = require('yargs/yargs') +const { hideBin } = require('yargs/helpers') +const argv = yargs(hideBin(process.argv)).argv + +const watch = argv.watch +const project = argv.project || '../samples/seed' +const distdir = '../src/Docfx.App/templates' + +const loader = { + '.eot': 'file', + '.svg': 'file', + '.ttf': 'file', + '.woff': 'file', + '.woff2': 'file' +} + +build() + +async function build() { + + await buildReflectionEventingTemplate(); + + copyToDist() + + if (watch) { + serve() + } +} + +async function buildReflectionEventingTemplate() { + const config = { + bundle: true, + format: 'esm', + splitting: true, + minify: true, + sourcemap: true, + outExtension: { + '.css': '.min.css', + '.js': '.min.js' + }, + outdir: 'reflectioneventing/public', + entryPoints: [ + 'reflectioneventing/src/docfx.ts', + 'reflectioneventing/src/search-worker.ts', + ], + plugins: [ + sassPlugin() + ], + loader, + } + + if (watch) { + const context = await esbuild.context(config) + await context.watch() + } else { + await esbuild.build(config) + } +} + + +function copyToDist() { + + rmSync(distdir, { recursive: true, force: true }) + + cpSync('reflectioneventing', join(distdir, 'reflectioneventing'), { recursive: true, overwrite: true, filter }) + + function filter(src) { + const segments = src.split(/[/\\]/) + return !segments.includes('node_modules') && !segments.includes('package-lock.json') && !segments.includes('src') + } + + function staticTocFilter(src) { + return filter(src) && !src.includes('toc.html') + } +} diff --git a/docs/templates/package-lock.json b/docs/templates/package-lock.json new file mode 100644 index 0000000..6cf7623 --- /dev/null +++ b/docs/templates/package-lock.json @@ -0,0 +1,17474 @@ +{ + "name": "@docfx/template", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@docfx/template", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@default/anchor-js": "npm:anchor-js@5.0.0", + "@default/bootstrap": "npm:bootstrap@3.4.1", + "@default/highlight.js": "npm:highlight.js@11.8.0", + "@default/lunr": "npm:lunr@2.3.9", + "@default/mark.js": "npm:mark.js@8.11.1", + "@default/twbs-pagination": "josecebe/twbs-pagination#1.3.1", + "@default/url": "npm:@websanova/url@2.6.3", + "@websanova/url": "^2.6.3", + "anchor-js": "^5.0.0", + "bootstrap": "^5.3.1", + "bootstrap-icons": "^1.10.5", + "highlight.js": "^11.8.0", + "jquery": "3.7.0", + "lit-html": "^2.8.0", + "lunr": "2.3.9", + "mathjax": "^3.2.2", + "mermaid": "^10.3.0" + }, + "devDependencies": { + "@types/jest": "^29.5.3", + "@typescript-eslint/eslint-plugin": "^6.2.1", + "@typescript-eslint/parser": "^6.2.1", + "browser-sync": "^2.29.3", + "esbuild": "~0.18.17", + "esbuild-sass-plugin": "~2.10.0", + "eslint": "^8.46.0", + "eslint-config-standard": "^17.1.0", + "jest": "^29.6.2", + "stylelint": "^15.10.2", + "stylelint-config-standard-scss": "^10.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6", + "yargs": "^17.7.2" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", + "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.3", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.3", + "@babel/types": "^7.21.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@braintree/sanitize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", + "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.0.tgz", + "integrity": "sha512-dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.1.1" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz", + "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.2.tgz", + "integrity": "sha512-M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.3.0", + "@csstools/css-tokenizer": "^2.1.1" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, + "node_modules/@default/anchor-js": { + "name": "anchor-js", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/anchor-js/-/anchor-js-5.0.0.tgz", + "integrity": "sha512-2bOqCsBIXAYhjAN3iI4QevoAJtB2gRWAiY9P3P7CVW8lIjA3Dl6ldhDlWeeQvCHif+V5vIndfLOag/5I8tzTzA==" + }, + "node_modules/@default/bootstrap": { + "name": "bootstrap", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz", + "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@default/highlight.js": { + "name": "highlight.js", + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.8.0.tgz", + "integrity": "sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@default/lunr": { + "name": "lunr", + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "node_modules/@default/mark.js": { + "name": "mark.js", + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, + "node_modules/@default/twbs-pagination": { + "name": "twbs-pagination", + "version": "1.3.1", + "resolved": "git+ssh://git@github.com/josecebe/twbs-pagination.git#a0ceda4b492030ca12081ce08c1acca1d295c0ed", + "license": "Apache 2.0", + "dependencies": { + "jquery": ">=1.7.0" + } + }, + "node_modules/@default/url": { + "name": "@websanova/url", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@websanova/url/-/url-2.6.3.tgz", + "integrity": "sha512-+gLI+9nIVPg3X4VcC30MUrGd9/DmYPla2ryzl7qKzIbH07wgsgy99H2WRsSFweVgV4FLkTHEpClj1//t0u+FLw==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.1.tgz", + "integrity": "sha512-O7x6dMstWLn2ktjcoiNLDkAGG2EjveHL+Vvc+n0fXumkJYAcSqcVYKtwDU+hDZ0uDUsnUagSYaZrOLAYE8un1A==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", + "dev": true, + "dependencies": { + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/d3-scale": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", + "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==" + }, + "node_modules/@types/d3-time": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==" + }, + "node_modules/@types/debug": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/mdast": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", + "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "node_modules/@types/node": { + "version": "18.14.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.0.tgz", + "integrity": "sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "node_modules/@types/yargs": { + "version": "17.0.22", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", + "integrity": "sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.1.tgz", + "integrity": "sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/type-utils": "6.2.1", + "@typescript-eslint/utils": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.1.tgz", + "integrity": "sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.1.tgz", + "integrity": "sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.1.tgz", + "integrity": "sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/utils": "6.2.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/types": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.1.tgz", + "integrity": "sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.1.tgz", + "integrity": "sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.1.tgz", + "integrity": "sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/typescript-estree": "6.2.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.1.tgz", + "integrity": "sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.2.1", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@websanova/url": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@websanova/url/-/url-2.6.3.tgz", + "integrity": "sha512-+gLI+9nIVPg3X4VcC30MUrGd9/DmYPla2ryzl7qKzIbH07wgsgy99H2WRsSFweVgV4FLkTHEpClj1//t0u+FLw==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/anchor-js": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/anchor-js/-/anchor-js-5.0.0.tgz", + "integrity": "sha512-2bOqCsBIXAYhjAN3iI4QevoAJtB2gRWAiY9P3P7CVW8lIjA3Dl6ldhDlWeeQvCHif+V5vIndfLOag/5I8tzTzA==" + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each-series": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bootstrap": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.1.tgz", + "integrity": "sha512-jzwza3Yagduci2x0rr9MeFSORjcHpt0lRZukZPZQJT1Dth5qzV7XcgGqYzi39KGAVYR8QEDVoO0ubFKOxzMG+g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, + "node_modules/bootstrap-icons": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.10.5.tgz", + "integrity": "sha512-oSX26F37V7QV7NCE53PPEL45d7EGXmBgHG3pDpZvcRaKVzWMqIRL9wcqJUyEha1esFtM3NJzvmxFXDxjJYD0jQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ] + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-sync": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.29.3.tgz", + "integrity": "sha512-NiM38O6XU84+MN+gzspVmXV2fTOoe+jBqIBx3IBdhZrdeURr6ZgznJr/p+hQ+KzkKEiGH/GcC4SQFSL0jV49bg==", + "dev": true, + "dependencies": { + "browser-sync-client": "^2.29.3", + "browser-sync-ui": "^2.29.3", + "bs-recipes": "1.3.4", + "chalk": "4.1.2", + "chokidar": "^3.5.1", + "connect": "3.6.6", + "connect-history-api-fallback": "^1", + "dev-ip": "^1.0.1", + "easy-extender": "^2.3.4", + "eazy-logger": "^4.0.1", + "etag": "^1.8.1", + "fresh": "^0.5.2", + "fs-extra": "3.0.1", + "http-proxy": "^1.18.1", + "immutable": "^3", + "localtunnel": "^2.0.1", + "micromatch": "^4.0.2", + "opn": "5.3.0", + "portscanner": "2.2.0", + "raw-body": "^2.3.2", + "resp-modifier": "6.0.2", + "rx": "4.1.0", + "send": "0.16.2", + "serve-index": "1.9.1", + "serve-static": "1.13.2", + "server-destroy": "1.0.1", + "socket.io": "^4.4.1", + "ua-parser-js": "^1.0.33", + "yargs": "^17.3.1" + }, + "bin": { + "browser-sync": "dist/bin.js" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/browser-sync-client": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.29.3.tgz", + "integrity": "sha512-4tK5JKCl7v/3aLbmCBMzpufiYLsB1+UI+7tUXCCp5qF0AllHy/jAqYu6k7hUF3hYtlClKpxExWaR+rH+ny07wQ==", + "dev": true, + "dependencies": { + "etag": "1.8.1", + "fresh": "0.5.2", + "mitt": "^1.1.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/browser-sync-ui": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.29.3.tgz", + "integrity": "sha512-kBYOIQjU/D/3kYtUIJtj82e797Egk1FB2broqItkr3i4eF1qiHbFCG6srksu9gWhfmuM/TNG76jMfzAdxEPakg==", + "dev": true, + "dependencies": { + "async-each-series": "0.1.1", + "chalk": "4.1.2", + "connect-history-api-fallback": "^1", + "immutable": "^3", + "server-destroy": "1.0.1", + "socket.io-client": "^4.4.1", + "stream-throttle": "^0.1.3" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bs-recipes": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", + "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==", + "dev": true + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "peer": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "peer": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001466", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz", + "integrity": "sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cosmiconfig": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-functions-list": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", + "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cytoscape": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.23.0.tgz", + "integrity": "sha512-gRZqJj/1kiAVPkrVFvz/GccxsXhF3Qwpptl32gKKypO4IlqnKBjTOu+HbXtEggSGzC5KCaHp3/F7GgENrtsFkA==", + "dependencies": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==" + }, + "node_modules/d3": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz", + "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz", + "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-dsv/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", + "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "dependencies": { + "d3": "^7.8.2", + "lodash-es": "^4.17.21" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.3.0.tgz", + "integrity": "sha512-7glNLfvdsMzZm3FpRY1CHuI2lbYDR+71YmrhmTZjYFD5pfT0ACgnGRdrrC9Mk2uICnzkcdelCx5at787UDGOvg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "peer": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dependencies": { + "robust-predicates": "^3.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", + "dev": true + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", + "dev": true, + "bin": { + "dev-ip": "lib/dev-ip.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" + }, + "node_modules/easy-extender": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", + "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/eazy-logger": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.0.1.tgz", + "integrity": "sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw==", + "dev": true, + "dependencies": { + "chalk": "4.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.331", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.331.tgz", + "integrity": "sha512-tdtr9y9oJl8VDiS+HeB6e/JDJqdDGjIk3yRfEMHm5rDnWQ/D5SbafybAayInxolbfbH6pouV5g7ZUAwE/WVtHw==", + "dev": true + }, + "node_modules/elkjs": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", + "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-client": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", + "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "dev": true, + "peer": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "peer": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "peer": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.17", + "@esbuild/android-arm64": "0.18.17", + "@esbuild/android-x64": "0.18.17", + "@esbuild/darwin-arm64": "0.18.17", + "@esbuild/darwin-x64": "0.18.17", + "@esbuild/freebsd-arm64": "0.18.17", + "@esbuild/freebsd-x64": "0.18.17", + "@esbuild/linux-arm": "0.18.17", + "@esbuild/linux-arm64": "0.18.17", + "@esbuild/linux-ia32": "0.18.17", + "@esbuild/linux-loong64": "0.18.17", + "@esbuild/linux-mips64el": "0.18.17", + "@esbuild/linux-ppc64": "0.18.17", + "@esbuild/linux-riscv64": "0.18.17", + "@esbuild/linux-s390x": "0.18.17", + "@esbuild/linux-x64": "0.18.17", + "@esbuild/netbsd-x64": "0.18.17", + "@esbuild/openbsd-x64": "0.18.17", + "@esbuild/sunos-x64": "0.18.17", + "@esbuild/win32-arm64": "0.18.17", + "@esbuild/win32-ia32": "0.18.17", + "@esbuild/win32-x64": "0.18.17" + } + }, + "node_modules/esbuild-sass-plugin": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-2.10.0.tgz", + "integrity": "sha512-STv849QGT8g77RRFmroSt4VBVKjv+dypKcO4aWz8IP4G5JbRH0KC0+B8ODuzlUNu9R5MbkGcev/62RDP/JcZ2Q==", + "dev": true, + "dependencies": { + "resolve": "^1.22.2", + "sass": "^1.63.0" + }, + "peerDependencies": { + "esbuild": "^0.18.0" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-standard": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "node_modules/eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-n": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz", + "integrity": "sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==", + "dev": true, + "peer": true, + "dependencies": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", + "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "peer": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "peer": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "peer": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "peer": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" + }, + "node_modules/highlight.js": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.8.0.tgz", + "integrity": "sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "peer": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-like": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", + "dev": true, + "dependencies": { + "lodash.isfinite": "^3.3.2" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "peer": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "peer": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", + "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.6.2", + "@jest/types": "^29.6.1", + "import-local": "^3.0.2", + "jest-cli": "^29.6.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "dev": true, + "dependencies": { + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "dev": true, + "dependencies": { + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jquery": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz", + "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "peer": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/khroma": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", + "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz", + "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", + "dev": true + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==" + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/limiter": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", + "dev": true + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/localtunnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", + "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", + "dev": true, + "dependencies": { + "axios": "0.21.4", + "debug": "4.3.2", + "openurl": "1.1.1", + "yargs": "17.1.1" + }, + "bin": { + "lt": "bin/lt.js" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/localtunnel/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/localtunnel/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/localtunnel/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/localtunnel/node_modules/yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/localtunnel/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.isfinite": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mathjax": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-3.2.2.tgz", + "integrity": "sha512-Bt+SSVU8eBG27zChVewOicYs7Xsdt40qm4+UpHyX7k0/O9NliPc+x77k1/FEsPsjKPZGJvtRZM1vO+geW0OhGw==" + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mermaid": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.3.0.tgz", + "integrity": "sha512-H5quxuQjwXC8M1WuuzhAp2TdqGg74t5skfDBrNKJ7dt3z8Wprl5S6h9VJsRhoBUTSs1TMtHEdplLhCqXleZZLw==", + "dependencies": { + "@braintree/sanitize-url": "^6.0.2", + "@types/d3-scale": "^4.0.3", + "@types/d3-scale-chromatic": "^3.0.0", + "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", + "d3": "^7.4.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.7", + "dompurify": "3.0.5", + "elkjs": "^0.8.2", + "khroma": "^2.0.0", + "lodash-es": "^4.17.21", + "mdast-util-from-markdown": "^1.3.0", + "non-layered-tidy-tree-layout": "^2.0.2", + "stylis": "^4.1.3", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.0", + "web-worker": "^1.2.0" + } + }, + "node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/micromark/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true, + "bin": { + "mime": "cli.js" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", + "dev": true + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==" + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==", + "dev": true + }, + "node_modules/opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/portscanner": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", + "dev": true, + "dependencies": { + "async": "^2.6.0", + "is-number-like": "^1.0.3" + }, + "engines": { + "node": ">=0.4", + "npm": ">=1.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz", + "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz", + "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + } + ], + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.19" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "dependencies": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/resp-modifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", + "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==", + "dev": true, + "dependencies": { + "debug": "^2.2.0", + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz", + "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, + "node_modules/rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", + "dev": true + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sass": { + "version": "1.63.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz", + "integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass/node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/send/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/socket.io": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.0.tgz", + "integrity": "sha512-b65bp6INPk/BMMrIgVvX12x3Q+NqlGqSlTuvKQWt0BUJ3Hyy3JangBl7fEoWZTXbOKlCqNPbQ6MbWgok/km28w==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.4.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dev": true, + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-client": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz", + "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.4.0", + "socket.io-parser": "~4.2.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz", + "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-throttle": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", + "dev": true, + "dependencies": { + "commander": "^2.2.0", + "limiter": "^1.0.5" + }, + "bin": { + "throttleproxy": "bin/throttleproxy.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/stylelint": { + "version": "15.10.2", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.2.tgz", + "integrity": "sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg==", + "dev": true, + "dependencies": { + "@csstools/css-parser-algorithms": "^2.3.0", + "@csstools/css-tokenizer": "^2.1.1", + "@csstools/media-query-list-parser": "^2.1.2", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.0", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.0", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^6.0.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.27.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.25", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz", + "integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==", + "dev": true, + "peerDependencies": { + "stylelint": "^15.5.0" + } + }, + "node_modules/stylelint-config-recommended-scss": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-12.0.0.tgz", + "integrity": "sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA==", + "dev": true, + "dependencies": { + "postcss-scss": "^4.0.6", + "stylelint-config-recommended": "^12.0.0", + "stylelint-scss": "^5.0.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^15.5.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } + }, + "node_modules/stylelint-config-standard": { + "version": "33.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-33.0.0.tgz", + "integrity": "sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg==", + "dev": true, + "dependencies": { + "stylelint-config-recommended": "^12.0.0" + }, + "peerDependencies": { + "stylelint": "^15.5.0" + } + }, + "node_modules/stylelint-config-standard-scss": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-10.0.0.tgz", + "integrity": "sha512-bChBEo1p3xUVWh/wenJI+josoMk21f2yuLDGzGjmKYcALfl2u3DFltY+n4UHswYiXghqXaA8mRh+bFy/q1hQlg==", + "dev": true, + "dependencies": { + "stylelint-config-recommended-scss": "^12.0.0", + "stylelint-config-standard": "^33.0.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^15.5.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } + }, + "node_modules/stylelint-scss": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.0.1.tgz", + "integrity": "sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ==", + "dev": true, + "dependencies": { + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "stylelint": "^14.5.1 || ^15.0.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/stylelint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/stylelint/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ts-api-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.33.tgz", + "integrity": "sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uvu/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "peer": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "peer": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz", + "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true + }, + "@babel/core": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", + "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.3", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.3", + "@babel/types": "^7.21.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@braintree/sanitize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", + "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" + }, + "@csstools/css-parser-algorithms": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.0.tgz", + "integrity": "sha512-dTKSIHHWc0zPvcS5cqGP+/TPFUJB0ekJ9dGKvMAFoNuBFhDPBt9OMGNZiIA5vTiNdGHHBeScYPXIGBMnVOahsA==", + "dev": true, + "requires": {} + }, + "@csstools/css-tokenizer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz", + "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==", + "dev": true + }, + "@csstools/media-query-list-parser": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.2.tgz", + "integrity": "sha512-M8cFGGwl866o6++vIY7j1AKuq9v57cf+dGepScwCcbut9ypJNr4Cj+LLTWligYUZ0uyhEoJDKt5lvyBfh2L3ZQ==", + "dev": true, + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "dev": true, + "requires": {} + }, + "@default/anchor-js": { + "version": "npm:anchor-js@5.0.0", + "resolved": "https://registry.npmjs.org/anchor-js/-/anchor-js-5.0.0.tgz", + "integrity": "sha512-2bOqCsBIXAYhjAN3iI4QevoAJtB2gRWAiY9P3P7CVW8lIjA3Dl6ldhDlWeeQvCHif+V5vIndfLOag/5I8tzTzA==" + }, + "@default/bootstrap": { + "version": "npm:bootstrap@3.4.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz", + "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==" + }, + "@default/highlight.js": { + "version": "npm:highlight.js@11.8.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.8.0.tgz", + "integrity": "sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==" + }, + "@default/lunr": { + "version": "npm:lunr@2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "@default/mark.js": { + "version": "npm:mark.js@8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, + "@default/twbs-pagination": { + "version": "git+ssh://git@github.com/josecebe/twbs-pagination.git#a0ceda4b492030ca12081ce08c1acca1d295c0ed", + "from": "@default/twbs-pagination@josecebe/twbs-pagination#1.3.1", + "requires": { + "jquery": ">=1.7.0" + } + }, + "@default/url": { + "version": "npm:@websanova/url@2.6.3", + "resolved": "https://registry.npmjs.org/@websanova/url/-/url-2.6.3.tgz", + "integrity": "sha512-+gLI+9nIVPg3X4VcC30MUrGd9/DmYPla2ryzl7qKzIbH07wgsgy99H2WRsSFweVgV4FLkTHEpClj1//t0u+FLw==" + }, + "@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.1.tgz", + "integrity": "sha512-O7x6dMstWLn2ktjcoiNLDkAGG2EjveHL+Vvc+n0fXumkJYAcSqcVYKtwDU+hDZ0uDUsnUagSYaZrOLAYE8un1A==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz", + "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz", + "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/reporters": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-resolve-dependencies": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "jest-watcher": "^29.6.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + } + }, + "@jest/expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==", + "dev": true, + "requires": { + "expect": "^29.6.2", + "jest-snapshot": "^29.6.2" + } + }, + "@jest/expect-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz", + "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3" + } + }, + "@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "@jest/globals": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz", + "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.2" + } + }, + "@jest/reporters": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz", + "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz", + "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz", + "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz", + "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + } + } + }, + "@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "peer": true + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/d3-scale": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", + "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", + "requires": { + "@types/d3-time": "*" + } + }, + "@types/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==" + }, + "@types/d3-time": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==" + }, + "@types/debug": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "requires": { + "@types/ms": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "peer": true + }, + "@types/mdast": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", + "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "@types/node": { + "version": "18.14.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.0.tgz", + "integrity": "sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "@types/yargs": { + "version": "17.0.22", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", + "integrity": "sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.1.tgz", + "integrity": "sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/type-utils": "6.2.1", + "@typescript-eslint/utils": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.1.tgz", + "integrity": "sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.1.tgz", + "integrity": "sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.1.tgz", + "integrity": "sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/utils": "6.2.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/types": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.1.tgz", + "integrity": "sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.1.tgz", + "integrity": "sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.1.tgz", + "integrity": "sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/typescript-estree": "6.2.1", + "semver": "^7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.1.tgz", + "integrity": "sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.2.1", + "eslint-visitor-keys": "^3.4.1" + } + }, + "@websanova/url": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@websanova/url/-/url-2.6.3.tgz", + "integrity": "sha512-+gLI+9nIVPg3X4VcC30MUrGd9/DmYPla2ryzl7qKzIbH07wgsgy99H2WRsSFweVgV4FLkTHEpClj1//t0u+FLw==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "anchor-js": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/anchor-js/-/anchor-js-5.0.0.tgz", + "integrity": "sha512-2bOqCsBIXAYhjAN3iI4QevoAJtB2gRWAiY9P3P7CVW8lIjA3Dl6ldhDlWeeQvCHif+V5vIndfLOag/5I8tzTzA==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each-series": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "peer": true + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "babel-jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz", + "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==", + "dev": true, + "requires": { + "@jest/transform": "^29.6.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bootstrap": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.1.tgz", + "integrity": "sha512-jzwza3Yagduci2x0rr9MeFSORjcHpt0lRZukZPZQJT1Dth5qzV7XcgGqYzi39KGAVYR8QEDVoO0ubFKOxzMG+g==", + "requires": {} + }, + "bootstrap-icons": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.10.5.tgz", + "integrity": "sha512-oSX26F37V7QV7NCE53PPEL45d7EGXmBgHG3pDpZvcRaKVzWMqIRL9wcqJUyEha1esFtM3NJzvmxFXDxjJYD0jQ==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-sync": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.29.3.tgz", + "integrity": "sha512-NiM38O6XU84+MN+gzspVmXV2fTOoe+jBqIBx3IBdhZrdeURr6ZgznJr/p+hQ+KzkKEiGH/GcC4SQFSL0jV49bg==", + "dev": true, + "requires": { + "browser-sync-client": "^2.29.3", + "browser-sync-ui": "^2.29.3", + "bs-recipes": "1.3.4", + "chalk": "4.1.2", + "chokidar": "^3.5.1", + "connect": "3.6.6", + "connect-history-api-fallback": "^1", + "dev-ip": "^1.0.1", + "easy-extender": "^2.3.4", + "eazy-logger": "^4.0.1", + "etag": "^1.8.1", + "fresh": "^0.5.2", + "fs-extra": "3.0.1", + "http-proxy": "^1.18.1", + "immutable": "^3", + "localtunnel": "^2.0.1", + "micromatch": "^4.0.2", + "opn": "5.3.0", + "portscanner": "2.2.0", + "raw-body": "^2.3.2", + "resp-modifier": "6.0.2", + "rx": "4.1.0", + "send": "0.16.2", + "serve-index": "1.9.1", + "serve-static": "1.13.2", + "server-destroy": "1.0.1", + "socket.io": "^4.4.1", + "ua-parser-js": "^1.0.33", + "yargs": "^17.3.1" + } + }, + "browser-sync-client": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.29.3.tgz", + "integrity": "sha512-4tK5JKCl7v/3aLbmCBMzpufiYLsB1+UI+7tUXCCp5qF0AllHy/jAqYu6k7hUF3hYtlClKpxExWaR+rH+ny07wQ==", + "dev": true, + "requires": { + "etag": "1.8.1", + "fresh": "0.5.2", + "mitt": "^1.1.3" + } + }, + "browser-sync-ui": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.29.3.tgz", + "integrity": "sha512-kBYOIQjU/D/3kYtUIJtj82e797Egk1FB2broqItkr3i4eF1qiHbFCG6srksu9gWhfmuM/TNG76jMfzAdxEPakg==", + "dev": true, + "requires": { + "async-each-series": "0.1.1", + "chalk": "4.1.2", + "connect-history-api-fallback": "^1", + "immutable": "^3", + "server-destroy": "1.0.1", + "socket.io-client": "^4.4.1", + "stream-throttle": "^0.1.3" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bs-recipes": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", + "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==", + "dev": true + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "peer": true, + "requires": { + "semver": "^7.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001466", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz", + "integrity": "sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "requires": { + "layout-base": "^1.0.0" + } + }, + "cosmiconfig": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "dev": true, + "requires": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-functions-list": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", + "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "dev": true + }, + "css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cytoscape": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.23.0.tgz", + "integrity": "sha512-gRZqJj/1kiAVPkrVFvz/GccxsXhF3Qwpptl32gKKypO4IlqnKBjTOu+HbXtEggSGzC5KCaHp3/F7GgENrtsFkA==", + "requires": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + } + }, + "cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "requires": { + "cose-base": "^1.0.0" + } + }, + "cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "requires": { + "cose-base": "^2.2.0" + }, + "dependencies": { + "cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "requires": { + "layout-base": "^2.0.0" + } + }, + "layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==" + } + } + }, + "d3": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz", + "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==", + "requires": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + } + }, + "d3-array": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz", + "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==", + "requires": { + "internmap": "1 - 2" + } + }, + "d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==" + }, + "d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + } + }, + "d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "requires": { + "d3-path": "1 - 3" + } + }, + "d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" + }, + "d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "requires": { + "d3-array": "^3.2.0" + } + }, + "d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "requires": { + "delaunator": "5" + } + }, + "d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==" + }, + "d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + } + }, + "d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "requires": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==" + }, + "d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "requires": { + "d3-dsv": "1 - 3" + } + }, + "d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + } + }, + "d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==" + }, + "d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "requires": { + "d3-array": "2.5.0 - 3" + } + }, + "d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==" + }, + "d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "requires": { + "d3-color": "1 - 3" + } + }, + "d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==" + }, + "d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==" + }, + "d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==" + }, + "d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==" + }, + "d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "requires": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + }, + "dependencies": { + "d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "requires": { + "internmap": "^1.0.0" + } + }, + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "requires": { + "d3-path": "1" + } + }, + "internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" + } + } + }, + "d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "requires": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + } + }, + "d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "requires": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + } + }, + "d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==" + }, + "d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "requires": { + "d3-path": "^3.1.0" + } + }, + "d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "requires": { + "d3-array": "2 - 3" + } + }, + "d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "requires": { + "d3-time": "1 - 3" + } + }, + "d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==" + }, + "d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "requires": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + } + }, + "d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + } + }, + "dagre-d3-es": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", + "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "requires": { + "d3": "^7.8.2", + "lodash-es": "^4.17.21" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, + "decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "requires": { + "character-entities": "^2.0.0" + } + }, + "dedent": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.3.0.tgz", + "integrity": "sha512-7glNLfvdsMzZm3FpRY1CHuI2lbYDR+71YmrhmTZjYFD5pfT0ACgnGRdrrC9Mk2uICnzkcdelCx5at787UDGOvg==", + "dev": true, + "requires": {} + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "peer": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "requires": { + "robust-predicates": "^3.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", + "dev": true + }, + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + }, + "diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" + }, + "easy-extender": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", + "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "eazy-logger": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.0.1.tgz", + "integrity": "sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw==", + "dev": true, + "requires": { + "chalk": "4.1.2" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.331", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.331.tgz", + "integrity": "sha512-tdtr9y9oJl8VDiS+HeB6e/JDJqdDGjIk3yRfEMHm5rDnWQ/D5SbafybAayInxolbfbH6pouV5g7ZUAwE/WVtHw==", + "dev": true + }, + "elkjs": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", + "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==" + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "engine.io": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", + "dev": true, + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "engine.io-client": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", + "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", + "dev": true, + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "dev": true, + "peer": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "peer": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "peer": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "peer": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.17", + "@esbuild/android-arm64": "0.18.17", + "@esbuild/android-x64": "0.18.17", + "@esbuild/darwin-arm64": "0.18.17", + "@esbuild/darwin-x64": "0.18.17", + "@esbuild/freebsd-arm64": "0.18.17", + "@esbuild/freebsd-x64": "0.18.17", + "@esbuild/linux-arm": "0.18.17", + "@esbuild/linux-arm64": "0.18.17", + "@esbuild/linux-ia32": "0.18.17", + "@esbuild/linux-loong64": "0.18.17", + "@esbuild/linux-mips64el": "0.18.17", + "@esbuild/linux-ppc64": "0.18.17", + "@esbuild/linux-riscv64": "0.18.17", + "@esbuild/linux-s390x": "0.18.17", + "@esbuild/linux-x64": "0.18.17", + "@esbuild/netbsd-x64": "0.18.17", + "@esbuild/openbsd-x64": "0.18.17", + "@esbuild/sunos-x64": "0.18.17", + "@esbuild/win32-arm64": "0.18.17", + "@esbuild/win32-ia32": "0.18.17", + "@esbuild/win32-x64": "0.18.17" + } + }, + "esbuild-sass-plugin": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-2.10.0.tgz", + "integrity": "sha512-STv849QGT8g77RRFmroSt4VBVKjv+dypKcO4aWz8IP4G5JbRH0KC0+B8ODuzlUNu9R5MbkGcev/62RDP/JcZ2Q==", + "dev": true, + "requires": { + "resolve": "^1.22.2", + "sass": "^1.63.0" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "eslint-config-standard": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "peer": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "peer": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-n": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz", + "integrity": "sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==", + "dev": true, + "peer": true, + "requires": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + } + }, + "eslint-plugin-promise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", + "dev": true, + "peer": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "peer": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "peer": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", + "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz", + "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.6.2", + "@types/node": "*", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "peer": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "peer": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "peer": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "peer": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "peer": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "peer": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "peer": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" + }, + "highlight.js": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.8.0.tgz", + "integrity": "sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==" + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "peer": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==" + }, + "is-array-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", + "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "peer": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "peer": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "peer": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-like": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", + "dev": true, + "requires": { + "lodash.isfinite": "^3.3.2" + } + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "peer": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz", + "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==", + "dev": true, + "requires": { + "@jest/core": "^29.6.2", + "@jest/types": "^29.6.1", + "import-local": "^3.0.2", + "jest-cli": "^29.6.2" + } + }, + "jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz", + "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/expect": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.6.2", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.6.2", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-cli": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz", + "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==", + "dev": true, + "requires": { + "@jest/core": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + } + }, + "jest-config": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz", + "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.6.2", + "jest-environment-node": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-runner": "^29.6.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-diff": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz", + "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz", + "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.6.2", + "pretty-format": "^29.6.2" + } + }, + "jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + } + }, + "jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true + }, + "jest-haste-map": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz", + "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.6.2", + "jest-worker": "^29.6.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", + "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-matcher-utils": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz", + "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.2" + } + }, + "jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true + }, + "jest-resolve": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz", + "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.6.2", + "jest-validate": "^29.6.2", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz", + "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==", + "dev": true, + "requires": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.6.2" + } + }, + "jest-runner": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz", + "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==", + "dev": true, + "requires": { + "@jest/console": "^29.6.2", + "@jest/environment": "^29.6.2", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.6.2", + "jest-haste-map": "^29.6.2", + "jest-leak-detector": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-resolve": "^29.6.2", + "jest-runtime": "^29.6.2", + "jest-util": "^29.6.2", + "jest-watcher": "^29.6.2", + "jest-worker": "^29.6.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz", + "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/globals": "^29.6.2", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.6.2", + "jest-snapshot": "^29.6.2", + "jest-util": "^29.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } + } + }, + "jest-snapshot": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz", + "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.6.2", + "@jest/transform": "^29.6.2", + "@jest/types": "^29.6.1", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.6.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.6.2", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.6.2", + "jest-message-util": "^29.6.2", + "jest-util": "^29.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.6.2", + "semver": "^7.5.3" + } + }, + "jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz", + "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==", + "dev": true, + "requires": { + "@jest/test-result": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz", + "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.6.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jquery": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz", + "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "peer": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "khroma": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", + "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "known-css-properties": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz", + "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", + "dev": true + }, + "layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==" + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "limiter": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "requires": { + "@types/trusted-types": "^2.0.2" + } + }, + "localtunnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", + "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", + "dev": true, + "requires": { + "axios": "0.21.4", + "debug": "4.3.2", + "openurl": "1.1.1", + "yargs": "17.1.1" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash.isfinite": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "mathjax": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-3.2.2.tgz", + "integrity": "sha512-Bt+SSVU8eBG27zChVewOicYs7Xsdt40qm4+UpHyX7k0/O9NliPc+x77k1/FEsPsjKPZGJvtRZM1vO+geW0OhGw==" + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, + "mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + } + }, + "mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "requires": { + "@types/mdast": "^3.0.0" + } + }, + "mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "mermaid": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.3.0.tgz", + "integrity": "sha512-H5quxuQjwXC8M1WuuzhAp2TdqGg74t5skfDBrNKJ7dt3z8Wprl5S6h9VJsRhoBUTSs1TMtHEdplLhCqXleZZLw==", + "requires": { + "@braintree/sanitize-url": "^6.0.2", + "@types/d3-scale": "^4.0.3", + "@types/d3-scale-chromatic": "^3.0.0", + "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", + "d3": "^7.4.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.7", + "dompurify": "3.0.5", + "elkjs": "^0.8.2", + "khroma": "^2.0.0", + "lodash-es": "^4.17.21", + "mdast-util-from-markdown": "^1.3.0", + "non-layered-tidy-tree-layout": "^2.0.2", + "stylis": "^4.1.3", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.0", + "web-worker": "^1.2.0" + } + }, + "micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "requires": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==" + }, + "micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==" + }, + "micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "requires": { + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==" + }, + "micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "peer": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", + "dev": true + }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==" + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "peer": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "peer": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==", + "dev": true + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "portscanner": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", + "dev": true, + "requires": { + "async": "^2.6.0", + "is-number-like": "^1.0.3" + } + }, + "postcss": { + "version": "8.4.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz", + "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==", + "dev": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "requires": {} + }, + "postcss-scss": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz", + "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==", + "dev": true, + "requires": {} + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "dependencies": { + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "requires": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "peer": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, + "resp-modifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", + "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==", + "dev": true, + "requires": { + "debug": "^2.2.0", + "minimatch": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "robust-predicates": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz", + "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", + "dev": true + }, + "sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "requires": { + "mri": "^1.1.0" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass": { + "version": "1.63.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz", + "integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "dependencies": { + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + } + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "socket.io": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.0.tgz", + "integrity": "sha512-b65bp6INPk/BMMrIgVvX12x3Q+NqlGqSlTuvKQWt0BUJ3Hyy3JangBl7fEoWZTXbOKlCqNPbQ6MbWgok/km28w==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.4.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dev": true, + "requires": { + "ws": "~8.11.0" + } + }, + "socket.io-client": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz", + "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==", + "dev": true, + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.4.0", + "socket.io-parser": "~4.2.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.3.tgz", + "integrity": "sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==", + "dev": true, + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", + "dev": true + }, + "stream-throttle": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", + "dev": true, + "requires": { + "commander": "^2.2.0", + "limiter": "^1.0.5" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "peer": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "stylelint": { + "version": "15.10.2", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.2.tgz", + "integrity": "sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg==", + "dev": true, + "requires": { + "@csstools/css-parser-algorithms": "^2.3.0", + "@csstools/css-tokenizer": "^2.1.1", + "@csstools/media-query-list-parser": "^2.1.2", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.0", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.0", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^6.0.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.27.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.25", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "stylelint-config-recommended": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-12.0.0.tgz", + "integrity": "sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==", + "dev": true, + "requires": {} + }, + "stylelint-config-recommended-scss": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-12.0.0.tgz", + "integrity": "sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA==", + "dev": true, + "requires": { + "postcss-scss": "^4.0.6", + "stylelint-config-recommended": "^12.0.0", + "stylelint-scss": "^5.0.0" + } + }, + "stylelint-config-standard": { + "version": "33.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-33.0.0.tgz", + "integrity": "sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^12.0.0" + } + }, + "stylelint-config-standard-scss": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-10.0.0.tgz", + "integrity": "sha512-bChBEo1p3xUVWh/wenJI+josoMk21f2yuLDGzGjmKYcALfl2u3DFltY+n4UHswYiXghqXaA8mRh+bFy/q1hQlg==", + "dev": true, + "requires": { + "stylelint-config-recommended-scss": "^12.0.0", + "stylelint-config-standard": "^33.0.0" + } + }, + "stylelint-scss": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.0.1.tgz", + "integrity": "sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ==", + "dev": true, + "requires": { + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0" + } + }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true + }, + "ts-api-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "dev": true, + "requires": {} + }, + "ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==" + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + } + } + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "peer": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true + }, + "ua-parser-js": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.33.tgz", + "integrity": "sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" + }, + "uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "requires": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "dependencies": { + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + } + } + }, + "v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "peer": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "peer": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz", + "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==", + "dev": true + } + } + }, + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "requires": {} + }, + "xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/docs/templates/package.json b/docs/templates/package.json new file mode 100644 index 0000000..2fb5140 --- /dev/null +++ b/docs/templates/package.json @@ -0,0 +1,53 @@ +{ + "name": "@docfx/template", + "version": "1.0.0", + "description": "Docfx static website templates", + "keywords": [ + "docfx", + "template" + ], + "author": "docfx", + "license": "MIT", + "browserslist": [ + "defaults" + ], + "scripts": { + "build": "node build.js", + "lint": "eslint reflectioneventing/src && stylelint reflectioneventing/src" + }, + "dependencies": { + "@default/anchor-js": "npm:anchor-js@5.0.0", + "@default/bootstrap": "npm:bootstrap@3.4.1", + "@default/highlight.js": "npm:highlight.js@11.8.0", + "@default/lunr": "npm:lunr@2.3.9", + "@default/mark.js": "npm:mark.js@8.11.1", + "@default/twbs-pagination": "josecebe/twbs-pagination#1.3.1", + "@default/url": "npm:@websanova/url@2.6.3", + "@websanova/url": "^2.6.3", + "anchor-js": "^5.0.0", + "bootstrap": "^5.3.1", + "bootstrap-icons": "^1.10.5", + "highlight.js": "^11.8.0", + "jquery": "3.7.0", + "lit-html": "^2.8.0", + "lunr": "2.3.9", + "mathjax": "^3.2.2", + "mermaid": "^10.3.0" + }, + "devDependencies": { + "@types/jest": "^29.5.3", + "@typescript-eslint/eslint-plugin": "^6.2.1", + "@typescript-eslint/parser": "^6.2.1", + "browser-sync": "^2.29.3", + "esbuild": "~0.18.17", + "esbuild-sass-plugin": "~2.10.0", + "eslint": "^8.46.0", + "eslint-config-standard": "^17.1.0", + "jest": "^29.6.2", + "stylelint": "^15.10.2", + "stylelint-config-standard-scss": "^10.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6", + "yargs": "^17.7.2" + } +} diff --git a/docs/templates/reflectioneventing/layout/_master.tmpl b/docs/templates/reflectioneventing/layout/_master.tmpl new file mode 100644 index 0000000..1cfb976 --- /dev/null +++ b/docs/templates/reflectioneventing/layout/_master.tmpl @@ -0,0 +1,142 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} +{{!include(/^public/.*/)}} +{{!include(favicon.ico)}} +{{!include(logo.svg)}} +{{!include(search-stopwords.json)}} + + + + + {{#redirect_url}} + + {{/redirect_url}} + {{^redirect_url}} + {{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}} + + + + + + + + {{#_description}}{{/_description}} + + + + + {{#_noindex}}{{/_noindex}} + {{#_enableSearch}}{{/_enableSearch}} + {{#_disableNewTab}}{{/_disableNewTab}} + {{#_disableTocFilter}}{{/_disableTocFilter}} + {{#docurl}}{{/docurl}} + {{/redirect_url}} + + + {{^redirect_url}} + + + + + {{#_googleAnalyticsTagId}} + + + {{/_googleAnalyticsTagId}} + + +

    + +
    + +
    +
    +
    +
    +
    Table of Contents
    + +
    +
    + +
    +
    +
    + +
    +
    + + + +
    + +
    + {{!body}} +
    + + {{^_disableContribution}} +
    + {{#sourceurl}} + Edit this page + {{/sourceurl}} + {{^sourceurl}}{{#docurl}} + Edit this page + {{/docurl}}{{/sourceurl}} +
    + {{/_disableContribution}} + + {{^_disableNextArticle}} + + {{/_disableNextArticle}} + +
    + +
    + +
    +
    + + {{#_enableSearch}} +
    + {{/_enableSearch}} + + + + {{/redirect_url}} + diff --git a/docs/templates/reflectioneventing/partials/class.header.tmpl.partial b/docs/templates/reflectioneventing/partials/class.header.tmpl.partial new file mode 100644 index 0000000..a57d488 --- /dev/null +++ b/docs/templates/reflectioneventing/partials/class.header.tmpl.partial @@ -0,0 +1,158 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +

    + {{>partials/title}} + {{#sourceurl}}{{/sourceurl}} +

    + +
    +
    {{__global.namespace}}
    {{{namespace.specName.0.value}}}
    + {{#assemblies.0}}
    {{__global.assembly}}
    {{assemblies.0}}.dll
    {{/assemblies.0}} +
    + +
    {{{summary}}}
    +
    {{{conceptual}}}
    + +{{#syntax.content.0.value}} +
    +
    {{syntax.content.0.value}}
    +
    +{{/syntax.content.0.value}} + +{{#syntax.parameters.0}} +

    {{__global.parameters}}

    +
    +{{/syntax.parameters.0}} +{{#syntax.parameters}} +
    {{{id}}} {{{type.specName.0.value}}}
    +
    {{{description}}}
    +{{/syntax.parameters}} +{{#syntax.parameters.0}} +
    +{{/syntax.parameters.0}} + +{{#syntax.return}} +

    {{__global.returns}}

    +
    +
    {{{type.specName.0.value}}}
    +
    {{{description}}}
    +
    +{{/syntax.return}} + +{{#syntax.typeParameters.0}} +

    {{__global.typeParameters}}

    +
    +{{/syntax.typeParameters.0}} +{{#syntax.typeParameters}} +
    {{{id}}}
    +
    {{{description}}}
    +{{/syntax.typeParameters}} +{{#syntax.typeParameters.0}} +
    +{{/syntax.typeParameters.0}} + +{{#inClass}} +{{#inheritance.0}} +
    +
    {{__global.inheritance}}
    +
    +{{/inheritance.0}} +{{#inheritance}} +
    {{{specName.0.value}}}
    +{{/inheritance}} +
    {{name.0.value}}
    +{{#inheritance.0}} +
    +
    +{{/inheritance.0}} +{{/inClass}} + +{{#implements.0}} +
    +
    {{__global.implements}}
    +
    +{{/implements.0}} +{{#implements}} +
    {{{specName.0.value}}}
    +{{/implements}} +{{#implements.0}} +
    +
    +{{/implements.0}} + +{{#inClass}} +{{#derivedClasses.0}} +
    +
    {{__global.derived}}
    +
    +{{/derivedClasses.0}} +{{#derivedClasses}} +
    {{{specName.0.value}}}
    +{{/derivedClasses}} +{{#derivedClasses.0}} +
    +
    +{{/derivedClasses.0}} +{{/inClass}} + +{{#inheritedMembers.0}} +
    +
    {{__global.inheritedMembers}}
    +
    +{{/inheritedMembers.0}} +{{#inheritedMembers}} +
    + {{#definition}} + + {{/definition}} + {{^definition}} + + {{/definition}} +
    +{{/inheritedMembers}} +{{#inheritedMembers.0}} +
    +{{/inheritedMembers.0}} + +{{#extensionMethods.0}} +
    +
    {{__global.extensionMethods}}
    +
    +{{/extensionMethods.0}} +{{#extensionMethods}} +
    + {{#definition}} + + {{/definition}} + {{^definition}} + + {{/definition}} +
    +{{/extensionMethods}} +{{#extensionMethods.0}} +
    +{{/extensionMethods.0}} + +{{#isEnum}} +{{#children}} +

    {{>partials/classSubtitle}}

    +
    +{{#children}} +
    {{syntax.content.0.value}}
    +
    {{{summary}}}
    +{{/children}} +
    +{{/children}} +{{/isEnum}} + +{{#example.0}} +

    {{__global.examples}}

    +{{/example.0}} +{{#example}} +{{{.}}} +{{/example}} + +{{#remarks}} +

    {{__global.remarks}}

    +
    {{{remarks}}}
    +{{/remarks}} diff --git a/docs/templates/reflectioneventing/partials/class.memberpage.tmpl.partial b/docs/templates/reflectioneventing/partials/class.memberpage.tmpl.partial new file mode 100644 index 0000000..6f78d10 --- /dev/null +++ b/docs/templates/reflectioneventing/partials/class.memberpage.tmpl.partial @@ -0,0 +1,31 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +{{>partials/class.header}} + +{{#children}} +

    {{>partials/classSubtitle}}

    + +{{#children}} +
    +
    +
    {{{summary}}}
    +
    +{{/children}} + +{{/children}} + +{{#seealso.0}} +

    {{__global.seealso}}

    +
    +{{/seealso.0}} +{{#seealso}} + {{#isCref}} +
    {{{type.specName.0.value}}}
    + {{/isCref}} + {{^isCref}} +
    {{{url}}}
    + {{/isCref}} +{{/seealso}} +{{#seealso.0}} +
    +{{/seealso.0}} diff --git a/docs/templates/reflectioneventing/partials/class.tmpl.partial b/docs/templates/reflectioneventing/partials/class.tmpl.partial new file mode 100644 index 0000000..1a17f0a --- /dev/null +++ b/docs/templates/reflectioneventing/partials/class.tmpl.partial @@ -0,0 +1,147 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +{{>partials/class.header}} + +{{#children}} + +{{^_splitReference}} +

    {{>partials/classSubtitle}}

    +{{/_splitReference}} + +{{#children}} + +{{#overload}} + +{{/overload}} + +

    + {{name.0.value}} + {{#sourceurl}}{{/sourceurl}} +

    + +
    {{{summary}}}
    +
    {{{conceptual}}}
    + +{{#syntax}} +
    +
    {{syntax.content.0.value}}
    +
    + +{{#syntax.parameters.0}} +

    {{__global.parameters}}

    +
    +{{/syntax.parameters.0}} +{{#syntax.parameters}} +
    {{{id}}} {{{type.specName.0.value}}}
    +
    {{{description}}}
    +{{/syntax.parameters}} +{{#syntax.parameters.0}} +
    +{{/syntax.parameters.0}} + +{{#syntax.return}} +

    {{__global.returns}}

    +
    +
    {{{type.specName.0.value}}}
    +
    {{{description}}}
    +
    +{{/syntax.return}} + +{{#syntax.typeParameters.0}} +

    {{__global.typeParameters}}

    +
    +{{/syntax.typeParameters.0}} +{{#syntax.typeParameters}} +
    {{{id}}}
    +
    {{{description}}}
    +{{/syntax.typeParameters}} +{{#syntax.typeParameters.0}} +
    +{{/syntax.typeParameters.0}} + +{{#fieldValue}} +

    {{__global.fieldValue}}

    +
    +
    {{{type.specName.0.value}}}
    +
    {{{description}}}
    +
    +{{/fieldValue}} + +{{#propertyValue}} +

    {{__global.propertyValue}}

    +
    +
    {{{type.specName.0.value}}}
    +
    {{{description}}}
    +
    +{{/propertyValue}} + +{{#eventType}} +

    {{__global.eventType}}

    +
    +
    {{{type.specName.0.value}}}
    +
    {{{description}}}
    +
    +{{/eventType}} + +{{/syntax}} + +{{#example.0}} +

    {{__global.examples}}

    +{{/example.0}} +{{#example}} +{{{.}}} +{{/example}} + +{{#remarks}} +

    {{__global.remarks}}

    +
    {{{remarks}}}
    +{{/remarks}} + +{{#exceptions.0}} +

    {{__global.exceptions}}

    +
    +{{/exceptions.0}} +{{#exceptions}} +
    {{{type.specName.0.value}}}
    +
    {{{description}}}
    +{{/exceptions}} +{{#exceptions.0}} +
    +{{/exceptions.0}} + +{{#seealso.0}} +
    +
    {{__global.seealso}}
    +
    +{{/seealso.0}} +{{#seealso}} + {{#isCref}} +
    {{{type.specName.0.value}}}
    + {{/isCref}} + {{^isCref}} +
    {{{url}}}
    + {{/isCref}} +{{/seealso}} +{{#seealso.0}} +
    +
    +{{/seealso.0}} + +{{/children}} +{{/children}} + +{{#seealso.0}} +

    {{__global.seealso}}

    +
    +{{/seealso.0}} +{{#seealso}} + {{#isCref}} +
    {{{type.specName.0.value}}}
    + {{/isCref}} + {{^isCref}} +
    {{{url}}}
    + {{/isCref}} +{{/seealso}} +{{#seealso.0}} +
    +{{/seealso.0}} diff --git a/docs/templates/reflectioneventing/partials/collection.tmpl.partial b/docs/templates/reflectioneventing/partials/collection.tmpl.partial new file mode 100644 index 0000000..dc7b9cf --- /dev/null +++ b/docs/templates/reflectioneventing/partials/collection.tmpl.partial @@ -0,0 +1,3 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +{{>partials/class}} diff --git a/docs/templates/reflectioneventing/partials/customMREFContent.tmpl.partial b/docs/templates/reflectioneventing/partials/customMREFContent.tmpl.partial new file mode 100644 index 0000000..9a893c9 --- /dev/null +++ b/docs/templates/reflectioneventing/partials/customMREFContent.tmpl.partial @@ -0,0 +1,10 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} +{{!Add your own custom template for the content for ManagedReference here}} +{{#_splitReference}} +{{#isCollection}} +{{>partials/collection}} +{{/isCollection}} +{{#isItem}} +{{>partials/item}} +{{/isItem}} +{{/_splitReference}} \ No newline at end of file diff --git a/docs/templates/reflectioneventing/partials/enum.tmpl.partial b/docs/templates/reflectioneventing/partials/enum.tmpl.partial new file mode 100644 index 0000000..9e577aa --- /dev/null +++ b/docs/templates/reflectioneventing/partials/enum.tmpl.partial @@ -0,0 +1,19 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +{{>partials/class.header}} + +{{#seealso.0}} +

    {{__global.seealso}}

    +
    +{{/seealso.0}} +{{#seealso}} + {{#isCref}} +
    {{{type.specName.0.value}}}
    + {{/isCref}} + {{^isCref}} +
    {{{url}}}
    + {{/isCref}} +{{/seealso}} +{{#seealso.0}} +
    +{{/seealso.0}} \ No newline at end of file diff --git a/docs/templates/reflectioneventing/partials/item.tmpl.partial b/docs/templates/reflectioneventing/partials/item.tmpl.partial new file mode 100644 index 0000000..bef2a66 --- /dev/null +++ b/docs/templates/reflectioneventing/partials/item.tmpl.partial @@ -0,0 +1,3 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +{{>partials/class.header}} \ No newline at end of file diff --git a/docs/templates/reflectioneventing/partials/namespace.tmpl.partial b/docs/templates/reflectioneventing/partials/namespace.tmpl.partial new file mode 100644 index 0000000..32ea727 --- /dev/null +++ b/docs/templates/reflectioneventing/partials/namespace.tmpl.partial @@ -0,0 +1,16 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +

    {{>partials/title}}

    +
    {{{summary}}}
    +
    {{{conceptual}}}
    +
    {{{remarks}}}
    + +{{#children}} +

    {{>partials/namespaceSubtitle}}

    + {{#children}} +
    +
    +
    {{{summary}}}
    +
    + {{/children}} +{{/children}} diff --git a/docs/templates/reflectioneventing/src/docfx.scss b/docs/templates/reflectioneventing/src/docfx.scss new file mode 100644 index 0000000..b7f2d82 --- /dev/null +++ b/docs/templates/reflectioneventing/src/docfx.scss @@ -0,0 +1,78 @@ +@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;500;700;900&family=Raleway:wght@300;500;700;900&display=swap"; + +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +$enable-important-utilities: false; +$container-max-widths: ( + xxl: 1768px +) !default; + +@import "mixins"; +@import "bootstrap/scss/bootstrap"; +@import "highlight"; +@import "layout"; +@import "nav"; +@import "toc"; +@import "markdown"; +@import "search"; +@import "dotnet"; +@import "wpfui"; + +h1, +h2, +h3, +h4, +h5, +h6, +.xref, +.text-break { + word-wrap: break-word; + word-break: break-word; +} + +.divider { + margin: 0 5px; + color: #ccc; +} + +article { + // For REST API view source link + span.small.pull-right { + float: right; + } + + img { + max-width: 100%; + height: auto; + } +} + +.codewrapper { + position: relative; +} + +.sample-response .response-content { + max-height: 200px; +} + +@media (width <= 768px) { + #mobile-indicator { + display: block; + } + + .mobile-hide { + display: none; + } + + /* workaround for #hashtag url is no longer needed */ + h1::before, + h2::before, + h3::before, + h4::before { + content: ""; + display: none; + } +} diff --git a/docs/templates/reflectioneventing/src/docfx.ts b/docs/templates/reflectioneventing/src/docfx.ts new file mode 100644 index 0000000..9dc064c --- /dev/null +++ b/docs/templates/reflectioneventing/src/docfx.ts @@ -0,0 +1,51 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import 'bootstrap' +import { DocfxOptions } from './options' +import { highlight } from './highlight' +import { renderMarkdown } from './markdown' +import { enableSearch } from './search' +import { renderToc } from './toc' +import { initTheme } from './theme' +import { renderBreadcrumb, renderInThisArticle, renderNavbar } from './nav' +import { renderIndexStats } from './wpfui-index-stats' + +import 'bootstrap-icons/font/bootstrap-icons.scss' +import './docfx.scss' + +declare global { + interface Window { + docfx: DocfxOptions & { + ready?: boolean, + searchReady?: boolean, + searchResultReady?: boolean, + } + } +} + +export async function init() { + const options = { + defaultTheme: 'dark' + } as DocfxOptions + + window.docfx = Object.assign({}, options) + + initTheme() + enableSearch() + renderInThisArticle() + renderIndexStats() + + await Promise.all([ + renderMarkdown(), + renderNav(), + highlight() + ]) + + window.docfx.ready = true + + async function renderNav() { + const [navbar, toc] = await Promise.all([renderNavbar(), renderToc()]) + renderBreadcrumb([...navbar, ...toc]) + } +} diff --git a/docs/templates/reflectioneventing/src/dotnet.scss b/docs/templates/reflectioneventing/src/dotnet.scss new file mode 100644 index 0000000..b4a1ce5 --- /dev/null +++ b/docs/templates/reflectioneventing/src/dotnet.scss @@ -0,0 +1,119 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +body[data-yaml-mime="ManagedReference"] article { + h1[data-uid] { + position: relative; + padding-right: 1.6rem; + } + + h3[data-uid] { + position: relative; + font-weight: 400; + margin-top: 3rem; + padding-bottom: 5px; + padding-right: 1.6rem; + } + + h2.section { + margin-top: 3rem; + + +h3[data-uid], +a+h3[data-uid] { + margin-top: 1rem; + } + } + + h4.section { + font-weight: 300; + margin-top: 1.6rem; + } + + dl>dt { + font-weight: normal; + } + + dl>dd { + margin-left: 1rem; + } + + dl.typelist { + >dt { + font-weight: 600; + } + + >dd { + margin-left: 0; + } + + >dd>div { + display: inline-block; + + &:not(:last-child)::after { + content: ', '; + } + } + + &.inheritance>dd>div:not(:last-child)::after { + font-family: bootstrap-icons; + content: '\F12C'; + position: relative; + top: .2em; + opacity: .8; + } + } + + dl.parameters { + >dt>code { + margin-right: .2em; + } + } + + div.facts { + font-size: 14px; + margin: 2rem 0 1rem; + + >dl { + margin: 0; + + >dd { + margin-left: .25rem; + display: inline-block; + } + + >dt { + display: inline-block; + } + + >dt::after { + content: ":"; + } + } + } + + .header-action { + position: absolute; + right: 0; + bottom: .2rem; + font-size: 1.2rem; + } + + td.term { + font-weight: 600; + } + + summary { + display: block; + cursor: inherit; + } + + li>span.term { + font-weight: 600; + + &::after { + content: '-'; + margin: 0 .5em; + } + } +} \ No newline at end of file diff --git a/docs/templates/reflectioneventing/src/helper.test.ts b/docs/templates/reflectioneventing/src/helper.test.ts new file mode 100644 index 0000000..57ed880 --- /dev/null +++ b/docs/templates/reflectioneventing/src/helper.test.ts @@ -0,0 +1,11 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import { breakWord } from './helper' + +test('break-text', () => { + expect(breakWord('Other APIs')).toEqual(['Other APIs']) + expect(breakWord('System.CodeDom')).toEqual(['System.', 'Code', 'Dom']) + expect(breakWord('System.Collections.Dictionary')).toEqual(['System.', 'Collections.', 'Dictionary<', 'string,', ' object>']) + expect(breakWord('https://github.com/dotnet/docfx')).toEqual(['https://github.', 'com/', 'dotnet/', 'docfx']) +}) diff --git a/docs/templates/reflectioneventing/src/helper.ts b/docs/templates/reflectioneventing/src/helper.ts new file mode 100644 index 0000000..78e95f7 --- /dev/null +++ b/docs/templates/reflectioneventing/src/helper.ts @@ -0,0 +1,56 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import { html, TemplateResult } from 'lit-html' + +/** + * Get the value of an HTML meta tag. + */ +export function meta(name: string): string { + return (document.querySelector(`meta[name="${name}"]`) as HTMLMetaElement)?.content +} + +/** + * Add into long word. + */ +export function breakWord(text: string): string[] { + const regex = /([a-z0-9])([A-Z]+[a-z])|([a-zA-Z0-9][.,/<>_])/g + const result = [] + let start = 0 + while (true) { + const match = regex.exec(text) + if (!match) { + break + } + const index = match.index + (match[1] || match[3]).length + result.push(text.slice(start, index)) + start = index + } + if (start < text.length) { + result.push(text.slice(start)) + } + return result +} + +/** + * Add into long word. + */ +export function breakWordLit(text: string): TemplateResult { + const result = [] + breakWord(text).forEach(word => { + if (result.length > 0) { + result.push(html``) + } + result.push(html`${word}`) + }) + return html`${result}` +} + +/** + * Check if the url is external. + * @param url The url to check. + * @returns True if the url is external. + */ +export function isExternalHref(url: URL): boolean { + return url.hostname !== window.location.hostname || url.protocol !== window.location.protocol +} diff --git a/docs/templates/reflectioneventing/src/highlight.scss b/docs/templates/reflectioneventing/src/highlight.scss new file mode 100644 index 0000000..c132bd3 --- /dev/null +++ b/docs/templates/reflectioneventing/src/highlight.scss @@ -0,0 +1,26 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +@import "highlight.js/scss/vs"; + +@include color-mode(dark) { + /* stylelint-disable-next-line no-invalid-position-at-import-rule */ + @import "highlight.js/scss/vs2015"; +} + +.hljs { + background-color: #f5f5f5; +} + +/* For code snippet line highlight */ +pre > code .line-highlight { + background-color: yellow; +} + +@include color-mode(dark) { + pre > code .line-highlight { + background-color: #4a4a00; + } +} diff --git a/docs/templates/reflectioneventing/src/highlight.ts b/docs/templates/reflectioneventing/src/highlight.ts new file mode 100644 index 0000000..b9a6f78 --- /dev/null +++ b/docs/templates/reflectioneventing/src/highlight.ts @@ -0,0 +1,59 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +export async function highlight() { + const codeBlocks = document.querySelectorAll('pre code') + if (codeBlocks.length <= 0) { + return + } + + const { default: hljs } = await import('highlight.js') + + window.docfx.configureHljs?.(hljs) + + document.querySelectorAll('pre code').forEach(block => { + hljs.highlightElement(block as HTMLElement) + }) + + document.querySelectorAll('pre code[highlight-lines]').forEach(block => { + if (block.innerHTML === '') { + return + } + + const queryString = block.getAttribute('highlight-lines') + if (!queryString) { + return + } + + const lines = block.innerHTML.split('\n') + const ranges = queryString.split(',') + for (const range of ranges) { + let start = 0 + let end = 0 + const found = range.match(/^(\d+)-(\d+)?$/) + if (found) { + // consider region as `{startlinenumber}-{endlinenumber}`, in which {endlinenumber} is optional + start = +found[1] + end = +found[2] + if (isNaN(end) || end > lines.length) { + end = lines.length + } + } else { + // consider region as a sigine line number + if (isNaN(Number(range))) { + continue + } + start = +range + end = start + } + if (start <= 0 || end <= 0 || start > end || start > lines.length) { + // skip current region if invalid + continue + } + lines[start - 1] = '' + lines[start - 1] + lines[end - 1] = lines[end - 1] + '' + } + + block.innerHTML = lines.join('\n') + }) +} diff --git a/docs/templates/reflectioneventing/src/layout.scss b/docs/templates/reflectioneventing/src/layout.scss new file mode 100644 index 0000000..62ba8cb --- /dev/null +++ b/docs/templates/reflectioneventing/src/layout.scss @@ -0,0 +1,186 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +$header-height: 80px; +$footer-height: 120px; +$main-padding-top: 1.6rem; +$main-padding-bottom: 4rem; + +// Makes a div sticky to top +@mixin sticky-top { + @include media-breakpoint-up(md) { + position: sticky; + top: 0; + z-index: 1030; + } +} + +@mixin stick-to-header { + @include media-breakpoint-up(md) { + position: sticky; + top: calc($header-height + $main-padding-top); + } +} + +html { + width: calc(100vw - var(--scrollbar-width)); + min-height: 100vh; + overflow-x: hidden; +} + +body, +body[data-layout="landing"] { + width: calc(100vw - var(--scrollbar-width)); + min-height: 100vh; + display: flex; + flex-direction: column; + + >header { + display: flex; + align-items: stretch; + + @include sticky-top; + + @include media-breakpoint-up(md) { + height: $header-height; + } + + >nav { + flex: 1; + } + } + + >footer { + padding: 2rem 1rem; + height: $footer-height; + + >div { + display: flex; + align-items: center; + } + } + + >main { + display: flex; + flex: 1; + padding-top: $main-padding-top; + padding-bottom: $main-padding-bottom; + + >.content { + >:not(article) { + display: none; + } + + @include media-breakpoint-up(md) { + >article [id] { + scroll-margin-top: $header-height; + } + } + } + + >:not(.content) { + display: none; + } + } + + @media print { + >header, >footer { + display: none; + } + } +} + +@media not print { + // Search layout + body[data-search] { + >main { + display: none; + } + + >.search-results { + display: block; + flex: 1; + padding-top: $main-padding-top; + padding-bottom: $main-padding-bottom; + } + } + + body:not([data-search]) { + >.search-results { + display: none; + } + + // Default layout: with header, footer, actionbar, affix, and toc + &[data-layout=""], + &[data-layout="conceptual"] { + >main { + padding-bottom: 0; + + >.toc-offcanvas { + flex: .35; + display: block; + overflow-x: hidden; + overflow-y: auto; + max-width: 360px; + max-height: calc(100vh - $header-height - $main-padding-top); + + @include stick-to-header; + + @include media-breakpoint-down(md) { + flex: 0; + } + } + + >.content { + flex: 1; + min-width: 0; + margin: 0 3rem; + padding-bottom: $main-padding-bottom; + + >.actionbar { + display: flex; + align-items: flex-start; + margin-top: .5rem; + min-height: 40px; + } + + >.contribution, + >.next-article { + display: flex; + } + + @include media-breakpoint-down(lg) { + margin: 0 1rem; + } + + @include media-breakpoint-down(md) { + margin: 0; + } + } + + >.affix { + display: block; + width: 230px; + max-height: calc(100vh - #{$header-height}); + overflow-x: hidden; + overflow-y: auto; + + @include stick-to-header; + + @media only screen and (width <= 1140px) { + display: none; + } + } + } + } + + // Chromeless layout: with no header, footer, actionbar, affix, and toc + &[data-layout="chromeless"] { + >header, >footer { + display: none; + } + } + } +} diff --git a/docs/templates/reflectioneventing/src/markdown.scss b/docs/templates/reflectioneventing/src/markdown.scss new file mode 100644 index 0000000..013171f --- /dev/null +++ b/docs/templates/reflectioneventing/src/markdown.scss @@ -0,0 +1,86 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +/* External link icon */ +a.external[href]::after { + font-family: bootstrap-icons; + content: "\F1C5"; + font-size: .6rem; + margin: 0 .2em; + display: inline-block; +} + +/* Alerts */ +.alert h5 { + text-transform: uppercase; + font-weight: bold; + font-size: 1rem; + + &::before { + @include adjust-icon; + } +} + +.alert-info h5::before { + content: "\F431"; +} + +.alert-warning h5::before { + content: "\F333"; +} + +.alert-danger h5::before { + content: "\F623"; +} + +/* For Embedded Video */ +div.embeddedvideo { + padding-top: 56.25%; + position: relative; + width: 100%; + margin-bottom: 1em; +} + +div.embeddedvideo iframe { + position: absolute; + inset: 0; + width: 100%; + height: 100%; +} + +/* For code actions */ +pre { + position: relative; + + >.code-action { + display: none; + position: absolute; + top: .25rem; + right: .2rem; + + .bi-check-lg { + font-size: 1.2rem; + } + } + + &:hover { + >.code-action { + display: block; + } + } +} + +/* For tabbed content */ +.tabGroup { + margin-bottom: 1rem; + + >section { + margin: 0; + padding: 1rem; + border-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; + } +} \ No newline at end of file diff --git a/docs/templates/reflectioneventing/src/markdown.ts b/docs/templates/reflectioneventing/src/markdown.ts new file mode 100644 index 0000000..1ff5483 --- /dev/null +++ b/docs/templates/reflectioneventing/src/markdown.ts @@ -0,0 +1,454 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import { breakWord, meta } from './helper' +import AnchorJs from 'anchor-js' +import { html, render } from 'lit-html' +import { getTheme } from './theme' + +/** + * Initialize markdown rendering. + */ +export async function renderMarkdown() { + renderWordBreaks() + renderTables() + renderAlerts() + renderLinks() + renderTabs() + renderAnchor() + renderCodeCopy() + renderClickableImage() + + await Promise.all([ + renderMath(), + renderMermaid() + ]) +} + +async function renderMath() { + const math = document.querySelectorAll('.math') + if (math.length > 0) { + await import('mathjax/es5/tex-svg-full.js') + } +} + +let mermaidRenderCount = 0 + +/** + * Render mermaid diagrams. + */ +async function renderMermaid() { + const diagrams = document.querySelectorAll('pre code.lang-mermaid') + if (diagrams.length <= 0) { + return + } + + const { default: mermaid } = await import('mermaid') + const theme = getTheme() === 'dark' ? 'dark' : 'default' + + // Turn off deterministic ids on re-render + const deterministicIds = mermaidRenderCount === 0 + mermaid.initialize(Object.assign({ startOnLoad: false, deterministicIds, theme }, window.docfx.mermaid)) + mermaidRenderCount++ + + const nodes = [] + diagrams.forEach(e => { + // Rerender when elements becomes visible due to https://github.com/mermaid-js/mermaid/issues/1846 + if (e.offsetParent) { + nodes.push(e.parentElement) + e.parentElement.classList.add('mermaid') + e.parentElement.innerHTML = e.innerHTML + } + }) + + await mermaid.run({ nodes }) +} + +/** + * Add to break long text. + */ +function renderWordBreaks() { + document.querySelectorAll('article h1,h2,h3,h4,h5,h6,.xref,.text-break').forEach(e => { + if (e.innerHTML?.trim() === e.innerText?.trim()) { + const children: (string | Node)[] = [] + for (const text of breakWord(e.innerText)) { + if (children.length > 0) { + children.push(document.createElement('wbr')) + } + children.push(text) + } + e.replaceChildren(...children) + } + }) +} + +/** + * Make images in articles clickable by wrapping the image in an anchor tag. + * The image is clickable only if its size is larger than 200x200 and it is not already been wrapped in an anchor tag. + */ +function renderClickableImage() { + const MIN_CLICKABLE_IMAGE_SIZE = 200 + const imageLinks = Array.from(document.querySelectorAll('article a img[src]')) + + document.querySelectorAll('article img[src]').forEach(img => { + if (shouldMakeClickable()) { + makeClickable() + } else { + img.addEventListener('load', () => { + if (shouldMakeClickable()) { + makeClickable() + } + }) + } + + function makeClickable() { + const a = document.createElement('a') + a.target = '_blank' + a.rel = 'noopener noreferrer nofollow' + a.href = img.src + img.replaceWith(a) + a.appendChild(img) + } + + function shouldMakeClickable(): boolean { + return img.naturalWidth > MIN_CLICKABLE_IMAGE_SIZE && + img.naturalHeight > MIN_CLICKABLE_IMAGE_SIZE && + !imageLinks.includes(img) + } + }) +} + +/** + * Styling for tables in conceptual documents using Bootstrap. + * See http://getbootstrap.com/css/#tables + */ +function renderTables() { + document.querySelectorAll('table').forEach(table => { + table.classList.add('table', 'table-bordered', 'table-condensed') + const wrapper = document.createElement('div') + wrapper.className = 'table-responsive' + table.parentElement.insertBefore(wrapper, table) + wrapper.appendChild(table) + }) +} + +/** + * Styling for alerts. + */ +function renderAlerts() { + document.querySelectorAll('.NOTE, .TIP').forEach(e => e.classList.add('alert', 'alert-info')) + document.querySelectorAll('.WARNING').forEach(e => e.classList.add('alert', 'alert-warning')) + document.querySelectorAll('.IMPORTANT, .CAUTION').forEach(e => e.classList.add('alert', 'alert-danger')) +} + +/** + * Open external links to different host in a new window. + */ +function renderLinks() { + if (meta('docfx:disablenewtab') === 'true') { + return + } + + document.querySelectorAll('article a[href]').forEach(a => { + if (a.hostname !== window.location.hostname && a.innerText.trim() !== '') { + a.target = '_blank' + a.rel = 'noopener noreferrer nofollow' + a.classList.add('external') + } + }) +} + +/** + * Render anchor # for headings + */ +function renderAnchor() { + const anchors = new AnchorJs() + anchors.options = Object.assign({ + visible: 'hover', + icon: '#' + }, window.docfx.anchors) + + anchors.add('article h2:not(.no-anchor), article h3:not(.no-anchor), article h4:not(.no-anchor)') +} + +/** + * Render code copy button. + */ +function renderCodeCopy() { + document.querySelectorAll('pre>code').forEach(code => { + if (code.innerText.trim().length === 0) { + return + } + + let copied = false + renderCore() + + function renderCore() { + const dom = copied + ? html`` + : html`` + render(dom, code.parentElement) + + async function copy(e) { + e.preventDefault() + await navigator.clipboard.writeText(code.innerText) + copied = true + renderCore() + setTimeout(() => { + copied = false + renderCore() + }, 1000) + } + } + }) +} + +/** + * Render tabbed content. + */ +function renderTabs() { + updateTabStyle() + + const contentAttrs = { + id: 'data-bi-id', + name: 'data-bi-name', + type: 'data-bi-type' + } + + const Tab = (function() { + function Tab(li, a, section) { + this.li = li + this.a = a + this.section = section + } + Object.defineProperty(Tab.prototype, 'tabIds', { + get: function() { return this.a.getAttribute('data-tab').split(' ') }, + enumerable: true, + configurable: true + }) + Object.defineProperty(Tab.prototype, 'condition', { + get: function() { return this.a.getAttribute('data-condition') }, + enumerable: true, + configurable: true + }) + Object.defineProperty(Tab.prototype, 'visible', { + get: function() { return !this.li.hasAttribute('hidden') }, + set: function(value) { + if (value) { + this.li.removeAttribute('hidden') + this.li.removeAttribute('aria-hidden') + } else { + this.li.setAttribute('hidden', 'hidden') + this.li.setAttribute('aria-hidden', 'true') + } + }, + enumerable: true, + configurable: true + }) + Object.defineProperty(Tab.prototype, 'selected', { + get: function() { return !this.section.hasAttribute('hidden') }, + set: function(value) { + if (value) { + this.a.setAttribute('aria-selected', 'true') + this.a.classList.add('active') + this.a.tabIndex = 0 + this.section.removeAttribute('hidden') + this.section.removeAttribute('aria-hidden') + } else { + this.a.setAttribute('aria-selected', 'false') + this.a.classList.remove('active') + this.a.tabIndex = -1 + this.section.setAttribute('hidden', 'hidden') + this.section.setAttribute('aria-hidden', 'true') + } + }, + enumerable: true, + configurable: true + }) + Tab.prototype.focus = function() { + this.a.focus() + } + return Tab + }()) + + initTabs(document.body) + + function initTabs(container) { + const queryStringTabs = readTabsQueryStringParam() + const elements = container.querySelectorAll('.tabGroup') + const state = { groups: [], selectedTabs: [] } + for (let i = 0; i < elements.length; i++) { + const group = initTabGroup(elements.item(i)) + if (!group.independent) { + updateVisibilityAndSelection(group, state) + state.groups.push(group) + } + } + container.addEventListener('click', function(event) { return handleClick(event, state) }) + if (state.groups.length === 0) { + return state + } + selectTabs(queryStringTabs) + updateTabsQueryStringParam(state) + return state + } + + function initTabGroup(element) { + const group = { + independent: element.hasAttribute('data-tab-group-independent'), + tabs: [] + } + let li = element.firstElementChild.firstElementChild + while (li) { + const a = li.firstElementChild + a.setAttribute(contentAttrs.name, 'tab') + const dataTab = a.getAttribute('data-tab').replace(/\+/g, ' ') + a.setAttribute('data-tab', dataTab) + const section = element.querySelector('[id="' + a.getAttribute('aria-controls') + '"]') + const tab = new Tab(li, a, section) + group.tabs.push(tab) + li = li.nextElementSibling + } + element.setAttribute(contentAttrs.name, 'tab-group') + element.tabGroup = group + return group + } + + function updateVisibilityAndSelection(group, state) { + let anySelected = false + let firstVisibleTab + for (let _i = 0, _a = group.tabs; _i < _a.length; _i++) { + const tab = _a[_i] + tab.visible = tab.condition === null || state.selectedTabs.indexOf(tab.condition) !== -1 + if (tab.visible) { + if (!firstVisibleTab) { + firstVisibleTab = tab + } + } + tab.selected = tab.visible && arraysIntersect(state.selectedTabs, tab.tabIds) + anySelected = anySelected || tab.selected + } + if (!anySelected) { + for (let _b = 0, _c = group.tabs; _b < _c.length; _b++) { + const tabIds = _c[_b].tabIds + for (let _d = 0, tabIds1 = tabIds; _d < tabIds1.length; _d++) { + const tabId = tabIds1[_d] + const index = state.selectedTabs.indexOf(tabId) + if (index === -1) { + continue + } + state.selectedTabs.splice(index, 1) + } + } + const tab = firstVisibleTab + tab.selected = true + state.selectedTabs.push(tab.tabIds[0]) + } + } + + function getTabInfoFromEvent(event) { + if (!(event.target instanceof HTMLElement)) { + return null + } + const anchor = event.target.closest('a[data-tab]') + if (anchor === null) { + return null + } + const tabIds = anchor.getAttribute('data-tab').split(' ') + const group = anchor.parentElement.parentElement.parentElement.tabGroup + if (group === undefined) { + return null + } + return { tabIds, group, anchor } + } + + function handleClick(event, state) { + const info = getTabInfoFromEvent(event) + if (info === null) { + return + } + event.preventDefault() + info.anchor.href = 'javascript:' + setTimeout(function() { + info.anchor.href = '#' + info.anchor.getAttribute('aria-controls') + }) + const tabIds = info.tabIds; const group = info.group + const originalTop = info.anchor.getBoundingClientRect().top + if (group.independent) { + for (let _i = 0, _a = group.tabs; _i < _a.length; _i++) { + const tab = _a[_i] + tab.selected = arraysIntersect(tab.tabIds, tabIds) + } + } else { + if (arraysIntersect(state.selectedTabs, tabIds)) { + return + } + const previousTabId = group.tabs.filter(function(t) { return t.selected })[0].tabIds[0] + state.selectedTabs.splice(state.selectedTabs.indexOf(previousTabId), 1, tabIds[0]) + for (let _b = 0, _c = state.groups; _b < _c.length; _b++) { + const group1 = _c[_b] + updateVisibilityAndSelection(group1, state) + } + updateTabsQueryStringParam(state) + } + notifyContentUpdated() + const top = info.anchor.getBoundingClientRect().top + if (top !== originalTop && event instanceof MouseEvent) { + window.scrollTo(0, window.pageYOffset + top - originalTop) + } + } + + function selectTabs(tabIds) { + for (let _i = 0, tabIds1 = tabIds; _i < tabIds1.length; _i++) { + const tabId = tabIds1[_i] + const a = document.querySelector('.tabGroup > ul > li > a[data-tab="' + tabId + '"]:not([hidden])') + if (a === null) { + return + } + a.dispatchEvent(new CustomEvent('click', { bubbles: true })) + } + } + + function readTabsQueryStringParam() { + const qs = new URLSearchParams(window.location.search) + const t = qs.get('tabs') + if (!t) { + return [] + } + return t.split(',') + } + + function updateTabsQueryStringParam(state) { + const qs = new URLSearchParams(window.location.search) + qs.set('tabs', state.selectedTabs.join()) + const url = location.protocol + '//' + location.host + location.pathname + '?' + qs.toString() + location.hash + if (location.href === url) { + return + } + history.replaceState({}, document.title, url) + } + + function arraysIntersect(a, b) { + for (let _i = 0, a1 = a; _i < a1.length; _i++) { + const itemA = a1[_i] + for (let _a = 0, b1 = b; _a < b1.length; _a++) { + const itemB = b1[_a] + if (itemA === itemB) { + return true + } + } + } + return false + } + + function updateTabStyle() { + document.querySelectorAll('div.tabGroup>ul').forEach(e => e.classList.add('nav', 'nav-tabs')) + document.querySelectorAll('div.tabGroup>ul>li').forEach(e => e.classList.add('nav-item')) + document.querySelectorAll('div.tabGroup>ul>li>a').forEach(e => e.classList.add('nav-link')) + document.querySelectorAll('div.tabGroup>section').forEach(e => e.classList.add('card')) + } + + function notifyContentUpdated() { + renderMermaid() + } +} diff --git a/docs/templates/reflectioneventing/src/mixins.scss b/docs/templates/reflectioneventing/src/mixins.scss new file mode 100644 index 0000000..8867bf0 --- /dev/null +++ b/docs/templates/reflectioneventing/src/mixins.scss @@ -0,0 +1,22 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +@mixin adjust-icon { + font-family: bootstrap-icons; + position: relative; + margin-right: 0.5em; + top: 0.2em; + font-size: 1.25em; + font-weight: normal; + } + + @mixin underline-on-hover { + text-decoration: none; + + &:hover, &:focus { + text-decoration: underline; + } + } + \ No newline at end of file diff --git a/docs/templates/reflectioneventing/src/nav.scss b/docs/templates/reflectioneventing/src/nav.scss new file mode 100644 index 0000000..c5d1886 --- /dev/null +++ b/docs/templates/reflectioneventing/src/nav.scss @@ -0,0 +1,159 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +.breadcrumb { + font-size: 14px; + + a { + @include underline-on-hover; + } +} + +.next-article { + display: flex; + + &:not(:has(div)) { + border-top-width: 0; + } + + &:has(div) { + margin-top: 3rem; + padding-top: 1rem; + } + + &>div { + flex: 1; + + &.next { + text-align: right; + } + + &>span { + opacity: .66; + font-size: 14px; + } + + &>a { + display: block; + } + } +} + +.navbar { + padding: 2rem 1rem; + + .navbar-brand { + display: flex; + align-items: center; + } + + .navbar-nav { + display: flex; + flex-wrap: nowrap; + } + + #navbar { + display: flex; + flex: 1; + justify-content: flex-end; + + form { + display: flex; + position: relative; + align-items: center; + + >i.bi { + position: absolute; + left: .8rem; + opacity: .5; + } + + >input { + padding-left: 2.5rem; + } + + &.search { + order: 50; + } + + &.icons { + margin-left: auto; + } + } + } + + @include media-breakpoint-down(md) { + #navbar { + flex-direction: column; + align-items: flex-start; + + form { + margin: 1rem 0 0; + + &.search { + align-self: stretch; + order: 30; + } + + &.icons { + align-self: center; + order: 40; + margin: 1rem 0; + } + } + } + } +} + +.affix { + font-size: 14px; + + h5 { + display: inline-block; + font-weight: 300; + text-transform: uppercase; + padding: 1em 0 .5em; + font-size: 14px; + letter-spacing: 2px; + } + + h6 { + font-size: 14px; + } + + ul { + flex-direction: column; + list-style-type: none; + padding-left: 0; + margin-left: 0; + + h6 { + margin-top: 1rem; + } + + li { + margin: .4rem 0; + + a { + @include underline-on-hover; + } + } + } +} + +.contribution { + margin-top: 2rem; + + a.edit-link { + @include underline-on-hover; + + &::before { + content: "\F4CA"; + display: inline-block; + + @include adjust-icon; + } + } +} diff --git a/docs/templates/reflectioneventing/src/nav.ts b/docs/templates/reflectioneventing/src/nav.ts new file mode 100644 index 0000000..40e5506 --- /dev/null +++ b/docs/templates/reflectioneventing/src/nav.ts @@ -0,0 +1,160 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import { render, html, TemplateResult } from 'lit-html' +import { breakWordLit, meta, isExternalHref } from './helper' +import { themePicker } from './theme' +import { TocNode } from './toc' + +export type NavItem = { + name: string + href: URL +} + +export type NavItemContainer = { + name: string + items: NavItem[] +} + +/** + * @returns active navbar items + */ +export async function renderNavbar(): Promise { + const navbar = document.getElementById('navbar') + if (!navbar) { + return + } + + const navItems = await loadNavItems() + const activeItem = findActiveItem(navItems) + + const menuItem = item => { + const current = (item === activeItem ? 'page' : false) + const active = (item === activeItem ? 'active' : null) + return html`
  • ` + } + + const menu = html` + ` + + function renderCore() { + const icons = html` +
    + ${window.docfx.iconLinks?.map(i => html``)} + ${themePicker(renderCore)} + Sponsor +
    ` + + render(html`${menu} ${icons}`, navbar) + } + + renderCore() + + return activeItem ? [activeItem] : [] + + async function loadNavItems(): Promise<(NavItem | NavItemContainer)[]> { + const navrel = meta('docfx:navrel') + if (!navrel) { + return [] + } + + const navUrl = new URL(navrel.replace(/.html$/gi, '.json'), window.location.href) + const { items } = await fetch(navUrl).then(res => res.json()) + return items.map((a: NavItem | NavItemContainer) => { + if ('items' in a) { + return { name: a.name, items: a.items.map(i => ({ name: i.name, href: new URL(i.href, navUrl) })) } + } + return { name: a.name, href: new URL(a.href, navUrl) } + }) + } +} + +export function renderBreadcrumb(breadcrumb: (NavItem | TocNode)[]) { + const container = document.getElementById('breadcrumb') + if (container) { + render( + html` + `, + container) + } +} + +export function renderInThisArticle() { + const affix = document.getElementById('affix') + const windowPathname = window.location.pathname + + if (windowPathname === '' || windowPathname === '/' || windowPathname === '/index.html') { + return + } + + if (affix) { + render(document.body.getAttribute('data-yaml-mime') === 'ManagedReference' ? inThisArticleForManagedReference() : inThisArticleForConceptual(), affix) + } +} + +function inThisArticleForConceptual() { + const headings = document.querySelectorAll('article h2') + if (headings.length > 0) { + return html` +
    In this article
    + ` + } +} + +function inThisArticleForManagedReference(): TemplateResult { + let headings = Array.from(document.querySelectorAll('article h2, article h3')) + headings = headings.filter((h, i) => h.tagName === 'H3' || headings[i + 1]?.tagName === 'H3') + + if (headings.length > 0) { + return html` +
    In this article
    + ` + } +} + +function findActiveItem(items: (NavItem | NavItemContainer)[]): NavItem { + const url = new URL(window.location.href) + let activeItem: NavItem + let maxPrefix = 0 + for (const item of items.map(i => 'items' in i ? i.items : i).flat()) { + if (isExternalHref(item.href)) { + continue + } + const prefix = commonUrlPrefix(url, item.href) + if (prefix > maxPrefix) { + maxPrefix = prefix + activeItem = item + } + } + return activeItem +} + +function commonUrlPrefix(url: URL, base: URL): number { + const urlSegments = url.pathname.split('/') + const baseSegments = base.pathname.split('/') + let i = 0 + while (i < urlSegments.length && i < baseSegments.length && urlSegments[i] === baseSegments[i]) { + i++ + } + return i +} diff --git a/docs/templates/reflectioneventing/src/options.d.ts b/docs/templates/reflectioneventing/src/options.d.ts new file mode 100644 index 0000000..2e93b19 --- /dev/null +++ b/docs/templates/reflectioneventing/src/options.d.ts @@ -0,0 +1,40 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import BootstrapIcons from 'bootstrap-icons/font/bootstrap-icons.json' +import { HLJSApi } from 'highlight.js' +import { AnchorJSOptions } from 'anchor-js' +import { MermaidConfig } from 'mermaid' + +export type Theme = 'light' | 'dark' | 'auto' + +export type IconLink = { + /** A [bootstrap-icons](https://icons.getbootstrap.com/) name */ + icon: keyof typeof BootstrapIcons, + + /** The URL of this icon link */ + href: string, + + /** The title of this icon link shown on mouse hover */ + title?: string +} + +/** + * Enables customization of the website through the global `window.docfx` object. + */ +export type DocfxOptions = { + /** Configures the default theme */ + defaultTheme?: Theme, + + /** A list of icons to show in the header next to the theme picker */ + iconLinks?: IconLink[], + + /** Configures [anchor-js](https://www.bryanbraun.com/anchorjs#options) options */ + anchors?: AnchorJSOptions, + + /** Configures mermaid diagram options */ + mermaid?: MermaidConfig, + + /** Configures [hightlight.js](https://highlightjs.org/) */ + configureHljs?: (hljs: HLJSApi) => void, +} diff --git a/docs/templates/reflectioneventing/src/search-worker.ts b/docs/templates/reflectioneventing/src/search-worker.ts new file mode 100644 index 0000000..381d586 --- /dev/null +++ b/docs/templates/reflectioneventing/src/search-worker.ts @@ -0,0 +1,82 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import lunr from 'lunr' + +let lunrIndex + +let stopWords = null +let searchData = {} + +lunr.tokenizer.separator = /[\s\-.()]+/ + +const stopWordsRequest = new XMLHttpRequest() +stopWordsRequest.open('GET', '../search-stopwords.json') +stopWordsRequest.onload = function() { + if (this.status !== 200) { + return + } + stopWords = JSON.parse(this.responseText) + buildIndex() +} +stopWordsRequest.send() + +const searchDataRequest = new XMLHttpRequest() + +searchDataRequest.open('GET', '../index.json') +searchDataRequest.onload = function() { + if (this.status !== 200) { + return + } + searchData = JSON.parse(this.responseText) + + buildIndex() + + postMessage({ e: 'index-ready' }) +} +searchDataRequest.send() + +onmessage = function(oEvent) { + const q = oEvent.data.q + const results = [] + if (lunrIndex) { + const hits = lunrIndex.search(q) + hits.forEach(function(hit) { + const item = searchData[hit.ref] + results.push({ href: item.href, title: item.title, keywords: item.keywords }) + }) + } + postMessage({ e: 'query-ready', q, d: results }) +} + +function buildIndex() { + if (stopWords !== null && !isEmpty(searchData)) { + lunrIndex = lunr(function() { + this.pipeline.remove(lunr.stopWordFilter) + this.ref('href') + this.field('title', { boost: 50 }) + this.field('keywords', { boost: 20 }) + + for (const prop in searchData) { + if (Object.prototype.hasOwnProperty.call(searchData, prop)) { + this.add(searchData[prop]) + } + } + + const docfxStopWordFilter = lunr.generateStopWordFilter(stopWords) + lunr.Pipeline.registerFunction(docfxStopWordFilter, 'docfxStopWordFilter') + this.pipeline.add(docfxStopWordFilter) + this.searchPipeline.add(docfxStopWordFilter) + }) + } +} + +function isEmpty(obj) { + if (!obj) return true + + for (const prop in obj) { + if (Object.prototype.hasOwnProperty.call(obj, prop)) { return false } + } + + return true +} diff --git a/docs/templates/reflectioneventing/src/search.scss b/docs/templates/reflectioneventing/src/search.scss new file mode 100644 index 0000000..722f476 --- /dev/null +++ b/docs/templates/reflectioneventing/src/search.scss @@ -0,0 +1,34 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +#search-results { + line-height: 1.8; + + >.search-list { + font-size: .9em; + color: $secondary; + } + + >.sr-items { + flex: 1; + + .sr-item { + margin-bottom: 1.5em; + + >.item-title { + font-size: x-large; + } + + >.item-href { + color: #093; + font-size: small; + } + + >.item-brief { + font-size: small; + } + } + } +} diff --git a/docs/templates/reflectioneventing/src/search.ts b/docs/templates/reflectioneventing/src/search.ts new file mode 100644 index 0000000..acf84cb --- /dev/null +++ b/docs/templates/reflectioneventing/src/search.ts @@ -0,0 +1,171 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import { meta } from './helper' +import { html, render, TemplateResult } from 'lit-html' +import { classMap } from 'lit-html/directives/class-map.js' + +type SearchHit = { + href: string + title: string + keywords: string +} + +let query + +/** + * Support full-text-search + */ +export function enableSearch() { + const searchQuery = document.getElementById('search-query') as HTMLInputElement + if (!searchQuery || !window.Worker) { + return + } + + const relHref = meta('docfx:rel') || '' + const worker = new Worker(relHref + 'public/search-worker.min.js', { type: 'module' }) + worker.onmessage = function(oEvent) { + switch (oEvent.data.e) { + case 'index-ready': + searchQuery.disabled = false + searchQuery.addEventListener('input', onSearchQueryInput) + window.docfx.searchReady = true + break + case 'query-ready': + document.body.setAttribute('data-search', 'true') + renderSearchResults(oEvent.data.d, 0) + window.docfx.searchResultReady = true + break + } + } + + function onSearchQueryInput() { + query = searchQuery.value + if (query.length < 3) { + document.body.removeAttribute('data-search') + } else { + worker.postMessage({ q: query }) + } + } + + function relativeUrlToAbsoluteUrl(currentUrl, relativeUrl) { + const currentItems = currentUrl.split(/\/+/) + const relativeItems = relativeUrl.split(/\/+/) + let depth = currentItems.length - 1 + const items = [] + for (let i = 0; i < relativeItems.length; i++) { + if (relativeItems[i] === '..') { + depth-- + } else if (relativeItems[i] !== '.') { + items.push(relativeItems[i]) + } + } + return currentItems.slice(0, depth).concat(items).join('/') + } + + function extractContentBrief(content) { + const briefOffset = 512 + const words = query.split(/\s+/g) + const queryIndex = content.indexOf(words[0]) + if (queryIndex > briefOffset) { + return '...' + content.slice(queryIndex - briefOffset, queryIndex + briefOffset) + '...' + } else if (queryIndex <= briefOffset) { + return content.slice(0, queryIndex + briefOffset) + '...' + } + } + + function renderSearchResults(hits: SearchHit[], page: number) { + const numPerPage = 10 + const totalPages = Math.ceil(hits.length / numPerPage) + + render( + renderPage(page), + document.getElementById('search-results')) + + function renderPage(page: number): TemplateResult { + if (hits.length === 0) { + return html`
    No results for "${query}"
    ` + } + + const start = page * numPerPage + const curHits = hits.slice(start, start + numPerPage) + + const items = html` +
    ${hits.length} results for "${query}"
    +
    ${curHits.map(hit => { + const currentUrl = window.location.href + const itemRawHref = relativeUrlToAbsoluteUrl(currentUrl, relHref + hit.href) + const itemHref = relHref + hit.href + '?q=' + query + const itemBrief = extractContentBrief(hit.keywords) + + return html` +
    + +
    ${mark(itemRawHref, query)}
    +
    ${mark(itemBrief, query)}
    +
    ` + })} +
    ` + + return html`${items} ${renderPagination()}` + } + + function renderPagination() { + const maxVisiblePages = 5 + const startPage = Math.max(0, Math.min(page - 2, totalPages - maxVisiblePages)) + const endPage = Math.min(totalPages, startPage + maxVisiblePages) + const pages = Array.from(new Array(endPage - startPage).keys()).map(i => i + startPage) + + if (pages.length <= 1) { + return null + } + + return html` + ` + + function gotoPage(page: number) { + if (page >= 0 && page < totalPages) { + renderSearchResults(hits, page) + } + } + } + } +} + +function mark(text: string, query: string): TemplateResult { + const words = query.split(/\s+/g) + const wordsLower = words.map(w => w.toLowerCase()) + const textLower = text.toLowerCase() + const result = [] + let lastEnd = 0 + for (let i = 0; i < wordsLower.length; i++) { + const word = wordsLower[i] + const index = textLower.indexOf(word, lastEnd) + if (index >= 0) { + result.push(html`${text.slice(lastEnd, index)}`) + result.push(html`${text.slice(index, index + word.length)}`) + lastEnd = index + word.length + } + } + result.push(html`${text.slice(lastEnd)}`) + return html`${result}` +} diff --git a/docs/templates/reflectioneventing/src/theme.ts b/docs/templates/reflectioneventing/src/theme.ts new file mode 100644 index 0000000..ecf56c4 --- /dev/null +++ b/docs/templates/reflectioneventing/src/theme.ts @@ -0,0 +1,49 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import { html } from 'lit-html' +import { Theme } from './options' + +function setTheme(theme: Theme) { + localStorage.setItem('theme', theme) + if (theme === 'auto') { + document.documentElement.setAttribute('data-bs-theme', window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } +} + +function getDefaultTheme() { + return localStorage.getItem('theme') as Theme || window.docfx.defaultTheme || 'auto' +} + +export function initTheme() { + setTheme(getDefaultTheme()) +} + +export function getTheme(): 'light' | 'dark' { + return document.documentElement.getAttribute('data-bs-theme') as 'light' | 'dark' +} + +export function themePicker(refresh: () => void) { + const theme = getDefaultTheme() + const icon = theme === 'light' ? 'sun' : theme === 'dark' ? 'moon' : 'circle-half' + + return html` + ` + + function changeTheme(e, theme: Theme) { + e.preventDefault() + setTheme(theme) + refresh() + } +} diff --git a/docs/templates/reflectioneventing/src/toc.scss b/docs/templates/reflectioneventing/src/toc.scss new file mode 100644 index 0000000..d6d6794 --- /dev/null +++ b/docs/templates/reflectioneventing/src/toc.scss @@ -0,0 +1,92 @@ +/** + * Licensed to the .NET Foundation under one or more agreements. + * The .NET Foundation licenses this file to you under the MIT license. + */ + +$expand-stub-width: .85rem; + +.toc { + min-width: 0; + width: 100%; + + ul { + font-size: 14px; + flex-direction: column; + list-style-type: none; + padding-left: 0; + overflow-wrap: break-word; + } + + li { + font-weight: normal; + margin: .6em 0; + padding-left: $expand-stub-width; + position: relative; + } + + li > a { + display: inline; + + @include underline-on-hover; + } + + li > ul { + display: none; + } + + li.expanded > ul { + display: block; + } + + .expand-stub::before { + display: inline-block; + width: $expand-stub-width; + cursor: pointer; + font-family: bootstrap-icons; + font-size: .8em; + content: "\F285"; + position: absolute; + margin-top: .2em; + margin-left: -$expand-stub-width; + transition: transform 0.35s ease; + transform-origin: .5em 50%; + + @media (prefers-reduced-motion) { + & { + transition: none; + } + } + } + + li.expanded > .expand-stub::before { + transform: rotate(90deg); + } + + span.name-only { + font-weight: 600; + display: inline-block; + margin: .4rem 0; + } + + form.filter { + display: flex; + position: relative; + align-items: center; + margin-bottom: 1rem; + + >i.bi { + position: absolute; + left: .6rem; + opacity: .5; + } + + >input { + padding-left: 2rem; + } + } + + >.no-result { + font-size: .9em; + color: $secondary; + } +} \ No newline at end of file diff --git a/docs/templates/reflectioneventing/src/toc.ts b/docs/templates/reflectioneventing/src/toc.ts new file mode 100644 index 0000000..37679c6 --- /dev/null +++ b/docs/templates/reflectioneventing/src/toc.ts @@ -0,0 +1,177 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +import { TemplateResult, html, render } from 'lit-html' +import { classMap } from 'lit-html/directives/class-map.js' +import { breakWordLit, meta, isExternalHref } from './helper' + +export type TocNode = { + name: string + href?: string + expanded?: boolean + items?: TocNode[] +} + +/** + * @returns active TOC nodes + */ +export async function renderToc(): Promise { + const tocrel = meta('docfx:tocrel') + if (!tocrel) { + return [] + } + + const disableTocFilter = meta('docfx:disabletocfilter') === 'true' + + let tocFilter = disableTocFilter ? '' : (localStorage?.getItem('tocFilter') || '') + + const tocUrl = new URL(tocrel.replace(/.html$/gi, '.json'), window.location.href) + const { items } = await (await fetch(tocUrl)).json() + + const activeNodes = [] + const selectedNodes = [] + items.forEach(initTocNodes) + + const tocContainer = document.getElementById('toc') + if (tocContainer) { + renderToc() + + const activeElements = tocContainer.querySelectorAll('li.active') + const lastActiveElement = activeElements[activeElements.length - 1] + if (lastActiveElement) { + lastActiveElement.scrollIntoView({ block: 'nearest' }) + } + } + + if (selectedNodes.length > 0) { + renderNextArticle(items, selectedNodes[0]) + } + + return activeNodes.slice(0, -1) + + function initTocNodes(node: TocNode): boolean { + let active + if (node.href) { + const url = new URL(node.href, tocUrl) + node.href = url.href + active = isExternalHref(url) ? false : normalizeUrlPath(url) === normalizeUrlPath(window.location) + if (active) { + if (node.items) { + node.expanded = true + } + selectedNodes.push(node) + } + } + + if (node.items) { + for (const child of node.items) { + if (initTocNodes(child)) { + active = true + node.expanded = true + } + } + } + + if (active) { + activeNodes.unshift(node) + return true + } + return false + } + + function renderToc() { + render(html`${renderTocFilter()} ${renderTocNodes(items) || renderNoFilterResult()}`, tocContainer) + } + + function renderTocNodes(nodes: TocNode[]): TemplateResult { + const result = nodes.map(node => { + const { href, name, items, expanded } = node + const isLeaf = !items || items.length <= 0 + + const children = isLeaf ? null : renderTocNodes(items) + if (tocFilter !== '' && !children && !name.toLowerCase().includes(tocFilter.toLowerCase())) { + return null + } + + const dom = href + ? html`${breakWordLit(name)}` + : (isLeaf + ? html`${breakWordLit(name)}` + : html`${breakWordLit(name)}`) + + const isExpanded = (tocFilter !== '' && expanded !== false && children != null) || expanded === true + + return html` +
  • + ${isLeaf ? null : html``} + ${dom} + ${children} +
  • ` + + function toggleExpand(e) { + e.preventDefault() + node.expanded = !isExpanded + renderToc() + } + }).filter(node => node) + + return result.length > 0 ? html`
      ${result}
    ` : null + } + + function renderTocFilter(): TemplateResult { + return disableTocFilter + ? null + : html` +
    + + +
    ` + + function filterToc(e: Event) { + tocFilter = (e.target).value.trim() + localStorage?.setItem('tocFilter', tocFilter) + renderToc() + } + } + + function renderNoFilterResult(): TemplateResult { + return tocFilter === '' ? null : html`
    No results for "${tocFilter}"
    ` + } + + function normalizeUrlPath(url: { pathname: string }): string { + return url.pathname.replace(/\/index\.html$/gi, '/') + } +} + +function renderNextArticle(items: TocNode[], node: TocNode) { + const nextArticle = document.getElementById('nextArticle') + if (!nextArticle) { + return + } + + const tocNodes = flattenTocNodesWithHref(items) + const i = tocNodes.findIndex(n => n === node) + const prev = tocNodes[i - 1] + const next = tocNodes[i + 1] + if (!prev && !next) { + return + } + + const prevButton = prev ? html`` : null + const nextButton = next ? html`` : null + + render(html`${prevButton} ${nextButton}`, nextArticle) + + function flattenTocNodesWithHref(items: TocNode[]) { + const result = [] + for (const item of items) { + if (item.href) { + result.push(item) + } + if (item.items) { + result.push(...flattenTocNodesWithHref(item.items)) + } + } + return result + } +} diff --git a/docs/templates/reflectioneventing/src/wpfui-index-stats.ts b/docs/templates/reflectioneventing/src/wpfui-index-stats.ts new file mode 100644 index 0000000..30ab415 --- /dev/null +++ b/docs/templates/reflectioneventing/src/wpfui-index-stats.ts @@ -0,0 +1,11 @@ +function updateBaseStats() { + console.debug('Index stats initialized') +} + +export function renderIndexStats() { + const windowPathname = window.location.pathname + + if (windowPathname === '' || windowPathname === '/' || windowPathname === '/index.html') { + updateBaseStats() + } +} diff --git a/docs/templates/reflectioneventing/src/wpfui.scss b/docs/templates/reflectioneventing/src/wpfui.scss new file mode 100644 index 0000000..b46aef9 --- /dev/null +++ b/docs/templates/reflectioneventing/src/wpfui.scss @@ -0,0 +1,172 @@ +.h1, +.h2, +.h3, +.h4, +.h5, +h1, +h2, +h3, +h4, +h5 { + font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, + Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, + Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; +} + +.navbar-brand { + font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, + Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, + Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + font-weight: 700; +} + +.typelist.derived { + display: none; +} + +.mr-05 { + margin-right: 0.5rem; +} + +.card-call-to-action { + border-radius: 1rem; + padding: 1rem; + background-color: rgb(15, 163, 180); + background-image: linear-gradient( + 140deg, + rgb(0, 128, 154), + rgb(19, 104, 145) 50%, + rgb(32, 135, 135) 75% + ); + transition: background-position 0.5s ease-in-out; + background-size: 200% 200%; + background-position: 0% 0%; + + &:hover { + background-position: 100% 100%; + } +} + +.btn-colorful { + background-color: rgb(15, 163, 180); + background-image: linear-gradient( + 140deg, + rgb(0, 128, 154), + rgb(19, 104, 145) 50%, + rgb(32, 135, 135) 75% + ); + transition: background-position 0.5s ease-in-out; + background-size: 200% 200%; + background-position: 0% 0%; + color: white; + + &:hover { + background-position: 100% 100%; + } +} + +img { + max-width: 100%; +} + +h2 { + margin-top: 4rem; + font-weight: 700; +} + +h3 { + margin-top: 2rem; +} + +.navbar-brand { + #logo { + max-width: 30px; + margin-right: 0.7rem; + } +} + +.spaced-page { + padding: 6rem 0; +} + +.display-1, +.display-4 { + font-weight: 700; +} + +.spaced-page-separator { + padding: 1rem; +} + +.colorful { + background-color: #1fc8db; + background-image: linear-gradient( + 140deg, + #55e2fd, + #58b2dd 50%, + #61cece 75% + ); + border-radius: 1rem; + padding: 1rem; +} + +.btn-image { + max-width: 185px; + transition: transform 0.2s; +} + +.btn-image:hover { + transform: scale(1.05); +} + +.p-2 { + padding: 2rem; +} + +.mr-05 { + margin-right: 0.5rem; +} + +.stats { + padding: 4rem 0; + text-align: center; + text-transform: uppercase; + + strong { + font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, + Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, + Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + font-weight: 700; + margin: 0; + width: 100%; + display: block; + } +} + +footer { + // border-top: 1px solid #2c2c2c; + // color: #6b6b6b; + font-size: 0.8rem; + padding: 1rem; + + a { + color: #71a1ff; + text-decoration: none; + } +} + +.col-12 { + .card { + height: 100%; + } +} + +.card { + .card-body { + img { + margin-bottom: 2rem; + max-width: 100%; + width: 100px; + } + } +} diff --git a/docs/templates/reflectioneventing/toc.json.js b/docs/templates/reflectioneventing/toc.json.js new file mode 100644 index 0000000..31c82f1 --- /dev/null +++ b/docs/templates/reflectioneventing/toc.json.js @@ -0,0 +1,93 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +exports.transform = function (model) { + + if (model.memberLayout === 'SeparatePages') { + model = transformMemberPage(model); + } + + for (var key in model) { + if (key[0] === '_') { + delete model[key] + } + } + + return { + content: JSON.stringify(model) + }; +} + +function transformMemberPage(model) { + var groupNames = { + "constructor": { key: "constructorsInSubtitle" }, + "field": { key: "fieldsInSubtitle" }, + "property": { key: "propertiesInSubtitle" }, + "method": { key: "methodsInSubtitle" }, + "event": { key: "eventsInSubtitle" }, + "operator": { key: "operatorsInSubtitle" }, + "eii": { key: "eiisInSubtitle" }, + }; + + groupChildren(model); + transformItem(model, 1); + return model; + + function groupChildren(item) { + if (!item || !item.items || item.items.length == 0) { + return; + } + var grouped = {}; + var items = []; + item.items.forEach(function (element) { + groupChildren(element); + if (element.type) { + var type = element.isEii ? "eii" : element.type.toLowerCase(); + if (!grouped.hasOwnProperty(type)) { + if (!groupNames.hasOwnProperty(type)) { + groupNames[type] = { + name: element.type + }; + console.log(type + " is not predefined type, use its type name as display name.") + } + grouped[type] = []; + } + grouped[type].push(element); + } else { + items.push(element); + } + }, this); + + // With order defined in groupNames + for (var key in groupNames) { + if (groupNames.hasOwnProperty(key) && grouped.hasOwnProperty(key)) { + items.push({ + name: model.__global[groupNames[key].key] || groupNames[key].name, + items: grouped[key] + }) + } + } + + item.items = items; + } + + function transformItem(item, level) { + // set to null in case mustache looks up + item.topicHref = item.topicHref || null; + item.tocHref = item.tocHref || null; + item.name = item.name || null; + + item.level = level; + + if (item.items && item.items.length > 0) { + item.leaf = false; + var length = item.items.length; + for (var i = 0; i < length; i++) { + transformItem(item.items[i], level + 1); + }; + } else { + item.items = []; + item.leaf = true; + } + } +} diff --git a/docs/templates/reflectioneventing/toc.json.tmpl b/docs/templates/reflectioneventing/toc.json.tmpl new file mode 100644 index 0000000..0374940 --- /dev/null +++ b/docs/templates/reflectioneventing/toc.json.tmpl @@ -0,0 +1,3 @@ +{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}} + +{{{content}}} \ No newline at end of file diff --git a/docs/templates/tsconfig.json b/docs/templates/tsconfig.json new file mode 100644 index 0000000..a5f8309 --- /dev/null +++ b/docs/templates/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "removeComments": true, + "resolveJsonModule": true, + "esModuleInterop": true + } +} diff --git a/docs/toc.yml b/docs/toc.yml new file mode 100644 index 0000000..7eb8ddd --- /dev/null +++ b/docs/toc.yml @@ -0,0 +1,10 @@ +items: + - name: Home + href: / + - name: Documentation + href: /documentation + items: + - name: Configuration + href: documentation/configuration.md + - name: API + href: api/ diff --git a/src/ReflectionEventing.Demo.Wpf/ViewModels/ViewModel.cs b/src/ReflectionEventing.Demo.Wpf/ViewModels/ViewModel.cs index c403426..11bda4f 100644 --- a/src/ReflectionEventing.Demo.Wpf/ViewModels/ViewModel.cs +++ b/src/ReflectionEventing.Demo.Wpf/ViewModels/ViewModel.cs @@ -26,6 +26,11 @@ protected static async Task DispatchAsync(Action action, CancellationToken cance return; } + if (Application.Current is null) + { + return; + } + await Application.Current.Dispatcher.InvokeAsync(action); } } diff --git a/src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs b/src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs index 5ddf73e..47b7519 100644 --- a/src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs +++ b/src/ReflectionEventing.DependencyInjection/Configuration/QueueProcessorOptionsProvider.cs @@ -6,23 +6,26 @@ namespace ReflectionEventing.DependencyInjection.Configuration; /// -/// Provides configuration options for the event bus, specifically the tick rate. +/// Provides configuration options for the queue processor. /// -public sealed class QueueProcessorOptionsProvider(TimeSpan tickRate, TimeSpan errorTickRate) +public sealed class QueueProcessorOptionsProvider( + EventBusBuilderOptions options, + object? serviceKey = null +) { /// - /// Gets the tick rate for the event bus queue. + /// Gets the configuration options for the queue processor. /// - public TimeSpan TickRate + public EventBusBuilderOptions Value { - get => tickRate; + get => options; } /// - /// Gets the error tick rate for the event bus queue. + /// Gets the service key associated with the queue processor options. /// - public TimeSpan ErrorTickRate + public object? ServiceKey { - get => errorTickRate; + get => serviceKey; } } diff --git a/src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs b/src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs index e89d4d0..9ec3e55 100644 --- a/src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs +++ b/src/ReflectionEventing.DependencyInjection/DependencyInjectionConsumerProvider.cs @@ -12,7 +12,7 @@ public class DependencyInjectionConsumerProvider(IServiceProvider serviceProvide : IConsumerProvider { /// - public IEnumerable GetConsumers(Type consumerType) + public IEnumerable GetConsumers(Type consumerType) { if (consumerType is null) { diff --git a/src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs b/src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs new file mode 100644 index 0000000..93aef26 --- /dev/null +++ b/src/ReflectionEventing.DependencyInjection/DependencyInjectionEventBus.cs @@ -0,0 +1,31 @@ +// This Source Code Form is subject to the terms of the MIT License. +// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT. +// Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. +// All Rights Reserved. + +using ReflectionEventing.DependencyInjection.Configuration; +using ReflectionEventing.Queues; + +namespace ReflectionEventing.DependencyInjection; + +public class DependencyInjectionEventBus( + QueueProcessorOptionsProvider options, + IConsumerProvider consumerProviders, + IConsumerTypesProvider consumerTypesProvider, + IEventsQueue queue +) : EventBus(consumerProviders, consumerTypesProvider, queue) +{ + /// + public override Task PublishAsync( + TEvent eventItem, + CancellationToken cancellationToken = default + ) + { + if (!options.Value.UseEventsQueue) + { + throw new QueueException("The background queue processor is disabled."); + } + + return base.PublishAsync(eventItem, cancellationToken); + } +} diff --git a/src/ReflectionEventing.DependencyInjection/DependencyInjectionQueueProcessor.cs b/src/ReflectionEventing.DependencyInjection/DependencyInjectionQueueProcessor.cs deleted file mode 100644 index 26aa010..0000000 --- a/src/ReflectionEventing.DependencyInjection/DependencyInjectionQueueProcessor.cs +++ /dev/null @@ -1,160 +0,0 @@ -// This Source Code Form is subject to the terms of the MIT License. -// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT. -// Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. -// All Rights Reserved. - -using ReflectionEventing.DependencyInjection.Configuration; -using ReflectionEventing.Queues; - -namespace ReflectionEventing.DependencyInjection; - -public class DependencyInjectionQueueProcessor( - IEventsQueue queue, - IServiceScopeFactory scopeFactory, - QueueProcessorOptionsProvider options, - ILogger logger -) : BackgroundService -{ - private static readonly ActivitySource ActivitySource = new( - "ReflectionEventing.QueueProcessor" - ); - - private static readonly Meter Meter = new("ReflectionEventing.QueueProcessor"); - - private static readonly Counter EventsProcessed = Meter.CreateCounter( - "bus.processed" - ); - - private static readonly Counter EventsFailed = Meter.CreateCounter("bus.failed"); - - private readonly TimeSpan tickRate = options.TickRate; - - private readonly TimeSpan errorTickRate = options.ErrorTickRate; - - protected override async Task ExecuteAsync(CancellationToken cancellationToken) - { - await BackgroundProcessing(cancellationToken); - } - - protected virtual async Task BackgroundProcessing(CancellationToken cancellationToken) - { - while (!cancellationToken.IsCancellationRequested) - { - try - { - await ProcessQueueAsync(queue.GetReader(), cancellationToken); - - await Task.Delay(tickRate, cancellationToken); - } - catch (Exception e) - { - logger.LogError(e, "Error occurred during queue processing"); - - await Task.Delay(errorTickRate, cancellationToken); - } - } - } - - protected virtual async Task ProcessQueueAsync( - ChannelReader reader, - CancellationToken cancellationToken - ) - { - if (reader.Count < 1) - { - return; - } - - using Activity? activity = ActivitySource.StartActivity(ActivityKind.Consumer); - -#if NET8_0_OR_GREATER - await using AsyncServiceScope scope = scopeFactory.CreateAsyncScope(); -#else - using IServiceScope? scope = scopeFactory.CreateScope(); -#endif - - IConsumerProvider? consumerProvider = - scope.ServiceProvider.GetRequiredService(); - IConsumerTypesProvider? consumerTypesProvider = - scope.ServiceProvider.GetRequiredService(); - - await foreach (object @event in reader.ReadAllAsync(cancellationToken)) - { - await ProcessEventAsync( - @event, - consumerProvider, - consumerTypesProvider, - activity, - cancellationToken - ); - } - } - - private async Task ProcessEventAsync( - object @event, - IConsumerProvider consumerProvider, - IConsumerTypesProvider consumerTypesProvider, - Activity? activity, - CancellationToken cancellationToken - ) - { - Type eventType = @event.GetType(); - - IEnumerable consumerTypes = consumerTypesProvider.GetConsumerTypes(eventType); - - try - { - List batch = []; - - foreach (Type consumerType in consumerTypes) - { - foreach (object consumer in consumerProvider.GetConsumers(consumerType)) - { - MethodInfo? consumeMethod = consumerType.GetMethod( - "ConsumeAsync", - [@event.GetType(), typeof(CancellationToken)] - ); - - if (consumeMethod != null) - { - batch.Add( - (Task)consumeMethod.Invoke(consumer, [@event, cancellationToken]) - ); - } - else - { - logger.LogError( - new EventId(75002, "ReflectionEventingConsumerMissing"), - "ConsumeAsync method not found on consumer {ConsumerType} for event type {EventName}", - consumerType.Name, - @event.GetType().Name - ); - } - } - } - - await Task.WhenAll(batch); - - EventsProcessed.Add( - 1, - new KeyValuePair("message_type", eventType.Name) - ); - } - catch (Exception e) - { - //activity?.AddException(e); - activity?.SetStatus(ActivityStatusCode.Error); - - logger.LogError( - new EventId(75001, "ReflectionEventingQueueProcessingFailed"), - e, - "Error processing event of type {EventName}", - @event.GetType().Name - ); - - queue.EnqueueError(@event, e); - - EventsFailed.Add(1, new KeyValuePair("message_type", eventType.Name)); - } - } -} diff --git a/src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs b/src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs index b229253..384ba0e 100644 --- a/src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs +++ b/src/ReflectionEventing.DependencyInjection/EventBusBuilderExtensions.cs @@ -24,7 +24,7 @@ Type consumerType if (builder is not DependencyInjectionEventBusBuilder dependencyInjectionEventBusBuilder) { throw new InvalidOperationException( - "The event bus builder must be of type DependencyInjectionEventBusBuilder to add a transient consumer." + $"The event bus builder must be of type {nameof(DependencyInjectionEventBusBuilder)} to add a transient consumer." ); } @@ -50,7 +50,7 @@ public static EventBusBuilder AddTransientConsumer< if (builder is not DependencyInjectionEventBusBuilder dependencyInjectionEventBusBuilder) { throw new InvalidOperationException( - "The event bus builder must be of type DependencyInjectionEventBusBuilder to add a transient consumer." + $"The event bus builder must be of type {nameof(DependencyInjectionEventBusBuilder)} to add a transient consumer." ); } @@ -77,7 +77,7 @@ Type consumerType if (builder is not DependencyInjectionEventBusBuilder dependencyInjectionEventBusBuilder) { throw new InvalidOperationException( - "The event bus builder must be of type DependencyInjectionEventBusBuilder to add a scoped consumer." + $"The event bus builder must be of type {nameof(DependencyInjectionEventBusBuilder)} to add a scoped consumer." ); } @@ -100,7 +100,7 @@ public static EventBusBuilder AddScopedConsumer< if (builder is not DependencyInjectionEventBusBuilder dependencyInjectionEventBusBuilder) { throw new InvalidOperationException( - "The event bus builder must be of type DependencyInjectionEventBusBuilder to add a scoped consumer." + $"The event bus builder must be of type {nameof(DependencyInjectionEventBusBuilder)} to add a scoped consumer." ); } @@ -127,7 +127,7 @@ Type consumerType if (builder is not DependencyInjectionEventBusBuilder dependencyInjectionEventBusBuilder) { throw new InvalidOperationException( - "The event bus builder must be of type DependencyInjectionEventBusBuilder to add a singleton consumer." + $"The event bus builder must be of type {nameof(DependencyInjectionEventBusBuilder)} to add a singleton consumer." ); } @@ -153,7 +153,7 @@ public static EventBusBuilder AddSingletonConsumer< if (builder is not DependencyInjectionEventBusBuilder dependencyInjectionEventBusBuilder) { throw new InvalidOperationException( - "The event bus builder must be of type DependencyInjectionEventBusBuilder to add a singleton consumer." + $"The event bus builder must be of type {nameof(DependencyInjectionEventBusBuilder)} to add a singleton consumer." ); } @@ -180,7 +180,7 @@ public static EventBusBuilder AddConsumer< if (builder is not DependencyInjectionEventBusBuilder dependencyInjectionEventBusBuilder) { throw new InvalidOperationException( - "The event bus builder must be of type DependencyInjectionEventBusBuilder to add a transient consumer." + $"The event bus builder must be of type {nameof(DependencyInjectionEventBusBuilder)} to add a transient consumer." ); } diff --git a/src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs b/src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs index 6bde604..0176623 100644 --- a/src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs +++ b/src/ReflectionEventing.DependencyInjection/ServiceCollectionExtensions.cs @@ -4,6 +4,7 @@ // All Rights Reserved. using ReflectionEventing.DependencyInjection.Configuration; +using ReflectionEventing.DependencyInjection.Services; using ReflectionEventing.Queues; namespace ReflectionEventing.DependencyInjection; @@ -40,7 +41,14 @@ public static IServiceCollection AddEventBus( _ = services.AddKeyedScoped( serviceKey ); - _ = services.AddKeyedScoped(serviceKey); + _ = services.AddKeyedScoped(serviceKey); + + _ = services.AddSingleton(new QueueProcessorOptionsProvider(builder.Options, serviceKey)); + + if (builder.Options.UseEventsQueue) + { + _ = services.AddHostedService(); + } return services; } @@ -68,15 +76,14 @@ Action configure _ = services.AddSingleton(builder.BuildTypesProvider()); _ = services.AddSingleton(); _ = services.AddScoped(); - _ = services.AddScoped(); + _ = services.AddScoped(); - _ = services.AddSingleton( - new QueueProcessorOptionsProvider( - builder.Options.QueueTickRate, - builder.Options.ErrorTickRate - ) - ); - _ = services.AddHostedService(); + _ = services.AddSingleton(new QueueProcessorOptionsProvider(builder.Options)); + + if (builder.Options.UseEventsQueue) + { + _ = services.AddHostedService(); + } return services; } diff --git a/src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs b/src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs new file mode 100644 index 0000000..390ac4b --- /dev/null +++ b/src/ReflectionEventing.DependencyInjection/Services/DependencyInjectionQueueProcessor.cs @@ -0,0 +1,173 @@ +// This Source Code Form is subject to the terms of the MIT License. +// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT. +// Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. +// All Rights Reserved. + +using ReflectionEventing.DependencyInjection.Configuration; +using ReflectionEventing.Queues; + +namespace ReflectionEventing.DependencyInjection.Services; + +public class DependencyInjectionQueueProcessor( + IEventsQueue queue, + IServiceScopeFactory scopeFactory, + QueueProcessorOptionsProvider options, + ILogger logger +) : BackgroundService +{ + private static readonly ActivitySource ActivitySource = new( + "ReflectionEventing.QueueProcessor" + ); + + private static readonly Meter Meter = new("ReflectionEventing.QueueProcessor"); + + private static readonly Counter EventsProcessed = Meter.CreateCounter( + "bus.processed" + ); + + private static readonly Counter EventsFailed = Meter.CreateCounter("bus.failed"); + + private readonly TimeSpan tickRate = options.Value.QueueTickRate; + + private readonly TimeSpan errorTickRate = options.Value.ErrorTickRate; + + protected override async Task ExecuteAsync(CancellationToken cancellationToken) + { + await BackgroundProcessing(cancellationToken); + } + + protected virtual async Task BackgroundProcessing(CancellationToken cancellationToken) + { + while (!cancellationToken.IsCancellationRequested) + { + try + { + await ProcessQueueAsync(cancellationToken); + + await Task.Delay(tickRate, cancellationToken); + } + catch (Exception e) + { + logger.LogError(e, "Error occurred during queue processing"); + + await Task.Delay(errorTickRate, cancellationToken); + } + } + } + + protected virtual async Task ProcessQueueAsync(CancellationToken cancellationToken) + { + using Activity? activity = ActivitySource.StartActivity(ActivityKind.Consumer); + +#if NET8_0_OR_GREATER + await using AsyncServiceScope scope = scopeFactory.CreateAsyncScope(); +#else + using IServiceScope? scope = scopeFactory.CreateScope(); +#endif + +#if NET8_0_OR_GREATER + IConsumerProvider consumerProvider = options.ServiceKey is null + ? scope.ServiceProvider.GetRequiredService() + : scope.ServiceProvider.GetRequiredKeyedService(options.ServiceKey); + IConsumerTypesProvider consumerTypesProvider = options.ServiceKey is null + ? scope.ServiceProvider.GetRequiredService() + : scope.ServiceProvider.GetRequiredKeyedService( + options.ServiceKey + ); +#else + IConsumerProvider consumerProvider = + scope.ServiceProvider.GetRequiredService(); + IConsumerTypesProvider consumerTypesProvider = + scope.ServiceProvider.GetRequiredService(); +#endif + + await foreach (object @event in queue.ReadEventsAsync(cancellationToken)) + { + await ProcessEventAsync( + @event, + consumerProvider, + consumerTypesProvider, + activity, + cancellationToken + ); + } + } + + private async Task ProcessEventAsync( + object @event, + IConsumerProvider consumerProvider, + IConsumerTypesProvider consumerTypesProvider, + Activity? activity, + CancellationToken cancellationToken + ) + { + Type eventType = @event.GetType(); + + IEnumerable consumerTypes = consumerTypesProvider.GetConsumerTypes(eventType); + + foreach (Type consumerType in consumerTypes) + { + foreach (object? consumer in consumerProvider.GetConsumers(consumerType)) + { + if (consumer is null) + { + return; + } + + MethodInfo? consumeMethod = consumerType.GetMethod( + "ConsumeAsync", + [@event.GetType(), typeof(CancellationToken)] + ); + + if (consumeMethod != null) + { + try + { + await (Task)consumeMethod.Invoke(consumer, [@event, cancellationToken])!; + } + catch (Exception e) + { + //activity?.AddException(e); + activity?.SetStatus(ActivityStatusCode.Error); + + logger.LogError( + new EventId(75001, "ReflectionEventingQueueProcessingFailed"), + e, + "Error processing event of type {EventName}", + @event.GetType().Name + ); + + if (options.Value.UseErrorQueue) + { + queue.EnqueueError( + new FailedEvent + { + Data = @event, + Exception = e, + Timestamp = DateTimeOffset.UtcNow, + FailedConsumer = consumerType, + } + ); + } + + EventsFailed.Add( + 1, + new KeyValuePair("message_type", eventType.Name) + ); + } + } + else + { + logger.LogError( + new EventId(75002, "ReflectionEventingConsumerMissing"), + "ConsumeAsync method not found on consumer {ConsumerType} for event type {EventName}", + consumerType.Name, + @event.GetType().Name + ); + } + } + } + + EventsProcessed.Add(1, new KeyValuePair("message_type", eventType.Name)); + } +} diff --git a/src/ReflectionEventing/EventBus.cs b/src/ReflectionEventing/EventBus.cs index 5c62f7d..edbdc58 100644 --- a/src/ReflectionEventing/EventBus.cs +++ b/src/ReflectionEventing/EventBus.cs @@ -30,19 +30,24 @@ IEventsQueue queue ); /// - public async Task SendAsync( + public virtual async Task SendAsync( TEvent eventItem, CancellationToken cancellationToken = default ) where TEvent : class { + if (eventItem is null) + { + throw new ArgumentNullException(nameof(eventItem)); + } + using Activity? activity = ActivitySource.StartActivity(ActivityKind.Producer); activity?.AddTag("co.lepo.reflection.eventing.message", typeof(TEvent).Name); if (eventItem is null) { - throw new ArgumentNullException(nameof(eventItem)); + throw new EventBusException(nameof(eventItem)); } Type eventType = typeof(TEvent); @@ -51,8 +56,13 @@ public async Task SendAsync( foreach (Type consumerType in consumerTypes) { - foreach (object consumer in consumerProviders.GetConsumers(consumerType)) + foreach (object? consumer in consumerProviders.GetConsumers(consumerType)) { + if (consumer is null) + { + return; + } + tasks.Add(((IConsumer)consumer).ConsumeAsync(eventItem, cancellationToken)); } } @@ -63,7 +73,7 @@ public async Task SendAsync( } /// - public async Task PublishAsync( + public virtual async Task PublishAsync( TEvent eventItem, CancellationToken cancellationToken = default ) diff --git a/src/ReflectionEventing/EventBusBuilderOptions.cs b/src/ReflectionEventing/EventBusBuilderOptions.cs index 65d47dd..584e77a 100644 --- a/src/ReflectionEventing/EventBusBuilderOptions.cs +++ b/src/ReflectionEventing/EventBusBuilderOptions.cs @@ -13,12 +13,28 @@ public class EventBusBuilderOptions { /// /// Gets or sets a value indicating whether the event bus should use event polymorphism. - /// If set to true, the event bus will deliver events to consumers that handle the event type or any of its base types. - /// If set to false, the event bus will only deliver events to consumers that handle the exact event type. - /// The default value is false. + /// If set to , the event bus will deliver events to consumers that handle the event type or any of its base types. + /// If set to , the event bus will only deliver events to consumers that handle the exact event type. + /// The default value is . /// public bool UseEventPolymorphism { get; set; } = false; + /// + /// Gets or sets a value indicating whether the event bus should use a background events queue. + /// If set to , the event bus will use a background queue to process events. + /// If set to , the event bus will process events immediately without using a background queue. + /// The default value is . + /// + public bool UseEventsQueue { get; set; } = true; + + /// + /// Gets or sets a value indicating whether the event bus should use an error queue. + /// If set to , the event bus will use an error queue to handle events that fail processing. + /// If set to , the event bus will not use an error queue. + /// The default value is . + /// + public bool UseErrorQueue { get; set; } = false; + /// /// Gets or sets the rate at which the event queue is processed. /// The default value is 20ms. diff --git a/src/ReflectionEventing/EventBusException.cs b/src/ReflectionEventing/EventBusException.cs new file mode 100644 index 0000000..c7cf3b2 --- /dev/null +++ b/src/ReflectionEventing/EventBusException.cs @@ -0,0 +1,11 @@ +// This Source Code Form is subject to the terms of the MIT License. +// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT. +// Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. +// All Rights Reserved. + +namespace ReflectionEventing; + +/// +/// Represents an exception that occurs within the event bus. +/// +public class EventBusException(string message) : Exception(message); diff --git a/src/ReflectionEventing/IConsumerProvider.cs b/src/ReflectionEventing/IConsumerProvider.cs index 37fdbcb..6a1431a 100644 --- a/src/ReflectionEventing/IConsumerProvider.cs +++ b/src/ReflectionEventing/IConsumerProvider.cs @@ -25,5 +25,5 @@ public interface IConsumerProvider /// IEnumerable<object> consumerTypes = consumerProvider.GetConsumers(consumerType); /// /// - IEnumerable GetConsumers(Type consumerType); + IEnumerable GetConsumers(Type consumerType); } diff --git a/src/ReflectionEventing/Queues/EventsQueue.cs b/src/ReflectionEventing/Queues/EventsQueue.cs index a511fb6..d6ff1ca 100644 --- a/src/ReflectionEventing/Queues/EventsQueue.cs +++ b/src/ReflectionEventing/Queues/EventsQueue.cs @@ -22,19 +22,19 @@ public virtual async Task EnqueueAsync( } /// - public ChannelReader GetReader() + public IAsyncEnumerable ReadEventsAsync(CancellationToken cancellationToken) { - return events.Reader; + return events.Reader.ReadAllAsync(cancellationToken); } /// - public void EnqueueError(object @event, Exception exception) + public void EnqueueError(FailedEvent fail) { - errorQueue.Enqueue(new FailedEvent { Data = @event, Exception = exception }); + errorQueue.Enqueue(fail); } /// - public IEnumerable GetErrorQueue() + public IEnumerable GetErrors() { return errorQueue; } diff --git a/src/ReflectionEventing/Queues/FailedEvent.cs b/src/ReflectionEventing/Queues/FailedEvent.cs index 64ce27e..c661f7c 100644 --- a/src/ReflectionEventing/Queues/FailedEvent.cs +++ b/src/ReflectionEventing/Queues/FailedEvent.cs @@ -5,9 +5,28 @@ namespace ReflectionEventing.Queues; +/// +/// Represents an event that failed processing, including the event data, the exception that occurred, the consumer that failed, and the timestamp of the failure. +/// public sealed record FailedEvent { + /// + /// Gets the data of the event that failed processing. + /// public required object Data { get; init; } + /// + /// Gets the exception that occurred during processing. + /// public required Exception Exception { get; init; } + + /// + /// Gets the type of the consumer that failed to process the event. + /// + public required Type FailedConsumer { get; init; } + + /// + /// Gets the timestamp of when the failure occurred. + /// + public required DateTimeOffset Timestamp { get; init; } } diff --git a/src/ReflectionEventing/Queues/IEventsQueue.cs b/src/ReflectionEventing/Queues/IEventsQueue.cs index 382f726..470513a 100644 --- a/src/ReflectionEventing/Queues/IEventsQueue.cs +++ b/src/ReflectionEventing/Queues/IEventsQueue.cs @@ -20,21 +20,21 @@ Task EnqueueAsync(TEvent @event, CancellationToken cancellationToken = d where TEvent : class; /// - /// Appends an event that failed processing to the error queue. + /// Appends a failed event to the error queue. /// - /// The event that failed processing. - /// The exception that occurred during processing. - void EnqueueError(object @event, Exception exception); + /// The failed event to append to the error queue. + void EnqueueError(FailedEvent fail); /// - /// Gets a reader for the event queue. + /// Reads the events from the queue asynchronously. /// - /// A that can be used to read events from the queue. - ChannelReader GetReader(); + /// A token to monitor for cancellation requests. + /// An of events from the queue. + IAsyncEnumerable ReadEventsAsync(CancellationToken cancellationToken); /// /// Gets the events that failed processing from the error queue. /// /// An of events that failed processing. - IEnumerable GetErrorQueue(); + IEnumerable GetErrors(); } diff --git a/src/ReflectionEventing/Queues/QueueException.cs b/src/ReflectionEventing/Queues/QueueException.cs new file mode 100644 index 0000000..5462c36 --- /dev/null +++ b/src/ReflectionEventing/Queues/QueueException.cs @@ -0,0 +1,11 @@ +// This Source Code Form is subject to the terms of the MIT License. +// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT. +// Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. +// All Rights Reserved. + +namespace ReflectionEventing.Queues; + +/// +/// Represents an exception that occurs during queue operations. +/// +public class QueueException(string message) : EventBusException(message); diff --git a/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionConsumerProviderTests.cs b/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionConsumerProviderTests.cs index 1e453c3..13d2112 100644 --- a/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionConsumerProviderTests.cs +++ b/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionConsumerProviderTests.cs @@ -3,8 +3,6 @@ // Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. // All Rights Reserved. -using Microsoft.Extensions.DependencyInjection; - namespace ReflectionEventing.DependencyInjection.UnitTests; public sealed class DependencyInjectionConsumerProviderTests @@ -30,7 +28,7 @@ public void GetConsumerTypes_ShouldReturnServicesOfConsumerType() _ = services.AddSingleton(); DependencyInjectionConsumerProvider consumerProvider = new(services.BuildServiceProvider()); - IEnumerable actualConsumers = consumerProvider.GetConsumers(typeof(TestConsumer)); + IEnumerable actualConsumers = consumerProvider.GetConsumers(typeof(TestConsumer)); _ = actualConsumers.Should().HaveCount(2); } diff --git a/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionEventBusBuilderTests.cs b/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionEventBusBuilderTests.cs index 8bc0497..2ce0fc7 100644 --- a/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionEventBusBuilderTests.cs +++ b/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionEventBusBuilderTests.cs @@ -3,8 +3,6 @@ // Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. // All Rights Reserved. -using Microsoft.Extensions.DependencyInjection; - namespace ReflectionEventing.DependencyInjection.UnitTests; public sealed class DependencyInjectionEventBusBuilderTests diff --git a/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionQueueProcessorTests.cs b/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionQueueProcessorTests.cs index 29b782e..597df05 100644 --- a/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionQueueProcessorTests.cs +++ b/tests/ReflectionEventing.DependencyInjection.UnitTests/DependencyInjectionQueueProcessorTests.cs @@ -3,6 +3,8 @@ // Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. // All Rights Reserved. +using ReflectionEventing.Queues; + namespace ReflectionEventing.DependencyInjection.UnitTests; public sealed class DependencyInjectionQueueProcessorTests @@ -43,6 +45,38 @@ public async Task PublishAsync_ShouldNotSendEventsToWrongCustomers() await host.StopAsync(); } + [Fact] + public async Task PublishAsync_ThrowsExceptionWhenQueueIsDisabled() + { + using IHost host = Host.CreateDefaultBuilder() + .ConfigureServices( + (_, services) => + { + services.AddEventBus(builder => + { + builder.Options.QueueTickRate = TimeSpan.FromTicks(10_000); + builder.Options.ErrorTickRate = TimeSpan.FromTicks(10_000); + builder.Options.UseEventPolymorphism = true; + builder.Options.UseEventsQueue = false; + + builder.AddSingletonConsumer(); + }); + } + ) + .Build(); + + await host.StartAsync(); + + IEventBus bus = host.Services.GetRequiredService(); + + Func action = () => bus.PublishAsync(new OtherEvent()); + + await action + .Should() + .ThrowAsync() + .WithMessage("The background queue processor is disabled."); + } + [Fact] public async Task PublishAsync_ShouldSendOnlyOneEvent() { @@ -117,6 +151,78 @@ public async Task PublishAsync_ShouldProperlyAddEventsToQueue() await host.StopAsync(); } + [Fact] + public async Task PublishAsync_SwallowsConsumerException() + { + using IHost host = Host.CreateDefaultBuilder() + .ConfigureServices( + (_, services) => + { + services.AddEventBus(builder => + { + builder.Options.QueueTickRate = TimeSpan.FromTicks(10_000); + builder.Options.ErrorTickRate = TimeSpan.FromTicks(10_000); + builder.Options.UseEventPolymorphism = true; + + builder.AddSingletonConsumer(); + }); + } + ) + .Build(); + + await host.StartAsync(); + + IEventBus bus = host.Services.GetRequiredService(); + + await bus.PublishAsync(new TestEvent()); + + await Task.Delay(TimeSpan.FromSeconds(1)); + + IEventsQueue queue = host.Services.GetRequiredService(); + IEnumerable errors = queue.GetErrors(); + + errors.Should().HaveCount(0); + + await host.StopAsync(); + } + + [Fact] + public async Task PublishAsync_MovesToErrorQueue() + { + using IHost host = Host.CreateDefaultBuilder() + .ConfigureServices( + (_, services) => + { + services.AddEventBus(builder => + { + builder.Options.QueueTickRate = TimeSpan.FromTicks(10_000); + builder.Options.ErrorTickRate = TimeSpan.FromTicks(10_000); + builder.Options.UseEventPolymorphism = true; + builder.Options.UseErrorQueue = true; + + builder.AddSingletonConsumer(); + }); + } + ) + .Build(); + + await host.StartAsync(); + + IEventBus bus = host.Services.GetRequiredService(); + + await bus.PublishAsync(new TestEvent()); + + await Task.Delay(TimeSpan.FromSeconds(1)); + + IEventsQueue queue = host.Services.GetRequiredService(); + FailedEvent[] errors = queue.GetErrors().ToArray(); + + errors.Should().HaveCount(1); + errors.First().Data.Should().BeOfType(); + + await host.StopAsync(); + } + public record TestEvent; public record OtherEvent; diff --git a/tests/ReflectionEventing.DependencyInjection.UnitTests/EventBusBuilderExtensionsTests.cs b/tests/ReflectionEventing.DependencyInjection.UnitTests/EventBusBuilderExtensionsTests.cs index e917750..fb41614 100644 --- a/tests/ReflectionEventing.DependencyInjection.UnitTests/EventBusBuilderExtensionsTests.cs +++ b/tests/ReflectionEventing.DependencyInjection.UnitTests/EventBusBuilderExtensionsTests.cs @@ -3,8 +3,6 @@ // Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. // All Rights Reserved. -using Microsoft.Extensions.DependencyInjection; - namespace ReflectionEventing.DependencyInjection.UnitTests; public sealed class EventBusBuilderExtensionsTests diff --git a/tests/ReflectionEventing.DependencyInjection.UnitTests/ServiceCollectionExtensionsTests.cs b/tests/ReflectionEventing.DependencyInjection.UnitTests/ServiceCollectionExtensionsTests.cs index 1124676..f2ea6a5 100644 --- a/tests/ReflectionEventing.DependencyInjection.UnitTests/ServiceCollectionExtensionsTests.cs +++ b/tests/ReflectionEventing.DependencyInjection.UnitTests/ServiceCollectionExtensionsTests.cs @@ -3,8 +3,6 @@ // Copyright (C) Leszek Pomianowski and ReflectionEventing Contributors. // All Rights Reserved. -using Microsoft.Extensions.DependencyInjection; - namespace ReflectionEventing.DependencyInjection.UnitTests; public sealed class ServiceCollectionExtensionsTests @@ -12,7 +10,7 @@ public sealed class ServiceCollectionExtensionsTests [Fact] public void AddEventBus_RegistersServicesAndAddsConsumer() { - ServiceCollection services = new(); + ServiceCollection services = []; _ = services.AddScoped(); _ = services.AddEventBus(builder => @@ -33,7 +31,7 @@ public void AddEventBus_RegistersServicesAndAddsConsumer() IEventBus? eventBus = serviceProvider.GetService(); _ = eventBus.Should().NotBeNull(); - _ = eventBus.Should().BeOfType(); + _ = eventBus.Should().BeOfType(); IEnumerable consumers = consumerTypesProvider!.GetConsumerTypes(); _ = consumers.First().Should().Be(typeof(TestConsumer));