From 84501011c856b92f9bb7834008dc03b864bfb1dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sun, 22 Feb 2026 16:34:40 -0300 Subject: [PATCH 01/10] test: add angular required input reproduction --- packages/angular-pacer/package.json | 4 + .../tests/queuer/injectQueuedValue.spec.ts | 38 ++++ packages/angular-pacer/tests/test-setup.ts | 5 + packages/angular-pacer/tsconfig.base.json | 3 + packages/angular-pacer/tsconfig.json | 11 +- packages/angular-pacer/tsconfig.lib.json | 5 + packages/angular-pacer/tsconfig.spec.json | 11 ++ packages/angular-pacer/tsdown.config.ts | 1 + packages/angular-pacer/vitest.config.ts | 5 +- pnpm-lock.yaml | 169 ++++++++++++++++++ 10 files changed, 245 insertions(+), 7 deletions(-) create mode 100644 packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts create mode 100644 packages/angular-pacer/tests/test-setup.ts create mode 100644 packages/angular-pacer/tsconfig.base.json create mode 100644 packages/angular-pacer/tsconfig.lib.json create mode 100644 packages/angular-pacer/tsconfig.spec.json diff --git a/packages/angular-pacer/package.json b/packages/angular-pacer/package.json index 3c8a443d9..f5f8d5222 100644 --- a/packages/angular-pacer/package.json +++ b/packages/angular-pacer/package.json @@ -112,7 +112,11 @@ "@tanstack/pacer": "workspace:*" }, "devDependencies": { + "@analogjs/vite-plugin-angular": "^2.2.3", + "@analogjs/vitest-angular": "^2.2.3", + "@angular/compiler": "^21.2.12", "@angular/core": "^21.2.12", + "jsdom": "^28.1.0", "@types/node": "^25.7.0" }, "peerDependencies": { diff --git a/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts b/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts new file mode 100644 index 000000000..a998396d0 --- /dev/null +++ b/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts @@ -0,0 +1,38 @@ +import { Component, input } from '@angular/core' +import { TestBed } from '@angular/core/testing' +import { injectQueuedValue } from '../../src/queuer/injectQueuedValue' + +describe('injectQueuedValue', () => { + describe("with input signals", () => { + @Component({ + selector: 'pacer-test-child', + standalone: true, + template: '', + }) + class ChildComponent { + readonly value = input.required() + readonly queued = injectQueuedValue(this.value, { wait: 0 }) + } + + @Component({ + selector: 'pacer-test-host', + standalone: true, + imports: [ChildComponent], + template: '', + }) + class HostComponent { } + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [HostComponent], + }).compileComponents() + }) + + it('does not throw when used with input.required() during component initialization', () => { + expect(() => { + const fixture = TestBed.createComponent(HostComponent) + fixture.detectChanges() + }).not.toThrow() + }) + }) +}) \ No newline at end of file diff --git a/packages/angular-pacer/tests/test-setup.ts b/packages/angular-pacer/tests/test-setup.ts new file mode 100644 index 000000000..046722c7f --- /dev/null +++ b/packages/angular-pacer/tests/test-setup.ts @@ -0,0 +1,5 @@ +import '@angular/compiler' +import '@analogjs/vitest-angular/setup-snapshots' +import { setupTestBed } from '@analogjs/vitest-angular/setup-testbed' + +setupTestBed() diff --git a/packages/angular-pacer/tsconfig.base.json b/packages/angular-pacer/tsconfig.base.json new file mode 100644 index 000000000..4082f16a5 --- /dev/null +++ b/packages/angular-pacer/tsconfig.base.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/angular-pacer/tsconfig.json b/packages/angular-pacer/tsconfig.json index 66baec5ea..b64539f8d 100644 --- a/packages/angular-pacer/tsconfig.json +++ b/packages/angular-pacer/tsconfig.json @@ -1,8 +1,7 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "jsx": "preserve" - }, - "include": ["src", "vitest.config.ts", "tests"], - "exclude": ["eslint.config.js"] + "files": [], + "references": [ + { "path": "./tsconfig.lib.json" }, + { "path": "./tsconfig.spec.json" } + ] } diff --git a/packages/angular-pacer/tsconfig.lib.json b/packages/angular-pacer/tsconfig.lib.json new file mode 100644 index 000000000..19aa5520e --- /dev/null +++ b/packages/angular-pacer/tsconfig.lib.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.base.json", + "include": ["src", "vitest.config.ts"], + "exclude": ["eslint.config.js", "tests"] +} diff --git a/packages/angular-pacer/tsconfig.spec.json b/packages/angular-pacer/tsconfig.spec.json new file mode 100644 index 000000000..07715c859 --- /dev/null +++ b/packages/angular-pacer/tsconfig.spec.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "noEmit": false, + "target": "ES2022", + "types": ["vitest/globals", "node"] + }, + "files": ["tests/test-setup.ts"], + "include": ["tests/**/*.spec.ts", "tests/**/*.d.ts"], + "references": [{ "path": "./tsconfig.lib.json" }] +} diff --git a/packages/angular-pacer/tsdown.config.ts b/packages/angular-pacer/tsdown.config.ts index 24dd8a5c6..bbd20035a 100644 --- a/packages/angular-pacer/tsdown.config.ts +++ b/packages/angular-pacer/tsdown.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'tsdown' export default defineConfig({ + tsconfig: './tsconfig.lib.json', entry: [ './src/index.ts', './src/async-batcher/index.ts', diff --git a/packages/angular-pacer/vitest.config.ts b/packages/angular-pacer/vitest.config.ts index 514aa720b..3d33b308a 100644 --- a/packages/angular-pacer/vitest.config.ts +++ b/packages/angular-pacer/vitest.config.ts @@ -1,12 +1,15 @@ import { defineConfig } from 'vitest/config' +import angular from '@analogjs/vite-plugin-angular' import packageJson from './package.json' with { type: 'json' } export default defineConfig({ + plugins: [angular()], test: { name: packageJson.name, dir: './tests', watch: false, - environment: 'happy-dom', + environment: 'jsdom', globals: true, + setupFiles: ['./tests/test-setup.ts'], }, }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 798c7aa07..896a6ee3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4328,12 +4328,24 @@ importers: specifier: workspace:* version: link:../pacer devDependencies: + '@analogjs/vite-plugin-angular': + specifier: ^2.2.3 + version: 2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)) + '@analogjs/vitest-angular': + specifier: ^2.2.3 + version: 2.2.3(@analogjs/vite-plugin-angular@2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0))) + '@angular/compiler': + specifier: ^21.2.12 + version: 21.2.15 '@angular/core': specifier: ^21.2.12 version: 21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2) '@types/node': specifier: ^25.7.0 version: 25.7.0 + jsdom: + specifier: ^28.1.0 + version: 28.1.0 packages/pacer: dependencies: @@ -4536,6 +4548,9 @@ importers: packages: + '@acemir/cssom@0.9.31': + resolution: {integrity: sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==} + '@adobe/css-tools@4.4.4': resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} @@ -4599,6 +4614,24 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@analogjs/vite-plugin-angular@2.2.3': + resolution: {integrity: sha512-OqVfiJsaHdHMxzvK0heVvp8MenSXh+xib6/p+v3d44kJ3J7ooD4gRx/jKC350zkgRKwcZc3a0ybGUnG6LEF7mg==} + peerDependencies: + '@angular-devkit/build-angular': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 + '@angular/build': ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 + peerDependenciesMeta: + '@angular-devkit/build-angular': + optional: true + '@angular/build': + optional: true + + '@analogjs/vitest-angular@2.2.3': + resolution: {integrity: sha512-514A8RqT4sQnWj/3pHnoGrvDLYjcUTWL3d00GCQ4MVRUpisUg2R8tC/PZ/3ZARK5SskIwy5LwPEg4RFX0iOSug==} + peerDependencies: + '@analogjs/vite-plugin-angular': '*' + '@angular-devkit/architect': '>=0.1500.0 < 0.2200.0' + vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 || ^4.0.0 + '@angular-devkit/architect@0.2102.13': resolution: {integrity: sha512-fheyi0gPx6b7tT+WQ+ePlzdGqKjPLUK72wg5Z9pkVtQ5+VN/8yB9mlRlmoivngd2FeNG9wMeNynWZGYycnOWVw==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -4736,6 +4769,9 @@ packages: resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + '@asamuzakjp/dom-selector@6.8.1': + resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==} + '@asamuzakjp/dom-selector@7.1.1': resolution: {integrity: sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -7075,6 +7111,9 @@ packages: peerDependencies: preact: '>=10 || ^10.0.0-alpha.0 || ^10.0.0-beta.0' + '@ts-morph/common@0.22.0': + resolution: {integrity: sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==} + '@tufjs/canonical-json@2.0.0': resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} engines: {node: ^16.14.0 || >=18.0.0} @@ -7726,6 +7765,9 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + code-block-writer@12.0.0: + resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -7798,6 +7840,10 @@ packages: css.escape@1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + cssstyle@6.2.0: + resolution: {integrity: sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==} + engines: {node: '>=20'} + csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -8737,6 +8783,15 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + jsdom@28.1.0: + resolution: {integrity: sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + canvas: ^3.0.0 + peerDependenciesMeta: + canvas: + optional: true + jsdom@29.1.1: resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} @@ -9056,6 +9111,11 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -9317,6 +9377,9 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -9978,6 +10041,9 @@ packages: peerDependencies: typescript: '>=4.0.0' + ts-morph@21.0.1: + resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==} + ts-pattern@5.9.0: resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} @@ -10466,6 +10532,8 @@ packages: snapshots: + '@acemir/cssom@0.9.31': {} + '@adobe/css-tools@4.4.4': {} '@algolia/abtesting@1.14.1': @@ -10557,6 +10625,18 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 + '@analogjs/vite-plugin-angular@2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))': + dependencies: + ts-morph: 21.0.1 + optionalDependencies: + '@angular/build': 21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0) + + '@analogjs/vitest-angular@2.2.3(@analogjs/vite-plugin-angular@2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))': + dependencies: + '@analogjs/vite-plugin-angular': 2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)) + '@angular-devkit/architect': 0.2102.13(chokidar@5.0.0) + vitest: 4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) + '@angular-devkit/architect@0.2102.13(chokidar@5.0.0)': dependencies: '@angular-devkit/core': 21.2.13(chokidar@5.0.0) @@ -10729,6 +10809,14 @@ snapshots: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 + '@asamuzakjp/dom-selector@6.8.1': + dependencies: + '@asamuzakjp/nwsapi': 2.3.9 + bidi-js: 1.0.3 + css-tree: 3.2.1 + is-potential-custom-element-name: 1.0.1 + lru-cache: 11.3.5 + '@asamuzakjp/dom-selector@7.1.1': dependencies: '@asamuzakjp/generational-cache': 1.0.1 @@ -12740,6 +12828,13 @@ snapshots: '@testing-library/dom': 8.20.1 preact: 10.29.2 + '@ts-morph/common@0.22.0': + dependencies: + fast-glob: 3.3.3 + minimatch: 9.0.9 + mkdirp: 3.0.1 + path-browserify: 1.0.1 + '@tufjs/canonical-json@2.0.0': {} '@tufjs/models@4.1.0': @@ -13428,6 +13523,8 @@ snapshots: clsx@2.1.1: {} + code-block-writer@12.0.0: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -13494,6 +13591,13 @@ snapshots: css.escape@1.5.1: {} + cssstyle@6.2.0: + dependencies: + '@asamuzakjp/css-color': 5.1.11 + '@csstools/css-syntax-patches-for-csstree': 1.1.3(css-tree@3.2.1) + css-tree: 3.2.1 + lru-cache: 11.3.5 + csstype@3.2.3: {} data-urls@7.0.0: @@ -14565,6 +14669,33 @@ snapshots: dependencies: argparse: 2.0.1 + jsdom@28.1.0: + dependencies: + '@acemir/cssom': 0.9.31 + '@asamuzakjp/dom-selector': 6.8.1 + '@bramus/specificity': 2.4.2 + '@exodus/bytes': 1.15.0 + cssstyle: 6.2.0 + data-urls: 7.0.0 + decimal.js: 10.6.0 + html-encoding-sniffer: 6.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-potential-custom-element-name: 1.0.1 + parse5: 8.0.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 6.0.1 + undici: 7.25.0 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 8.0.1 + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - '@noble/hashes' + - supports-color + jsdom@29.1.1: dependencies: '@asamuzakjp/css-color': 5.1.11 @@ -14889,6 +15020,8 @@ snapshots: dependencies: minipass: 7.1.3 + mkdirp@3.0.1: {} + mri@1.2.0: {} mrmime@2.0.1: {} @@ -15355,6 +15488,8 @@ snapshots: parseurl@1.3.3: {} + path-browserify@1.0.1: {} + path-exists@4.0.0: {} path-key@3.1.1: {} @@ -16061,6 +16196,11 @@ snapshots: picomatch: 4.0.4 typescript: 6.0.3 + ts-morph@21.0.1: + dependencies: + '@ts-morph/common': 0.22.0 + code-block-writer: 12.0.0 + ts-pattern@5.9.0: {} tsconfig-paths@4.2.0: @@ -16269,6 +16409,35 @@ snapshots: optionalDependencies: vite: 8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0) + vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.7 + '@vitest/mocker': 4.1.7(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.7 + '@vitest/runner': 4.1.7 + '@vitest/snapshot': 4.1.7 + '@vitest/spy': 4.1.7 + '@vitest/utils': 4.1.7 + es-module-lexer: 2.0.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.0.0 + tinybench: 2.9.0 + tinyexec: 1.1.2 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: 8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 25.7.0 + happy-dom: 20.9.0 + jsdom: 28.1.0 + transitivePeerDependencies: + - msw + vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.7 From e92f072d02291064c74d0d11a6b02ab2fb8bc5c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sun, 22 Feb 2026 17:11:45 -0300 Subject: [PATCH 02/10] fix: call value inside linked signal --- packages/angular-pacer/src/queuer/injectQueuedValue.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/angular-pacer/src/queuer/injectQueuedValue.ts b/packages/angular-pacer/src/queuer/injectQueuedValue.ts index 9eff79c03..7fffdc7f6 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedValue.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedValue.ts @@ -69,10 +69,6 @@ export function injectQueuedValue< const hasInitialValue = (initialOptionsOrSelector !== undefined && !hasSelector) || maybeSelector !== undefined - - const initialValue = hasInitialValue - ? (initialValueOrOptions as TValue) - : value() const initialOptions = hasInitialValue ? (initialOptionsOrSelector as QueuerOptions) : (initialValueOrOptions as QueuerOptions) @@ -83,7 +79,11 @@ export function injectQueuedValue< | undefined) const linkedValue = linkedSignal(() => value()) - const queuedValue = signal(initialValue) + const queuedValue = linkedSignal(() => { + return hasInitialValue + ? (initialValueOrOptions as TValue) + : untracked(value) + }) const queued = injectQueuedSignal( (item) => { From 3e7f8aae522278c1f7e3bc8ca2aed0430813c6eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sun, 22 Feb 2026 17:25:56 -0300 Subject: [PATCH 03/10] fix: align angular queued value api --- .../injectQueuedValue/src/app/app.html | 2 +- .../angular/injectQueuedValue/src/app/app.ts | 2 +- .../injectQueuedValue/src/app/inputapp.ts | 2 +- .../src/queuer/injectQueuedValue.ts | 28 ++++++--- .../tests/queuer/injectQueuedValue.spec.ts | 62 ++++++++++++++++++- 5 files changed, 80 insertions(+), 16 deletions(-) diff --git a/examples/angular/injectQueuedValue/src/app/app.html b/examples/angular/injectQueuedValue/src/app/app.html index ad483d978..b445f9c8f 100644 --- a/examples/angular/injectQueuedValue/src/app/app.html +++ b/examples/angular/injectQueuedValue/src/app/app.html @@ -4,7 +4,7 @@

injectQueuedValue

Source (instant): {{ source() }}

Value (queued): {{ queued() }}

-

Queue length: {{ queued().length }}

+

Queue length: {{ queued.queuer.state().items.length }}

diff --git a/examples/angular/injectQueuedValue/src/app/app.ts b/examples/angular/injectQueuedValue/src/app/app.ts index c1e04c46d..7c48b6979 100644 --- a/examples/angular/injectQueuedValue/src/app/app.ts +++ b/examples/angular/injectQueuedValue/src/app/app.ts @@ -12,7 +12,7 @@ export class App { protected readonly source = signal('') // A queued value: changes are applied in-order, with an optional delay between items. - // `value()` is the current processed value, and `items()` exposes the pending queue. + // `queued()` is the current processed value, and `queued.queuer.state().items` exposes the pending queue. protected readonly queued = injectQueuedValue(this.source, { wait: 500 }, (state) => ({ items: state.items, })) diff --git a/examples/angular/injectQueuedValue/src/app/inputapp.ts b/examples/angular/injectQueuedValue/src/app/inputapp.ts index 978d1cb7f..96341b6c7 100644 --- a/examples/angular/injectQueuedValue/src/app/inputapp.ts +++ b/examples/angular/injectQueuedValue/src/app/inputapp.ts @@ -8,7 +8,7 @@ import { injectQueuedValue } from '@tanstack/angular-pacer'

NG0950

value: {{ value() }}

Value (queued): {{ queued() }}

-

Queue length: {{ queued().length }}

+

Queue length: {{ queued.queuer.state().items.length }}

`, }) diff --git a/packages/angular-pacer/src/queuer/injectQueuedValue.ts b/packages/angular-pacer/src/queuer/injectQueuedValue.ts index 7fffdc7f6..8dde185bb 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedValue.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedValue.ts @@ -1,8 +1,14 @@ -import { effect, linkedSignal, signal } from '@angular/core' +import { effect, linkedSignal, untracked } from '@angular/core' import { injectQueuedSignal } from './injectQueuedSignal' -import type { QueuedSignal } from './injectQueuedSignal' import type { Signal } from '@angular/core' import type { QueuerOptions, QueuerState } from '@tanstack/pacer/queuer' +import { AngularQueuer } from './injectQueuer' + +export interface QueuedValueSignal { + (): TValue + addItem: AngularQueuer['addItem'] + queuer: AngularQueuer +} /** * An Angular function that creates a queued value that processes state changes in order with an optional delay. @@ -38,7 +44,7 @@ export function injectQueuedValue< value: Signal, options?: QueuerOptions, selector?: (state: QueuerState) => TSelected, -): QueuedSignal +): QueuedValueSignal export function injectQueuedValue< TValue, TSelected extends Pick, 'items'> = Pick< @@ -50,7 +56,7 @@ export function injectQueuedValue< initialValue: TValue, options?: QueuerOptions, selector?: (state: QueuerState) => TSelected, -): QueuedSignal +): QueuedValueSignal export function injectQueuedValue< TValue, TSelected extends Pick, 'items'> = Pick< @@ -64,7 +70,7 @@ export function injectQueuedValue< | QueuerOptions | ((state: QueuerState) => TSelected), maybeSelector?: (state: QueuerState) => TSelected, -): QueuedSignal { +): QueuedValueSignal { const hasSelector = typeof initialOptionsOrSelector === 'function' const hasInitialValue = (initialOptionsOrSelector !== undefined && !hasSelector) || @@ -75,10 +81,9 @@ export function injectQueuedValue< const selector = hasInitialValue ? maybeSelector : (initialOptionsOrSelector as - | ((state: QueuerState) => TSelected) - | undefined) + | ((state: QueuerState) => TSelected) + | undefined) - const linkedValue = linkedSignal(() => value()) const queuedValue = linkedSignal(() => { return hasInitialValue ? (initialValueOrOptions as TValue) @@ -94,8 +99,11 @@ export function injectQueuedValue< ) effect(() => { - queued.addItem(linkedValue()) + queued.addItem(value()) }) - return queued + return Object.assign(queuedValue, { + addItem: queued.addItem.bind(queued), + queuer: queued.queuer, + }) as QueuedValueSignal } diff --git a/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts b/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts index a998396d0..f21049013 100644 --- a/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts +++ b/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts @@ -1,9 +1,65 @@ -import { Component, input } from '@angular/core' +import { Component, input, signal } from '@angular/core' import { TestBed } from '@angular/core/testing' +import { vi } from 'vitest' import { injectQueuedValue } from '../../src/queuer/injectQueuedValue' +beforeEach(() => { + vi.useFakeTimers() +}) + +afterEach(() => { + vi.useRealTimers() +}) + describe('injectQueuedValue', () => { - describe("with input signals", () => { + describe('behaviour', () => { + it('returns a queued signal with addItem and queuer', () => { + const value = signal('initial') + const queued = TestBed.runInInjectionContext(() => + injectQueuedValue(value, { + wait: 0, + }), + ) + expect(typeof queued).toBe('function') + expect(queued.addItem).toBeDefined() + expect(queued.queuer).toBeDefined() + }) + + it('pushes source signal value into the queue when it changes', () => { + const value = signal('initial') + const queued = TestBed.runInInjectionContext(() => + injectQueuedValue(value, { + wait: 0, + }), + ) + TestBed.tick() + expect(queued()).toBe('initial') + value.set('second') + TestBed.tick() + expect(queued()).toBe('second') + }) + + it('waits for the wait time before processing the next item', () => { + const value = signal('initial') + const queued = TestBed.runInInjectionContext(() => + injectQueuedValue(value, { + wait: 1000, + }), + ) + TestBed.tick() + value.set('second') + TestBed.tick() + value.set('third') + TestBed.tick() + expect(queued()).toBe('initial') + vi.advanceTimersByTime(1000) + expect(queued()).toBe('second') + vi.advanceTimersByTime(1000) + expect(queued()).toBe('third') + }) + }) + + describe('with input signals', () => { @Component({ selector: 'pacer-test-child', standalone: true, @@ -35,4 +91,4 @@ describe('injectQueuedValue', () => { }).not.toThrow() }) }) -}) \ No newline at end of file +}) From d0fbeb664621ab790717a23cd348003ca8b02ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sun, 22 Feb 2026 17:51:11 -0300 Subject: [PATCH 04/10] fix: linting with new angular ts config --- packages/angular-pacer/eslint.config.js | 17 ++++++++++++++++- .../src/queuer/injectQueuedValue.ts | 6 +++--- .../tests/queuer/injectQueuedValue.spec.ts | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/angular-pacer/eslint.config.js b/packages/angular-pacer/eslint.config.js index 50a11bbd5..c5af2db87 100644 --- a/packages/angular-pacer/eslint.config.js +++ b/packages/angular-pacer/eslint.config.js @@ -1,6 +1,21 @@ // @ts-check import rootConfig from '../../eslint.config.js' +import { fileURLToPath } from 'node:url' + +const tsconfigRootDir = fileURLToPath(new URL('.', import.meta.url)) /** @type {import('eslint').Linter.Config[]} */ -export default [...rootConfig] +export default [ + ...rootConfig, + { + name: 'angular-pacer/typescript-projects', + files: ['**/*.ts'], + languageOptions: { + parserOptions: { + project: ['./tsconfig.lib.json', './tsconfig.spec.json'], + tsconfigRootDir, + }, + }, + }, +] diff --git a/packages/angular-pacer/src/queuer/injectQueuedValue.ts b/packages/angular-pacer/src/queuer/injectQueuedValue.ts index 8dde185bb..e65e27e94 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedValue.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedValue.ts @@ -2,7 +2,7 @@ import { effect, linkedSignal, untracked } from '@angular/core' import { injectQueuedSignal } from './injectQueuedSignal' import type { Signal } from '@angular/core' import type { QueuerOptions, QueuerState } from '@tanstack/pacer/queuer' -import { AngularQueuer } from './injectQueuer' +import type { AngularQueuer } from './injectQueuer' export interface QueuedValueSignal { (): TValue @@ -81,8 +81,8 @@ export function injectQueuedValue< const selector = hasInitialValue ? maybeSelector : (initialOptionsOrSelector as - | ((state: QueuerState) => TSelected) - | undefined) + | ((state: QueuerState) => TSelected) + | undefined) const queuedValue = linkedSignal(() => { return hasInitialValue diff --git a/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts b/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts index f21049013..13e5c607c 100644 --- a/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts +++ b/packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts @@ -76,7 +76,7 @@ describe('injectQueuedValue', () => { imports: [ChildComponent], template: '', }) - class HostComponent { } + class HostComponent {} beforeEach(async () => { await TestBed.configureTestingModule({ From 87411771af7164a43b47759746cdea00ad6a457d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sun, 22 Feb 2026 17:57:57 -0300 Subject: [PATCH 05/10] docs: update angular generated docs --- .../reference/functions/injectQueuedValue.md | 26 ++++--- docs/framework/angular/reference/index.md | 1 + .../reference/interfaces/AsyncQueuedSignal.md | 10 +-- .../reference/interfaces/QueuedSignal.md | 10 +-- .../reference/interfaces/QueuedValueSignal.md | 78 +++++++++++++++++++ .../src/queuer/injectQueuedValue.ts | 7 +- packages/angular-pacer/tsconfig.docs.json | 5 +- 7 files changed, 110 insertions(+), 27 deletions(-) create mode 100644 docs/framework/angular/reference/interfaces/QueuedValueSignal.md diff --git a/docs/framework/angular/reference/functions/injectQueuedValue.md b/docs/framework/angular/reference/functions/injectQueuedValue.md index 9c3ed8576..7e3fe4a92 100644 --- a/docs/framework/angular/reference/functions/injectQueuedValue.md +++ b/docs/framework/angular/reference/functions/injectQueuedValue.md @@ -11,10 +11,10 @@ title: injectQueuedValue function injectQueuedValue( value, options?, -selector?): QueuedSignal; +selector?): QueuedValueSignal; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:31](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L31) +Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L38) An Angular function that creates a queued value that processes state changes in order with an optional delay. This function uses injectQueuedSignal internally to manage a queue of state changes and apply them sequentially. @@ -23,9 +23,10 @@ The queued value will process changes in the order they are received, with optio processing each change. This is useful for handling state updates that need to be processed in a specific order, like animations or sequential UI updates. -The function returns a tuple containing: -- A Signal that provides the current queued value -- The queuer instance with control methods +The function returns a callable object containing: +- `queued()`: A signal-like function that provides the current queued value +- `queued.addItem(...)`: A method to enqueue additional values +- `queued.queuer`: The queuer instance with control methods and state ### Type Parameters @@ -53,7 +54,7 @@ The function returns a tuple containing: ### Returns -[`QueuedSignal`](../interfaces/QueuedSignal.md)\<`TValue`, `TSelected`\> +[`QueuedValueSignal`](../interfaces/QueuedValueSignal.md)\<`TValue`, `TSelected`\> ### Example @@ -75,10 +76,10 @@ function injectQueuedValue( value, initialValue, options?, -selector?): QueuedSignal; +selector?): QueuedValueSignal; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:42](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L42) +Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:49](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L49) An Angular function that creates a queued value that processes state changes in order with an optional delay. This function uses injectQueuedSignal internally to manage a queue of state changes and apply them sequentially. @@ -87,9 +88,10 @@ The queued value will process changes in the order they are received, with optio processing each change. This is useful for handling state updates that need to be processed in a specific order, like animations or sequential UI updates. -The function returns a tuple containing: -- A Signal that provides the current queued value -- The queuer instance with control methods +The function returns a callable object containing: +- `queued()`: A signal-like function that provides the current queued value +- `queued.addItem(...)`: A method to enqueue additional values +- `queued.queuer`: The queuer instance with control methods and state ### Type Parameters @@ -121,7 +123,7 @@ The function returns a tuple containing: ### Returns -[`QueuedSignal`](../interfaces/QueuedSignal.md)\<`TValue`, `TSelected`\> +[`QueuedValueSignal`](../interfaces/QueuedValueSignal.md)\<`TValue`, `TSelected`\> ### Example diff --git a/docs/framework/angular/reference/index.md b/docs/framework/angular/reference/index.md index 7dd3a08be..88d69e1c6 100644 --- a/docs/framework/angular/reference/index.md +++ b/docs/framework/angular/reference/index.md @@ -30,6 +30,7 @@ title: "@tanstack/angular-pacer" - [AsyncQueuedSignal](interfaces/AsyncQueuedSignal.md) - [DebouncedSignal](interfaces/DebouncedSignal.md) - [QueuedSignal](interfaces/QueuedSignal.md) +- [QueuedValueSignal](interfaces/QueuedValueSignal.md) - [RateLimitedSignal](interfaces/RateLimitedSignal.md) - [ThrottledSignal](interfaces/ThrottledSignal.md) diff --git a/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md b/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md index 889c95eab..e6235557c 100644 --- a/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md +++ b/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md @@ -33,7 +33,7 @@ Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:10](https ### addItem() ```ts -addItem: (item, position?, runOnItemsChange?) => boolean; +addItem: (item, position, runOnItemsChange) => boolean; ``` Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L11) @@ -47,13 +47,13 @@ Items can be inserted based on priority or at the front/back depending on config `TValue` -##### position? +##### position -`QueuePosition` +`QueuePosition` = `...` -##### runOnItemsChange? +##### runOnItemsChange -`boolean` +`boolean` = `true` #### Returns diff --git a/docs/framework/angular/reference/interfaces/QueuedSignal.md b/docs/framework/angular/reference/interfaces/QueuedSignal.md index 3e2842f51..52962fbf2 100644 --- a/docs/framework/angular/reference/interfaces/QueuedSignal.md +++ b/docs/framework/angular/reference/interfaces/QueuedSignal.md @@ -33,7 +33,7 @@ Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:7](https://github.co ### addItem() ```ts -addItem: (item, position?, runOnItemsChange?) => boolean; +addItem: (item, position, runOnItemsChange) => boolean; ``` Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:8](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L8) @@ -55,13 +55,13 @@ queuer.addItem('task2', 'front'); `TValue` -##### position? +##### position -`QueuePosition` +`QueuePosition` = `...` -##### runOnItemsChange? +##### runOnItemsChange -`boolean` +`boolean` = `true` #### Returns diff --git a/docs/framework/angular/reference/interfaces/QueuedValueSignal.md b/docs/framework/angular/reference/interfaces/QueuedValueSignal.md new file mode 100644 index 000000000..177d0b938 --- /dev/null +++ b/docs/framework/angular/reference/interfaces/QueuedValueSignal.md @@ -0,0 +1,78 @@ +--- +id: QueuedValueSignal +title: QueuedValueSignal +--- + +# Interface: QueuedValueSignal()\ + +Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:7](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L7) + +## Type Parameters + +### TValue + +`TValue` + +### TSelected + +`TSelected` = \{ +\} + +```ts +QueuedValueSignal(): TValue; +``` + +Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:8](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L8) + +## Returns + +`TValue` + +## Properties + +### addItem() + +```ts +addItem: (item, position, runOnItemsChange) => boolean; +``` + +Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L9) + +Adds an item to the queue. If the queue is full, the item is rejected and onReject is called. +Items can be inserted based on priority or at the front/back depending on configuration. + +Returns true if the item was added, false if the queue is full. + +Example usage: +```ts +queuer.addItem('task'); +queuer.addItem('task2', 'front'); +``` + +#### Parameters + +##### item + +`TValue` + +##### position + +`QueuePosition` = `...` + +##### runOnItemsChange + +`boolean` = `true` + +#### Returns + +`boolean` + +*** + +### queuer + +```ts +queuer: AngularQueuer; +``` + +Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:10](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L10) diff --git a/packages/angular-pacer/src/queuer/injectQueuedValue.ts b/packages/angular-pacer/src/queuer/injectQueuedValue.ts index e65e27e94..5601f8a24 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedValue.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedValue.ts @@ -18,9 +18,10 @@ export interface QueuedValueSignal { * processing each change. This is useful for handling state updates that need to be processed * in a specific order, like animations or sequential UI updates. * - * The function returns a tuple containing: - * - A Signal that provides the current queued value - * - The queuer instance with control methods + * The function returns a callable object containing: + * - `queued()`: A signal-like function that provides the current queued value + * - `queued.addItem(...)`: A method to enqueue additional values + * - `queued.queuer`: The queuer instance with control methods and state * * @example * ```ts diff --git a/packages/angular-pacer/tsconfig.docs.json b/packages/angular-pacer/tsconfig.docs.json index 20ccb038c..a12189d95 100644 --- a/packages/angular-pacer/tsconfig.docs.json +++ b/packages/angular-pacer/tsconfig.docs.json @@ -1,8 +1,9 @@ { - "extends": "./tsconfig.json", + "extends": "./tsconfig.lib.json", "compilerOptions": { "paths": { - "@tanstack/pacer": ["../pacer/src"] + "@tanstack/pacer": ["../pacer/src"], + "@tanstack/pacer/*": ["../pacer/src/*"] } }, "include": ["src"] From 684b39b6990a11cf59234dc34adf255b6ff3e98b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sun, 22 Feb 2026 18:09:04 -0300 Subject: [PATCH 06/10] chore: add changeset --- .changeset/big-jobs-call.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/big-jobs-call.md diff --git a/.changeset/big-jobs-call.md b/.changeset/big-jobs-call.md new file mode 100644 index 000000000..fd2613caa --- /dev/null +++ b/.changeset/big-jobs-call.md @@ -0,0 +1,5 @@ +--- +'@tanstack/angular-pacer': minor +--- + +injectQueuedValue returns queued value instead of array From 881aad885df19aa3480bdaecf7e24f89cb0e2383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sat, 6 Jun 2026 10:21:24 -0400 Subject: [PATCH 07/10] chore: use local type definition --- .../functions/injectAsyncBatchedCallback.md | 3 ++- .../functions/injectAsyncDebouncedCallback.md | 3 ++- .../functions/injectAsyncQueuedSignal.md | 2 +- .../injectAsyncRateLimitedCallback.md | 3 ++- .../functions/injectAsyncThrottledCallback.md | 3 ++- .../functions/injectBatchedCallback.md | 3 ++- .../functions/injectDebouncedCallback.md | 3 ++- .../functions/injectDebouncedSignal.md | 2 +- .../functions/injectDebouncedValue.md | 8 +++--- .../reference/functions/injectQueuedSignal.md | 2 +- .../reference/functions/injectQueuedValue.md | 4 +-- .../functions/injectRateLimitedCallback.md | 3 ++- .../functions/injectRateLimitedSignal.md | 2 +- .../functions/injectRateLimitedValue.md | 8 +++--- .../functions/injectThrottledCallback.md | 3 ++- .../functions/injectThrottledSignal.md | 2 +- .../functions/injectThrottledValue.md | 8 +++--- .../injectAsyncBatchedCallback.ts | 4 +-- .../injectAsyncDebouncedCallback.ts | 4 +-- .../async-queuer/injectAsyncQueuedSignal.ts | 10 +++---- .../injectAsyncRateLimitedCallback.ts | 4 +-- .../injectAsyncThrottledCallback.ts | 4 +-- .../src/batcher/injectBatchedCallback.ts | 4 +-- .../src/debouncer/injectDebouncedCallback.ts | 4 +-- .../src/debouncer/injectDebouncedSignal.ts | 10 +++---- .../src/debouncer/injectDebouncedValue.ts | 26 ++++++++++++------- .../src/queuer/injectQueuedSignal.ts | 6 ++--- .../src/queuer/injectQueuedValue.ts | 16 ++++++------ .../rate-limiter/injectRateLimitedCallback.ts | 4 +-- .../rate-limiter/injectRateLimitedSignal.ts | 10 +++---- .../rate-limiter/injectRateLimitedValue.ts | 26 ++++++++++++------- .../src/throttler/injectThrottledCallback.ts | 4 +-- .../src/throttler/injectThrottledSignal.ts | 10 +++---- .../src/throttler/injectThrottledValue.ts | 26 ++++++++++++------- 34 files changed, 130 insertions(+), 104 deletions(-) diff --git a/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md b/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md index 78b24980d..52b770e6b 100644 --- a/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md @@ -43,7 +43,8 @@ Consider using the `injectAsyncBatcher` function instead. ### options -`AsyncBatcherOptions`\<`TValue`\> +[`AngularAsyncBatcherOptions`](../interfaces/AngularAsyncBatcherOptions.md)\<`TValue`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md b/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md index 1c1eaef0c..efe6e3028 100644 --- a/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md @@ -44,7 +44,8 @@ Consider using the `injectAsyncDebouncer` function instead. ### options -`AsyncDebouncerOptions`\<`TFn`\> +[`AngularAsyncDebouncerOptions`](../interfaces/AngularAsyncDebouncerOptions.md)\<`TFn`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md b/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md index 9c34f3558..a3908a29d 100644 --- a/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md +++ b/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md @@ -43,7 +43,7 @@ The function returns a callable object: ### options -`AsyncQueuerOptions`\<`TValue`\> = `{}` +[`AngularAsyncQueuerOptions`](../interfaces/AngularAsyncQueuerOptions.md)\<`TValue`, `TSelected`\> = `{}` ### selector diff --git a/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md b/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md index a0bc18024..6ecf6ab12 100644 --- a/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md @@ -40,7 +40,8 @@ Consider using the `injectAsyncRateLimiter` function instead. ### options -`AsyncRateLimiterOptions`\<`TFn`\> +[`AngularAsyncRateLimiterOptions`](../interfaces/AngularAsyncRateLimiterOptions.md)\<`TFn`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md b/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md index 79ee16812..59ccb9f9b 100644 --- a/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md @@ -42,7 +42,8 @@ Consider using the `injectAsyncThrottler` function instead. ### options -`AsyncThrottlerOptions`\<`TFn`\> +[`AngularAsyncThrottlerOptions`](../interfaces/AngularAsyncThrottlerOptions.md)\<`TFn`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectBatchedCallback.md b/docs/framework/angular/reference/functions/injectBatchedCallback.md index 510d62133..48fda14b1 100644 --- a/docs/framework/angular/reference/functions/injectBatchedCallback.md +++ b/docs/framework/angular/reference/functions/injectBatchedCallback.md @@ -42,7 +42,8 @@ Consider using the `injectBatcher` function instead. ### options -`BatcherOptions`\<`TValue`\> +[`AngularBatcherOptions`](../interfaces/AngularBatcherOptions.md)\<`TValue`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectDebouncedCallback.md b/docs/framework/angular/reference/functions/injectDebouncedCallback.md index ccf75c755..b89d68fd6 100644 --- a/docs/framework/angular/reference/functions/injectDebouncedCallback.md +++ b/docs/framework/angular/reference/functions/injectDebouncedCallback.md @@ -43,7 +43,8 @@ Consider using the `injectDebouncer` function instead. ### options -`DebouncerOptions`\<`TFn`\> +[`AngularDebouncerOptions`](../interfaces/AngularDebouncerOptions.md)\<`TFn`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectDebouncedSignal.md b/docs/framework/angular/reference/functions/injectDebouncedSignal.md index 17d305f35..103074483 100644 --- a/docs/framework/angular/reference/functions/injectDebouncedSignal.md +++ b/docs/framework/angular/reference/functions/injectDebouncedSignal.md @@ -64,7 +64,7 @@ Available debouncer state properties: ### initialOptions -`DebouncerOptions`\<`Setter`\<`TValue`\>\> +[`AngularDebouncerOptions`](../interfaces/AngularDebouncerOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> ### selector? diff --git a/docs/framework/angular/reference/functions/injectDebouncedValue.md b/docs/framework/angular/reference/functions/injectDebouncedValue.md index 73a5e291a..b064c0ab6 100644 --- a/docs/framework/angular/reference/functions/injectDebouncedValue.md +++ b/docs/framework/angular/reference/functions/injectDebouncedValue.md @@ -14,7 +14,7 @@ function injectDebouncedValue( selector?): DebouncedSignal; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedValue.ts:77](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L77) +Defined in: [angular-pacer/src/debouncer/injectDebouncedValue.ts:75](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L75) An Angular function that creates a debounced value that updates only after a specified delay. Unlike injectDebouncedSignal, this function automatically tracks changes to the input signal @@ -69,7 +69,7 @@ Available debouncer state properties: #### initialOptions -`DebouncerOptions`\<`Setter`\<`TValue`\>\> +[`AngularDebouncerOptions`](../interfaces/AngularDebouncerOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> #### selector? @@ -119,7 +119,7 @@ function injectDebouncedValue( selector?): DebouncedSignal; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedValue.ts:82](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L82) +Defined in: [angular-pacer/src/debouncer/injectDebouncedValue.ts:80](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L80) An Angular function that creates a debounced value that updates only after a specified delay. Unlike injectDebouncedSignal, this function automatically tracks changes to the input signal @@ -178,7 +178,7 @@ Available debouncer state properties: #### initialOptions -`DebouncerOptions`\<`Setter`\<`TValue`\>\> +[`AngularDebouncerOptions`](../interfaces/AngularDebouncerOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> #### selector? diff --git a/docs/framework/angular/reference/functions/injectQueuedSignal.md b/docs/framework/angular/reference/functions/injectQueuedSignal.md index 5304edc89..2adfae202 100644 --- a/docs/framework/angular/reference/functions/injectQueuedSignal.md +++ b/docs/framework/angular/reference/functions/injectQueuedSignal.md @@ -43,7 +43,7 @@ The function returns a callable object: ### options -`QueuerOptions`\<`TValue`\> = `{}` +[`AngularQueuerOptions`](../interfaces/AngularQueuerOptions.md)\<`TValue`, `TSelected`\> = `{}` ### selector diff --git a/docs/framework/angular/reference/functions/injectQueuedValue.md b/docs/framework/angular/reference/functions/injectQueuedValue.md index 7e3fe4a92..e0a185c7c 100644 --- a/docs/framework/angular/reference/functions/injectQueuedValue.md +++ b/docs/framework/angular/reference/functions/injectQueuedValue.md @@ -46,7 +46,7 @@ The function returns a callable object containing: #### options? -`QueuerOptions`\<`TValue`\> +[`AngularQueuerOptions`](../interfaces/AngularQueuerOptions.md)\<`TValue`, `TSelected`\> #### selector? @@ -115,7 +115,7 @@ The function returns a callable object containing: #### options? -`QueuerOptions`\<`TValue`\> +[`AngularQueuerOptions`](../interfaces/AngularQueuerOptions.md)\<`TValue`, `TSelected`\> #### selector? diff --git a/docs/framework/angular/reference/functions/injectRateLimitedCallback.md b/docs/framework/angular/reference/functions/injectRateLimitedCallback.md index ae04820fe..42402c779 100644 --- a/docs/framework/angular/reference/functions/injectRateLimitedCallback.md +++ b/docs/framework/angular/reference/functions/injectRateLimitedCallback.md @@ -43,7 +43,8 @@ Consider using the `injectRateLimiter` function instead. ### options -`RateLimiterOptions`\<`TFn`\> +[`AngularRateLimiterOptions`](../interfaces/AngularRateLimiterOptions.md)\<`TFn`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectRateLimitedSignal.md b/docs/framework/angular/reference/functions/injectRateLimitedSignal.md index 1410dd49d..3debcfb2c 100644 --- a/docs/framework/angular/reference/functions/injectRateLimitedSignal.md +++ b/docs/framework/angular/reference/functions/injectRateLimitedSignal.md @@ -55,7 +55,7 @@ full control over when your component tracks state changes. ### initialOptions -`RateLimiterOptions`\<`Setter`\<`TValue`\>\> +[`AngularRateLimiterOptions`](../interfaces/AngularRateLimiterOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> ### selector? diff --git a/docs/framework/angular/reference/functions/injectRateLimitedValue.md b/docs/framework/angular/reference/functions/injectRateLimitedValue.md index 58742cf01..d572403ad 100644 --- a/docs/framework/angular/reference/functions/injectRateLimitedValue.md +++ b/docs/framework/angular/reference/functions/injectRateLimitedValue.md @@ -14,7 +14,7 @@ function injectRateLimitedValue( selector?): RateLimitedSignal; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:50](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L50) +Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:48](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L48) An Angular function that creates a rate-limited value that updates at most a certain number of times within a time window. Unlike injectRateLimitedSignal, this function automatically tracks changes to the input signal @@ -56,7 +56,7 @@ full control over when your component tracks state changes. #### initialOptions -`RateLimiterOptions`\<`Setter`\<`TValue`\>\> +[`AngularRateLimiterOptions`](../interfaces/AngularRateLimiterOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> #### selector? @@ -93,7 +93,7 @@ function injectRateLimitedValue( selector?): RateLimitedSignal; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:55](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L55) +Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:53](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L53) An Angular function that creates a rate-limited value that updates at most a certain number of times within a time window. Unlike injectRateLimitedSignal, this function automatically tracks changes to the input signal @@ -139,7 +139,7 @@ full control over when your component tracks state changes. #### initialOptions -`RateLimiterOptions`\<`Setter`\<`TValue`\>\> +[`AngularRateLimiterOptions`](../interfaces/AngularRateLimiterOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> #### selector? diff --git a/docs/framework/angular/reference/functions/injectThrottledCallback.md b/docs/framework/angular/reference/functions/injectThrottledCallback.md index e11c559d7..aba9cbafe 100644 --- a/docs/framework/angular/reference/functions/injectThrottledCallback.md +++ b/docs/framework/angular/reference/functions/injectThrottledCallback.md @@ -43,7 +43,8 @@ Consider using the `injectThrottler` function instead. ### options -`ThrottlerOptions`\<`TFn`\> +[`AngularThrottlerOptions`](../interfaces/AngularThrottlerOptions.md)\<`TFn`, \{ +\}\> ## Returns diff --git a/docs/framework/angular/reference/functions/injectThrottledSignal.md b/docs/framework/angular/reference/functions/injectThrottledSignal.md index bdf7d3e53..65bc319cb 100644 --- a/docs/framework/angular/reference/functions/injectThrottledSignal.md +++ b/docs/framework/angular/reference/functions/injectThrottledSignal.md @@ -65,7 +65,7 @@ Available throttler state properties: ### initialOptions -`ThrottlerOptions`\<`Setter`\<`TValue`\>\> +[`AngularThrottlerOptions`](../interfaces/AngularThrottlerOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> ### selector? diff --git a/docs/framework/angular/reference/functions/injectThrottledValue.md b/docs/framework/angular/reference/functions/injectThrottledValue.md index 1dc50fa3d..1ec06b87c 100644 --- a/docs/framework/angular/reference/functions/injectThrottledValue.md +++ b/docs/framework/angular/reference/functions/injectThrottledValue.md @@ -14,7 +14,7 @@ function injectThrottledValue( selector?): ThrottledSignal; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledValue.ts:75](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L75) +Defined in: [angular-pacer/src/throttler/injectThrottledValue.ts:73](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L73) An Angular function that creates a throttled value that updates at most once within a specified time window. Unlike injectThrottledSignal, this function automatically tracks changes to the input signal @@ -70,7 +70,7 @@ Available throttler state properties: #### initialOptions -`ThrottlerOptions`\<`Setter`\<`TValue`\>\> +[`AngularThrottlerOptions`](../interfaces/AngularThrottlerOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> #### selector? @@ -118,7 +118,7 @@ function injectThrottledValue( selector?): ThrottledSignal; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledValue.ts:80](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L80) +Defined in: [angular-pacer/src/throttler/injectThrottledValue.ts:78](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L78) An Angular function that creates a throttled value that updates at most once within a specified time window. Unlike injectThrottledSignal, this function automatically tracks changes to the input signal @@ -178,7 +178,7 @@ Available throttler state properties: #### initialOptions -`ThrottlerOptions`\<`Setter`\<`TValue`\>\> +[`AngularThrottlerOptions`](../interfaces/AngularThrottlerOptions.md)\<`Setter`\<`TValue`\>, `TSelected`\> #### selector? diff --git a/packages/angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts b/packages/angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts index 83b597d70..038c636b2 100644 --- a/packages/angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts +++ b/packages/angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts @@ -1,5 +1,5 @@ import { injectAsyncBatcher } from './injectAsyncBatcher' -import type { AsyncBatcherOptions } from '@tanstack/pacer/async-batcher' +import type { AngularAsyncBatcherOptions } from './injectAsyncBatcher' /** * An Angular function that creates an async batched version of a callback function. @@ -41,7 +41,7 @@ import type { AsyncBatcherOptions } from '@tanstack/pacer/async-batcher' */ export function injectAsyncBatchedCallback( fn: (items: Array) => Promise, - options: AsyncBatcherOptions, + options: AngularAsyncBatcherOptions, ): (item: TValue) => Promise { const batcher = injectAsyncBatcher(fn, options) return (item: TValue) => batcher.addItem(item) diff --git a/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts b/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts index 221765aa8..043b5f1c7 100644 --- a/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts +++ b/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts @@ -1,5 +1,5 @@ import { injectAsyncDebouncer } from './injectAsyncDebouncer' -import type { AsyncDebouncerOptions } from '@tanstack/pacer/async-debouncer' +import type { AngularAsyncDebouncerOptions } from './injectAsyncDebouncer' import type { AnyAsyncFunction } from '@tanstack/pacer/types' /** @@ -39,7 +39,7 @@ import type { AnyAsyncFunction } from '@tanstack/pacer/types' */ export function injectAsyncDebouncedCallback( fn: TFn, - options: AsyncDebouncerOptions, + options: AngularAsyncDebouncerOptions, ): (...args: Parameters) => Promise> | undefined> { const debouncer = injectAsyncDebouncer(fn, options) return async (...args: Parameters) => { diff --git a/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts b/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts index 7271c20de..19c635a01 100644 --- a/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts +++ b/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts @@ -1,10 +1,10 @@ import { computed } from '@angular/core' import { injectAsyncQueuer } from './injectAsyncQueuer' -import type { AngularAsyncQueuer } from './injectAsyncQueuer' import type { - AsyncQueuerOptions, - AsyncQueuerState, -} from '@tanstack/pacer/async-queuer' + AngularAsyncQueuer, + AngularAsyncQueuerOptions, +} from './injectAsyncQueuer' +import type { AsyncQueuerState } from '@tanstack/pacer/async-queuer' export interface AsyncQueuedSignal { (): Array @@ -57,7 +57,7 @@ export function injectAsyncQueuedSignal< >, >( fn: (value: TValue) => Promise, - options: AsyncQueuerOptions = {}, + options: AngularAsyncQueuerOptions = {}, selector: (state: AsyncQueuerState) => TSelected = (state) => ({ items: state.items }) as TSelected, ): AsyncQueuedSignal { diff --git a/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts b/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts index 5894a912b..03a5b72aa 100644 --- a/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts +++ b/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts @@ -1,5 +1,5 @@ import { injectAsyncRateLimiter } from './injectAsyncRateLimiter' -import type { AsyncRateLimiterOptions } from '@tanstack/pacer/async-rate-limiter' +import type { AngularAsyncRateLimiterOptions } from './injectAsyncRateLimiter' import type { AnyAsyncFunction } from '@tanstack/pacer/types' /** @@ -42,7 +42,7 @@ import type { AnyAsyncFunction } from '@tanstack/pacer/types' */ export function injectAsyncRateLimitedCallback( fn: TFn, - options: AsyncRateLimiterOptions, + options: AngularAsyncRateLimiterOptions, ): (...args: Parameters) => Promise> | undefined> { const rateLimiter = injectAsyncRateLimiter(fn, options) return async (...args: Parameters) => { diff --git a/packages/angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts b/packages/angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts index 85257c097..f97006f95 100644 --- a/packages/angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts +++ b/packages/angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts @@ -1,5 +1,5 @@ import { injectAsyncThrottler } from './injectAsyncThrottler' -import type { AsyncThrottlerOptions } from '@tanstack/pacer/async-throttler' +import type { AngularAsyncThrottlerOptions } from './injectAsyncThrottler' import type { AnyAsyncFunction } from '@tanstack/pacer/types' /** @@ -40,7 +40,7 @@ import type { AnyAsyncFunction } from '@tanstack/pacer/types' */ export function injectAsyncThrottledCallback( fn: TFn, - options: AsyncThrottlerOptions, + options: AngularAsyncThrottlerOptions, ): (...args: Parameters) => Promise> | undefined> { const throttler = injectAsyncThrottler(fn, options) return async (...args: Parameters) => { diff --git a/packages/angular-pacer/src/batcher/injectBatchedCallback.ts b/packages/angular-pacer/src/batcher/injectBatchedCallback.ts index 73d7f5791..11e23b281 100644 --- a/packages/angular-pacer/src/batcher/injectBatchedCallback.ts +++ b/packages/angular-pacer/src/batcher/injectBatchedCallback.ts @@ -1,5 +1,5 @@ import { injectBatcher } from './injectBatcher' -import type { BatcherOptions } from '@tanstack/pacer/batcher' +import type { AngularBatcherOptions } from './injectBatcher' /** * An Angular function that creates a batched version of a callback function. @@ -39,7 +39,7 @@ import type { BatcherOptions } from '@tanstack/pacer/batcher' */ export function injectBatchedCallback( fn: (items: Array) => void, - options: BatcherOptions, + options: AngularBatcherOptions, ): (item: TValue) => void { const batcher = injectBatcher(fn, options) return (item: TValue) => batcher.addItem(item) diff --git a/packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts b/packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts index a76e4c4fe..9a04f49b4 100644 --- a/packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts +++ b/packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts @@ -1,5 +1,5 @@ import { injectDebouncer } from './injectDebouncer' -import type { DebouncerOptions } from '@tanstack/pacer/debouncer' +import type { AngularDebouncerOptions } from './injectDebouncer' import type { AnyFunction } from '@tanstack/pacer/types' /** @@ -39,7 +39,7 @@ import type { AnyFunction } from '@tanstack/pacer/types' */ export function injectDebouncedCallback( fn: TFn, - options: DebouncerOptions, + options: AngularDebouncerOptions, ): (...args: Parameters) => void { const debouncer = injectDebouncer(fn, options) return (...args: Parameters) => debouncer.maybeExecute(...args) diff --git a/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts b/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts index bce0cdf00..fc63af481 100644 --- a/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts +++ b/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts @@ -1,10 +1,10 @@ import { signal } from '@angular/core' import { injectDebouncer } from './injectDebouncer' -import type { AngularDebouncer } from './injectDebouncer' import type { - DebouncerOptions, - DebouncerState, -} from '@tanstack/pacer/debouncer' + AngularDebouncer, + AngularDebouncerOptions, +} from './injectDebouncer' +import type { DebouncerState } from '@tanstack/pacer/debouncer' type Setter = (value: T | ((prev: T) => T)) => void @@ -62,7 +62,7 @@ export interface DebouncedSignal { */ export function injectDebouncedSignal( value: TValue, - initialOptions: DebouncerOptions>, + initialOptions: AngularDebouncerOptions, TSelected>, selector?: (state: DebouncerState>) => TSelected, ): DebouncedSignal { const debouncedValue = signal(value) diff --git a/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts b/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts index 5c20e5660..4c96417fc 100644 --- a/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts +++ b/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts @@ -2,10 +2,8 @@ import { effect } from '@angular/core' import { injectDebouncedSignal } from './injectDebouncedSignal' import type { DebouncedSignal } from './injectDebouncedSignal' import type { Signal } from '@angular/core' -import type { - DebouncerOptions, - DebouncerState, -} from '@tanstack/pacer/debouncer' +import type { AngularDebouncerOptions } from './injectDebouncer' +import type { DebouncerState } from '@tanstack/pacer/debouncer' type Setter = (value: T | ((prev: T) => T)) => void @@ -76,20 +74,22 @@ type Setter = (value: T | ((prev: T) => T)) => void */ export function injectDebouncedValue( value: Signal, - initialOptions: DebouncerOptions>, + initialOptions: AngularDebouncerOptions, TSelected>, selector?: (state: DebouncerState>) => TSelected, ): DebouncedSignal export function injectDebouncedValue( value: Signal, initialValue: TValue, - initialOptions: DebouncerOptions>, + initialOptions: AngularDebouncerOptions, TSelected>, selector?: (state: DebouncerState>) => TSelected, ): DebouncedSignal export function injectDebouncedValue( value: Signal, - initialValueOrOptions: TValue | DebouncerOptions>, + initialValueOrOptions: + | TValue + | AngularDebouncerOptions, TSelected>, initialOptionsOrSelector?: - | DebouncerOptions> + | AngularDebouncerOptions, TSelected> | ((state: DebouncerState>) => TSelected), maybeSelector?: (state: DebouncerState>) => TSelected, ): DebouncedSignal { @@ -103,8 +103,14 @@ export function injectDebouncedValue( ? (initialValueOrOptions as TValue) : (undefined as unknown as TValue) const initialOptions = hasInitialValue - ? (initialOptionsOrSelector as DebouncerOptions>) - : (initialValueOrOptions as DebouncerOptions>) + ? (initialOptionsOrSelector as AngularDebouncerOptions< + Setter, + TSelected + >) + : (initialValueOrOptions as AngularDebouncerOptions< + Setter, + TSelected + >) const selector = hasInitialValue ? maybeSelector : (initialOptionsOrSelector as diff --git a/packages/angular-pacer/src/queuer/injectQueuedSignal.ts b/packages/angular-pacer/src/queuer/injectQueuedSignal.ts index a34372e57..96e128127 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedSignal.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedSignal.ts @@ -1,7 +1,7 @@ import { computed } from '@angular/core' import { injectQueuer } from './injectQueuer' -import type { AngularQueuer } from './injectQueuer' -import type { QueuerOptions, QueuerState } from '@tanstack/pacer/queuer' +import type { AngularQueuer, AngularQueuerOptions } from './injectQueuer' +import type { QueuerState } from '@tanstack/pacer/queuer' export interface QueuedSignal { (): Array @@ -48,7 +48,7 @@ export function injectQueuedSignal< >, >( fn: (item: TValue) => void, - options: QueuerOptions = {}, + options: AngularQueuerOptions = {}, selector: (state: QueuerState) => TSelected = (state) => ({ items: state.items }) as TSelected, ): QueuedSignal { diff --git a/packages/angular-pacer/src/queuer/injectQueuedValue.ts b/packages/angular-pacer/src/queuer/injectQueuedValue.ts index 5601f8a24..f96a678ca 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedValue.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedValue.ts @@ -1,8 +1,8 @@ import { effect, linkedSignal, untracked } from '@angular/core' import { injectQueuedSignal } from './injectQueuedSignal' import type { Signal } from '@angular/core' -import type { QueuerOptions, QueuerState } from '@tanstack/pacer/queuer' -import type { AngularQueuer } from './injectQueuer' +import type { QueuerState } from '@tanstack/pacer/queuer' +import type { AngularQueuer, AngularQueuerOptions } from './injectQueuer' export interface QueuedValueSignal { (): TValue @@ -43,7 +43,7 @@ export function injectQueuedValue< >, >( value: Signal, - options?: QueuerOptions, + options?: AngularQueuerOptions, selector?: (state: QueuerState) => TSelected, ): QueuedValueSignal export function injectQueuedValue< @@ -55,7 +55,7 @@ export function injectQueuedValue< >( value: Signal, initialValue: TValue, - options?: QueuerOptions, + options?: AngularQueuerOptions, selector?: (state: QueuerState) => TSelected, ): QueuedValueSignal export function injectQueuedValue< @@ -66,9 +66,9 @@ export function injectQueuedValue< >, >( value: Signal, - initialValueOrOptions?: TValue | QueuerOptions, + initialValueOrOptions?: TValue | AngularQueuerOptions, initialOptionsOrSelector?: - | QueuerOptions + | AngularQueuerOptions | ((state: QueuerState) => TSelected), maybeSelector?: (state: QueuerState) => TSelected, ): QueuedValueSignal { @@ -77,8 +77,8 @@ export function injectQueuedValue< (initialOptionsOrSelector !== undefined && !hasSelector) || maybeSelector !== undefined const initialOptions = hasInitialValue - ? (initialOptionsOrSelector as QueuerOptions) - : (initialValueOrOptions as QueuerOptions) + ? (initialOptionsOrSelector as AngularQueuerOptions) + : (initialValueOrOptions as AngularQueuerOptions) const selector = hasInitialValue ? maybeSelector : (initialOptionsOrSelector as diff --git a/packages/angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts b/packages/angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts index 9babbf8b8..3405e3df0 100644 --- a/packages/angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts +++ b/packages/angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts @@ -1,5 +1,5 @@ import { injectRateLimiter } from './injectRateLimiter' -import type { RateLimiterOptions } from '@tanstack/pacer/rate-limiter' +import type { AngularRateLimiterOptions } from './injectRateLimiter' import type { AnyFunction } from '@tanstack/pacer/types' /** @@ -38,7 +38,7 @@ import type { AnyFunction } from '@tanstack/pacer/types' */ export function injectRateLimitedCallback( fn: TFn, - options: RateLimiterOptions, + options: AngularRateLimiterOptions, ): (...args: Parameters) => boolean { const rateLimiter = injectRateLimiter(fn, options) return (...args: Parameters) => rateLimiter.maybeExecute(...args) diff --git a/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts b/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts index 992e4c309..0fa2df836 100644 --- a/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts +++ b/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts @@ -1,10 +1,10 @@ import { signal } from '@angular/core' import { injectRateLimiter } from './injectRateLimiter' -import type { AngularRateLimiter } from './injectRateLimiter' import type { - RateLimiterOptions, - RateLimiterState, -} from '@tanstack/pacer/rate-limiter' + AngularRateLimiter, + AngularRateLimiterOptions, +} from './injectRateLimiter' +import type { RateLimiterState } from '@tanstack/pacer/rate-limiter' type Setter = (value: T | ((prev: T) => T)) => void @@ -56,7 +56,7 @@ export interface RateLimitedSignal { */ export function injectRateLimitedSignal( value: TValue, - initialOptions: RateLimiterOptions>, + initialOptions: AngularRateLimiterOptions, TSelected>, selector?: (state: RateLimiterState) => TSelected, ): RateLimitedSignal { const rateLimitedValue = signal(value) diff --git a/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts b/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts index 23bab1040..14c114d58 100644 --- a/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts +++ b/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts @@ -2,10 +2,8 @@ import { effect } from '@angular/core' import { injectRateLimitedSignal } from './injectRateLimitedSignal' import type { RateLimitedSignal } from './injectRateLimitedSignal' import type { Signal } from '@angular/core' -import type { - RateLimiterOptions, - RateLimiterState, -} from '@tanstack/pacer/rate-limiter' +import type { AngularRateLimiterOptions } from './injectRateLimiter' +import type { RateLimiterState } from '@tanstack/pacer/rate-limiter' type Setter = (value: T | ((prev: T) => T)) => void @@ -49,20 +47,22 @@ type Setter = (value: T | ((prev: T) => T)) => void */ export function injectRateLimitedValue( value: Signal, - initialOptions: RateLimiterOptions>, + initialOptions: AngularRateLimiterOptions, TSelected>, selector?: (state: RateLimiterState) => TSelected, ): RateLimitedSignal export function injectRateLimitedValue( value: Signal, initialValue: TValue, - initialOptions: RateLimiterOptions>, + initialOptions: AngularRateLimiterOptions, TSelected>, selector?: (state: RateLimiterState) => TSelected, ): RateLimitedSignal export function injectRateLimitedValue( value: Signal, - initialValueOrOptions: TValue | RateLimiterOptions>, + initialValueOrOptions: + | TValue + | AngularRateLimiterOptions, TSelected>, initialOptionsOrSelector?: - | RateLimiterOptions> + | AngularRateLimiterOptions, TSelected> | ((state: RateLimiterState) => TSelected), maybeSelector?: (state: RateLimiterState) => TSelected, ): RateLimitedSignal { @@ -76,8 +76,14 @@ export function injectRateLimitedValue( ? (initialValueOrOptions as TValue) : (undefined as unknown as TValue) const initialOptions = hasInitialValue - ? (initialOptionsOrSelector as RateLimiterOptions>) - : (initialValueOrOptions as RateLimiterOptions>) + ? (initialOptionsOrSelector as AngularRateLimiterOptions< + Setter, + TSelected + >) + : (initialValueOrOptions as AngularRateLimiterOptions< + Setter, + TSelected + >) const selector = hasInitialValue ? maybeSelector : (initialOptionsOrSelector as diff --git a/packages/angular-pacer/src/throttler/injectThrottledCallback.ts b/packages/angular-pacer/src/throttler/injectThrottledCallback.ts index f92e8285b..98f900fb5 100644 --- a/packages/angular-pacer/src/throttler/injectThrottledCallback.ts +++ b/packages/angular-pacer/src/throttler/injectThrottledCallback.ts @@ -1,5 +1,5 @@ import { injectThrottler } from './injectThrottler' -import type { ThrottlerOptions } from '@tanstack/pacer/throttler' +import type { AngularThrottlerOptions } from './injectThrottler' import type { AnyFunction } from '@tanstack/pacer/types' /** @@ -38,7 +38,7 @@ import type { AnyFunction } from '@tanstack/pacer/types' */ export function injectThrottledCallback( fn: TFn, - options: ThrottlerOptions, + options: AngularThrottlerOptions, ): (...args: Parameters) => void { const throttler = injectThrottler(fn, options) return (...args: Parameters) => throttler.maybeExecute(...args) diff --git a/packages/angular-pacer/src/throttler/injectThrottledSignal.ts b/packages/angular-pacer/src/throttler/injectThrottledSignal.ts index 37cd1aace..14d191d05 100644 --- a/packages/angular-pacer/src/throttler/injectThrottledSignal.ts +++ b/packages/angular-pacer/src/throttler/injectThrottledSignal.ts @@ -1,10 +1,10 @@ import { signal } from '@angular/core' import { injectThrottler } from './injectThrottler' -import type { AngularThrottler } from './injectThrottler' import type { - ThrottlerOptions, - ThrottlerState, -} from '@tanstack/pacer/throttler' + AngularThrottler, + AngularThrottlerOptions, +} from './injectThrottler' +import type { ThrottlerState } from '@tanstack/pacer/throttler' type Setter = (value: T | ((prev: T) => T)) => void @@ -63,7 +63,7 @@ export interface ThrottledSignal { */ export function injectThrottledSignal( value: TValue, - initialOptions: ThrottlerOptions>, + initialOptions: AngularThrottlerOptions, TSelected>, selector?: (state: ThrottlerState>) => TSelected, ): ThrottledSignal { const throttledValue = signal(value) diff --git a/packages/angular-pacer/src/throttler/injectThrottledValue.ts b/packages/angular-pacer/src/throttler/injectThrottledValue.ts index 8a91cc10f..ba08edeca 100644 --- a/packages/angular-pacer/src/throttler/injectThrottledValue.ts +++ b/packages/angular-pacer/src/throttler/injectThrottledValue.ts @@ -2,10 +2,8 @@ import { effect } from '@angular/core' import { injectThrottledSignal } from './injectThrottledSignal' import type { ThrottledSignal } from './injectThrottledSignal' import type { Signal } from '@angular/core' -import type { - ThrottlerOptions, - ThrottlerState, -} from '@tanstack/pacer/throttler' +import type { AngularThrottlerOptions } from './injectThrottler' +import type { ThrottlerState } from '@tanstack/pacer/throttler' type Setter = (value: T | ((prev: T) => T)) => void @@ -74,20 +72,22 @@ type Setter = (value: T | ((prev: T) => T)) => void */ export function injectThrottledValue( value: Signal, - initialOptions: ThrottlerOptions>, + initialOptions: AngularThrottlerOptions, TSelected>, selector?: (state: ThrottlerState>) => TSelected, ): ThrottledSignal export function injectThrottledValue( value: Signal, initialValue: TValue, - initialOptions: ThrottlerOptions>, + initialOptions: AngularThrottlerOptions, TSelected>, selector?: (state: ThrottlerState>) => TSelected, ): ThrottledSignal export function injectThrottledValue( value: Signal, - initialValueOrOptions: TValue | ThrottlerOptions>, + initialValueOrOptions: + | TValue + | AngularThrottlerOptions, TSelected>, initialOptionsOrSelector?: - | ThrottlerOptions> + | AngularThrottlerOptions, TSelected> | ((state: ThrottlerState>) => TSelected), maybeSelector?: (state: ThrottlerState>) => TSelected, ): ThrottledSignal { @@ -101,8 +101,14 @@ export function injectThrottledValue( ? (initialValueOrOptions as TValue) : (undefined as unknown as TValue) const initialOptions = hasInitialValue - ? (initialOptionsOrSelector as ThrottlerOptions>) - : (initialValueOrOptions as ThrottlerOptions>) + ? (initialOptionsOrSelector as AngularThrottlerOptions< + Setter, + TSelected + >) + : (initialValueOrOptions as AngularThrottlerOptions< + Setter, + TSelected + >) const selector = hasInitialValue ? maybeSelector : (initialOptionsOrSelector as From ed63e12757e65df402d6f77f5d6bf1032a7c5f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Sat, 6 Jun 2026 10:59:35 -0400 Subject: [PATCH 08/10] chore: bump angular deps --- packages/angular-pacer/package.json | 8 +- pnpm-lock.yaml | 369 +++++++++++++++++++--------- 2 files changed, 263 insertions(+), 114 deletions(-) diff --git a/packages/angular-pacer/package.json b/packages/angular-pacer/package.json index f5f8d5222..5d3e0a61e 100644 --- a/packages/angular-pacer/package.json +++ b/packages/angular-pacer/package.json @@ -112,12 +112,12 @@ "@tanstack/pacer": "workspace:*" }, "devDependencies": { - "@analogjs/vite-plugin-angular": "^2.2.3", - "@analogjs/vitest-angular": "^2.2.3", + "@analogjs/vite-plugin-angular": "^2.6.0", + "@analogjs/vitest-angular": "^2.6.0", "@angular/compiler": "^21.2.12", "@angular/core": "^21.2.12", - "jsdom": "^28.1.0", - "@types/node": "^25.7.0" + "@types/node": "^25.7.0", + "jsdom": "^29.1.1" }, "peerDependencies": { "@angular/core": ">=17.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 896a6ee3f..8aaa2e1f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4329,11 +4329,11 @@ importers: version: link:../pacer devDependencies: '@analogjs/vite-plugin-angular': - specifier: ^2.2.3 - version: 2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)) + specifier: ^2.6.0 + version: 2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) '@analogjs/vitest-angular': - specifier: ^2.2.3 - version: 2.2.3(@analogjs/vite-plugin-angular@2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0))) + specifier: ^2.6.0 + version: 2.6.0(688197b90c183dc7305df80ff2aff7c1) '@angular/compiler': specifier: ^21.2.12 version: 21.2.15 @@ -4344,8 +4344,8 @@ importers: specifier: ^25.7.0 version: 25.7.0 jsdom: - specifier: ^28.1.0 - version: 28.1.0 + specifier: ^29.1.1 + version: 29.1.1 packages/pacer: dependencies: @@ -4548,9 +4548,6 @@ importers: packages: - '@acemir/cssom@0.9.31': - resolution: {integrity: sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==} - '@adobe/css-tools@4.4.4': resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} @@ -4614,23 +4611,31 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@analogjs/vite-plugin-angular@2.2.3': - resolution: {integrity: sha512-OqVfiJsaHdHMxzvK0heVvp8MenSXh+xib6/p+v3d44kJ3J7ooD4gRx/jKC350zkgRKwcZc3a0ybGUnG6LEF7mg==} + '@analogjs/vite-plugin-angular@2.6.0': + resolution: {integrity: sha512-fPo2RgkJxLijIe9o+VSrUmfzZDEXVqXX5a86vpj/cAuuY62Of02g6G6QrqHtIkDFSUdEK8cbY/8zAiZlXW0/Hw==} peerDependencies: - '@angular-devkit/build-angular': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 - '@angular/build': ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 + '@angular-devkit/build-angular': ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0 + '@angular/build': ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@angular-devkit/build-angular': optional: true '@angular/build': optional: true + vite: + optional: true - '@analogjs/vitest-angular@2.2.3': - resolution: {integrity: sha512-514A8RqT4sQnWj/3pHnoGrvDLYjcUTWL3d00GCQ4MVRUpisUg2R8tC/PZ/3ZARK5SskIwy5LwPEg4RFX0iOSug==} + '@analogjs/vitest-angular@2.6.0': + resolution: {integrity: sha512-vf3ZhUU3fzdCm+IXLj+ySFzCw+p7T4pXGegC6puow406fpnSpTt7L5AIrNUsSAsMWJRZh7bCzIxTNPdfQykSJw==} peerDependencies: '@analogjs/vite-plugin-angular': '*' - '@angular-devkit/architect': '>=0.1500.0 < 0.2200.0' + '@angular-devkit/architect': '>=0.1700.0 < 0.2300.0 || >=0.2200.0 < 0.2300.0' + '@angular-devkit/schematics': '>=17.0.0' vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 || ^4.0.0 + zone.js: '>=0.14.0' + peerDependenciesMeta: + zone.js: + optional: true '@angular-devkit/architect@0.2102.13': resolution: {integrity: sha512-fheyi0gPx6b7tT+WQ+ePlzdGqKjPLUK72wg5Z9pkVtQ5+VN/8yB9mlRlmoivngd2FeNG9wMeNynWZGYycnOWVw==} @@ -4769,9 +4774,6 @@ packages: resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - '@asamuzakjp/dom-selector@6.8.1': - resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==} - '@asamuzakjp/dom-selector@7.1.1': resolution: {integrity: sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -6163,48 +6165,97 @@ packages: cpu: [x64] os: [win32] + '@oxc-parser/binding-android-arm-eabi@0.121.0': + resolution: {integrity: sha512-n07FQcySwOlzap424/PLMtOkbS7xOu8nsJduKL8P3COGHKgKoDYXwoAHCbChfgFpHnviehrLWIPX0lKGtbEk/A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxc-parser/binding-android-arm-eabi@0.133.0': resolution: {integrity: sha512-l/44caGse+VpnY9gx0yvvc5QnnG3yG1FO3KZgYvNL1GZrfK86zIwAOgGEVlxDyRymzrU/KHiblPFpevKOmJmUA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] + '@oxc-parser/binding-android-arm64@0.121.0': + resolution: {integrity: sha512-/Dd1xIXboYAicw+twT2utxPD7bL8qh7d3ej0qvaYIMj3/EgIrGR+tSnjCUkiCT6g6uTC0neSS4JY8LxhdSU/sA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxc-parser/binding-android-arm64@0.133.0': resolution: {integrity: sha512-KUHmPMziLBp4u+zbrLdB7iWS7KshuZe+RAp7ELnY9SI9nNXBZ+dp8fiBqWOxhXqn+FQg3a4UcQhwmsJOKV8Jjg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxc-parser/binding-darwin-arm64@0.121.0': + resolution: {integrity: sha512-A0jNEvv7QMtCO1yk205t3DWU9sWUjQ2KNF0hSVO5W9R9r/R1BIvzG01UQAfmtC0dQm7sCrs5puixurKSfr2bRQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxc-parser/binding-darwin-arm64@0.133.0': resolution: {integrity: sha512-q8dWmnU/8ea2tga9w2f1PinQ5rcMPDUGkF64T189b65YMjUomET4oy5oRldOr4AwOQkneOG/Zttnz1Dvrc62wg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxc-parser/binding-darwin-x64@0.121.0': + resolution: {integrity: sha512-SsHzipdxTKUs3I9EOAPmnIimEeJOemqRlRDOp9LIj+96wtxZejF51gNibmoGq8KoqbT1ssAI5po/E3J+vEtXGA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxc-parser/binding-darwin-x64@0.133.0': resolution: {integrity: sha512-cOKeIELIB2bJnCKwqx4Rdj+1Lss/U6uCbLxRySZrhyOOQa1flKhwZFjEHRHxk8fU1NKmhK5OnTdPQ4CpjuFuVw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@oxc-parser/binding-freebsd-x64@0.121.0': + resolution: {integrity: sha512-v1APOTkCp+RWOIDAHRoaeW/UoaHF15a60E8eUL6kUQXh+i4K7PBwq2Wi7jm8p0ymID5/m/oC1w3W31Z/+r7HQw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxc-parser/binding-freebsd-x64@0.133.0': resolution: {integrity: sha512-OpaSv4pW3KgFrMYQxTaS0aOE4T1DQF3qZE/4B6uqqv1KgPWWd4UQhJALi8PJPX1RRV5K7ThKXRfF7qGg2+3l1A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@oxc-parser/binding-linux-arm-gnueabihf@0.121.0': + resolution: {integrity: sha512-PmqPQuqHZyFVWA4ycr0eu4VnTMmq9laOHZd+8R359w6kzuNZPvmmunmNJ8ybkm769A0nCoVp3TJ6dUz7B3FYIQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm-gnueabihf@0.133.0': resolution: {integrity: sha512-JGK1wlGrGwxBIlVSF7KWTX1/ru6BEtf28fRROztDRkLfiW+Kxa4onnriezMIiogfn9hVw2KzYcKiLjkLR2ns8A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.121.0': + resolution: {integrity: sha512-vF24htj+MOH+Q7y9A8NuC6pUZu8t/C2Fr/kDOi2OcNf28oogr2xadBPXAbml802E8wRAVfbta6YLDQTearz+jw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.133.0': resolution: {integrity: sha512-yuZO533Ftonxn/iyoqQzURzLQHMspvsIyfiCSNi1t/ER4eIQaR0SsmUOUm5b/lmSig7IWIUa5/BrbEkAPwcilQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm64-gnu@0.121.0': + resolution: {integrity: sha512-wjH8cIG2Lu/3d64iZpbYr73hREMgKAfu7fqpXjgM2S16y2zhTfDIp8EQjxO8vlDtKP5Rc7waZW72lh8nZtWrpA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-arm64-gnu@0.133.0': resolution: {integrity: sha512-hvpbqT5pN2rR+3+xtWeizwfR/aZ0vGceg6TqYMl+ToxMpk9/tmnX7kSvQnfEUkoua8mhogzvIKsAkn0wxgblBA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6212,6 +6263,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-arm64-musl@0.121.0': + resolution: {integrity: sha512-qT663J/W8yQFw3dtscbEi9LKJevr20V7uWs2MPGTnvNZ3rm8anhhE16gXGpxDOHeg9raySaSHKhd4IGa3YZvuw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-arm64-musl@0.133.0': resolution: {integrity: sha512-wJQGamIosQBoJHW9+S5XxrtKRo3eyJxsnS1XCPrqN0LHi8uw1pTqqTfn3t/NVuvbBg7Pumn4ez9Eidgcn0xbEg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6219,6 +6277,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-ppc64-gnu@0.121.0': + resolution: {integrity: sha512-mYNe4NhVvDBbPkAP8JaVS8lC1dsoJZWH5WCjpw5E+sjhk1R08wt3NnXYUzum7tIiWPfgQxbCMcoxgeemFASbRw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-ppc64-gnu@0.133.0': resolution: {integrity: sha512-Koaz32/O5+abIfrNGdyndgRvdOZ9jEf5/z3Ep9h3h2QWpdDiUQpVwgH0OcMXCs+l9aXxPLtkupqyVig9W6FDKw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6226,6 +6291,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.121.0': + resolution: {integrity: sha512-+QiFoGxhAbaI/amqX567784cDyyuZIpinBrJNxUzb+/L2aBRX67mN6Jv40pqduHf15yYByI+K5gUEygCuv0z9w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.133.0': resolution: {integrity: sha512-R4vOjWzxhnNWHnVLeiB6jNuIifdy9vcMXZGPc7StXcxBovI+U2zg1QhZ9o8OjV80oGivs1lX5NfPLzk4IPqlRA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6233,6 +6305,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-riscv64-musl@0.121.0': + resolution: {integrity: sha512-9ykEgyTa5JD/Uhv2sttbKnCfl2PieUfOjyxJC/oDL2UO0qtXOtjPLl7H8Kaj5G7p3hIvFgu3YWvAxvE0sqY+hQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-riscv64-musl@0.133.0': resolution: {integrity: sha512-iwgBNUTHiMdxARLYuM0SBlnYeb19iw1Ea5M+4ERZupCsBMLArti6FyZ6UfFjJxIiTDr2oW2DGQFxlQVQ/dW9rA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6240,6 +6319,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-s390x-gnu@0.121.0': + resolution: {integrity: sha512-DB1EW5VHZdc1lIRjOI3bW/wV6R6y0xlfvdVrqj6kKi7Ayu2U3UqUBdq9KviVkcUGd5Oq+dROqvUEEFRXGAM7EQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-s390x-gnu@0.133.0': resolution: {integrity: sha512-ZwZNo8FZmB/gVfboQl+wXilBigGl+6nQQs+nITOeAP/HcAOjiHl6XZJL9F/KXNEspODQcbjAiyjUbeCJd9a0fA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6247,6 +6333,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.121.0': + resolution: {integrity: sha512-s4lfobX9p4kPTclvMiH3gcQUd88VlnkMTF6n2MTMDAyX5FPNRhhRSFZK05Ykhf8Zy5NibV4PbGR6DnK7FGNN6A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.133.0': resolution: {integrity: sha512-govCvWx1dBlED3uu4qXctxpRcouu9I8Kn+DBktGCl760JtlGJzc9l/OmPJKlYWSbrRqKkMZehNeZ/4Wfma7uSA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6254,6 +6347,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-x64-musl@0.121.0': + resolution: {integrity: sha512-P9KlyTpuBuMi3NRGpJO8MicuGZfOoqZVRP1WjOecwx8yk4L/+mrCRNc5egSi0byhuReblBF2oVoDSMgV9Bj4Hw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-x64-musl@0.133.0': resolution: {integrity: sha512-ssTlpXD5Mq9uCssDJPzlRWqBt4Y7Zzd9i+XZhWmK/9Y6KUIuAxVYTYiI8lxcGWi0+3/Cz4A8q9UrD4NK9Y2j7g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6261,29 +6361,58 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-openharmony-arm64@0.121.0': + resolution: {integrity: sha512-R+4jrWOfF2OAPPhj3Eb3U5CaKNAH9/btMveMULIrcNW/hjfysFQlF8wE0GaVBr81dWz8JLgQlsxwctoL78JwXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxc-parser/binding-openharmony-arm64@0.133.0': resolution: {integrity: sha512-51aByfXhPtLEdWG4a2Ihdw6cPWV1ei1AarALpFdDP8MLWDLE2NuUMgbo3DERR2Kt8fT/ok1GUvBiLxVGke9uUQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@oxc-parser/binding-wasm32-wasi@0.121.0': + resolution: {integrity: sha512-5TFISkPTymKvsmIlKasPVTPuWxzCcrT8pM+p77+mtQbIZDd1UC8zww4CJcRI46kolmgrEX6QpKO8AvWMVZ+ifw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + '@oxc-parser/binding-wasm32-wasi@0.133.0': resolution: {integrity: sha512-2e16tkKp+wDO2GTAmXfxbBcCmGEaFPIJEIRBBmVKNVXSc8/fJsSIaBGyFTPHM9ST5GNWgJcYIt94rDTks+PLwA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] + '@oxc-parser/binding-win32-arm64-msvc@0.121.0': + resolution: {integrity: sha512-V0pxh4mql4XTt3aiEtRNUeBAUFOw5jzZNxPABLaOKAWrVzSr9+XUaB095lY7jqMf5t8vkfh8NManGB28zanYKw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxc-parser/binding-win32-arm64-msvc@0.133.0': resolution: {integrity: sha512-KPTNDKbxH1cglrqTyVeXHb4Pk4oksz8EcE1/v8zqU7N4UXbiHfA/IwtXZ2U77fnRAWBbgVkl/lZbL7o3hRdejg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.121.0': + resolution: {integrity: sha512-4Ob1qvYMPnlF2N9rdmKdkQFdrq16QVcQwBsO8yiPZXof0fHKFF+LmQV501XFbi7lHyrKm8rlJRfQ/M8bZZPVLw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.133.0': resolution: {integrity: sha512-Una1bNYv9zCavQrfnDR9wuZVB3itLjCEH4Oz7i6CwAJN/Xq9b+zbbcxmvdkKvvJt4Ngc/MBmIYlbLo3zS4TQ0A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.121.0': + resolution: {integrity: sha512-BOp1KCzdboB1tPqoCPXgntgFs0jjeSyOXHzgxVFR7B/qfr3F8r4YDacHkTOUNXtDgM8YwKnkf3rE5gwALYX7NA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.133.0': resolution: {integrity: sha512-kjBhCiOGSYTwDJQuuZa7a94JbP8htWu7J0X1KwH74kV2K5eYf6eyJRYmkpCDvr0XEL8tMxYI4WU1VekblFCLgg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -7840,10 +7969,6 @@ packages: css.escape@1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} - cssstyle@6.2.0: - resolution: {integrity: sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==} - engines: {node: '>=20'} - csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -8783,15 +8908,6 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - jsdom@28.1.0: - resolution: {integrity: sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - peerDependencies: - canvas: ^3.0.0 - peerDependenciesMeta: - canvas: - optional: true - jsdom@29.1.1: resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} @@ -9305,6 +9421,10 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + oxc-parser@0.121.0: + resolution: {integrity: sha512-ek9o58+SCv6AV7nchiAcUJy1DNE2CC5WRdBcO0mF+W4oRjNQfPO7b3pLjTHSFECpHkKGOZSQxx3hk8viIL5YCg==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-parser@0.133.0: resolution: {integrity: sha512-661RSx+ZcjBmjBYid+Fpp/2F5EbtildpeoZh5HdgnGs+jZ03nqQEQW8yGkt4BGyOC3OMPDQQRl8M5kqD2/g6jw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -10532,8 +10652,6 @@ packages: snapshots: - '@acemir/cssom@0.9.31': {} - '@adobe/css-tools@4.4.4': {} '@algolia/abtesting@1.14.1': @@ -10625,17 +10743,26 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@analogjs/vite-plugin-angular@2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))': + '@analogjs/vite-plugin-angular@2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0))': dependencies: + magic-string: 0.30.21 + obug: 2.1.1 + oxc-parser: 0.121.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + tinyglobby: 0.2.17 ts-morph: 21.0.1 optionalDependencies: - '@angular/build': 21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0) + '@angular/build': 21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0) + vite: 8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - '@analogjs/vitest-angular@2.2.3(@analogjs/vite-plugin-angular@2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)))(@angular-devkit/architect@0.2102.13(chokidar@5.0.0))(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))': + '@analogjs/vitest-angular@2.6.0(688197b90c183dc7305df80ff2aff7c1)': dependencies: - '@analogjs/vite-plugin-angular': 2.2.3(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0)) + '@analogjs/vite-plugin-angular': 2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) '@angular-devkit/architect': 0.2102.13(chokidar@5.0.0) - vitest: 4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) + '@angular-devkit/schematics': 21.2.13(chokidar@5.0.0) + vitest: 4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) '@angular-devkit/architect@0.2102.13(chokidar@5.0.0)': dependencies: @@ -10809,14 +10936,6 @@ snapshots: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 - '@asamuzakjp/dom-selector@6.8.1': - dependencies: - '@asamuzakjp/nwsapi': 2.3.9 - bidi-js: 1.0.3 - css-tree: 3.2.1 - is-potential-custom-element-name: 1.0.1 - lru-cache: 11.3.5 - '@asamuzakjp/dom-selector@7.1.1': dependencies: '@asamuzakjp/generational-cache': 1.0.1 @@ -12098,54 +12217,110 @@ snapshots: '@nx/nx-win32-x64-msvc@22.7.5': optional: true + '@oxc-parser/binding-android-arm-eabi@0.121.0': + optional: true + '@oxc-parser/binding-android-arm-eabi@0.133.0': optional: true + '@oxc-parser/binding-android-arm64@0.121.0': + optional: true + '@oxc-parser/binding-android-arm64@0.133.0': optional: true + '@oxc-parser/binding-darwin-arm64@0.121.0': + optional: true + '@oxc-parser/binding-darwin-arm64@0.133.0': optional: true + '@oxc-parser/binding-darwin-x64@0.121.0': + optional: true + '@oxc-parser/binding-darwin-x64@0.133.0': optional: true + '@oxc-parser/binding-freebsd-x64@0.121.0': + optional: true + '@oxc-parser/binding-freebsd-x64@0.133.0': optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.121.0': + optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.133.0': optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.121.0': + optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.133.0': optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.121.0': + optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.133.0': optional: true + '@oxc-parser/binding-linux-arm64-musl@0.121.0': + optional: true + '@oxc-parser/binding-linux-arm64-musl@0.133.0': optional: true + '@oxc-parser/binding-linux-ppc64-gnu@0.121.0': + optional: true + '@oxc-parser/binding-linux-ppc64-gnu@0.133.0': optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.121.0': + optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.133.0': optional: true + '@oxc-parser/binding-linux-riscv64-musl@0.121.0': + optional: true + '@oxc-parser/binding-linux-riscv64-musl@0.133.0': optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.121.0': + optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.133.0': optional: true + '@oxc-parser/binding-linux-x64-gnu@0.121.0': + optional: true + '@oxc-parser/binding-linux-x64-gnu@0.133.0': optional: true + '@oxc-parser/binding-linux-x64-musl@0.121.0': + optional: true + '@oxc-parser/binding-linux-x64-musl@0.133.0': optional: true + '@oxc-parser/binding-openharmony-arm64@0.121.0': + optional: true + '@oxc-parser/binding-openharmony-arm64@0.133.0': optional: true + '@oxc-parser/binding-wasm32-wasi@0.121.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + optional: true + '@oxc-parser/binding-wasm32-wasi@0.133.0': dependencies: '@emnapi/core': 1.10.0 @@ -12153,12 +12328,21 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.121.0': + optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.133.0': optional: true + '@oxc-parser/binding-win32-ia32-msvc@0.121.0': + optional: true + '@oxc-parser/binding-win32-ia32-msvc@0.133.0': optional: true + '@oxc-parser/binding-win32-x64-msvc@0.121.0': + optional: true + '@oxc-parser/binding-win32-x64-msvc@0.133.0': optional: true @@ -13591,13 +13775,6 @@ snapshots: css.escape@1.5.1: {} - cssstyle@6.2.0: - dependencies: - '@asamuzakjp/css-color': 5.1.11 - '@csstools/css-syntax-patches-for-csstree': 1.1.3(css-tree@3.2.1) - css-tree: 3.2.1 - lru-cache: 11.3.5 - csstype@3.2.3: {} data-urls@7.0.0: @@ -14669,33 +14846,6 @@ snapshots: dependencies: argparse: 2.0.1 - jsdom@28.1.0: - dependencies: - '@acemir/cssom': 0.9.31 - '@asamuzakjp/dom-selector': 6.8.1 - '@bramus/specificity': 2.4.2 - '@exodus/bytes': 1.15.0 - cssstyle: 6.2.0 - data-urls: 7.0.0 - decimal.js: 10.6.0 - html-encoding-sniffer: 6.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - is-potential-custom-element-name: 1.0.1 - parse5: 8.0.1 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 6.0.1 - undici: 7.25.0 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 8.0.1 - whatwg-mimetype: 5.0.0 - whatwg-url: 16.0.1 - xml-name-validator: 5.0.0 - transitivePeerDependencies: - - '@noble/hashes' - - supports-color - jsdom@29.1.1: dependencies: '@asamuzakjp/css-color': 5.1.11 @@ -15358,6 +15508,34 @@ snapshots: outdent@0.5.0: {} + oxc-parser@0.121.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): + dependencies: + '@oxc-project/types': 0.121.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.121.0 + '@oxc-parser/binding-android-arm64': 0.121.0 + '@oxc-parser/binding-darwin-arm64': 0.121.0 + '@oxc-parser/binding-darwin-x64': 0.121.0 + '@oxc-parser/binding-freebsd-x64': 0.121.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.121.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.121.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.121.0 + '@oxc-parser/binding-linux-arm64-musl': 0.121.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.121.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.121.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.121.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.121.0 + '@oxc-parser/binding-linux-x64-gnu': 0.121.0 + '@oxc-parser/binding-linux-x64-musl': 0.121.0 + '@oxc-parser/binding-openharmony-arm64': 0.121.0 + '@oxc-parser/binding-wasm32-wasi': 0.121.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@oxc-parser/binding-win32-arm64-msvc': 0.121.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.121.0 + '@oxc-parser/binding-win32-x64-msvc': 0.121.0 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + oxc-parser@0.133.0: dependencies: '@oxc-project/types': 0.133.0 @@ -16409,35 +16587,6 @@ snapshots: optionalDependencies: vite: 8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0) - vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@28.1.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)): - dependencies: - '@vitest/expect': 4.1.7 - '@vitest/mocker': 4.1.7(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.7 - '@vitest/runner': 4.1.7 - '@vitest/snapshot': 4.1.7 - '@vitest/spy': 4.1.7 - '@vitest/utils': 4.1.7 - es-module-lexer: 2.0.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.0.0 - tinybench: 2.9.0 - tinyexec: 1.1.2 - tinyglobby: 0.2.17 - tinyrainbow: 3.1.0 - vite: 8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/node': 25.7.0 - happy-dom: 20.9.0 - jsdom: 28.1.0 - transitivePeerDependencies: - - msw - vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.7 From cf80673f5d8f6c426efa767e4e520ab9219ff1d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Mon, 13 Jul 2026 22:02:35 -0400 Subject: [PATCH 09/10] fix: address angular review feedback --- .../functions/injectAsyncBatchedCallback.md | 2 +- .../reference/functions/injectAsyncBatcher.md | 2 +- .../functions/injectAsyncDebouncedCallback.md | 2 +- .../functions/injectAsyncDebouncer.md | 2 +- .../functions/injectAsyncQueuedSignal.md | 2 +- .../reference/functions/injectAsyncQueuer.md | 2 +- .../injectAsyncRateLimitedCallback.md | 2 +- .../functions/injectAsyncRateLimiter.md | 2 +- .../functions/injectAsyncThrottledCallback.md | 2 +- .../functions/injectAsyncThrottler.md | 2 +- .../functions/injectBatchedCallback.md | 2 +- .../reference/functions/injectBatcher.md | 2 +- .../functions/injectDebouncedCallback.md | 2 +- .../functions/injectDebouncedSignal.md | 2 +- .../functions/injectDebouncedValue.md | 4 +-- .../reference/functions/injectDebouncer.md | 2 +- .../reference/functions/injectQueuedSignal.md | 2 +- .../reference/functions/injectQueuedValue.md | 4 +-- .../reference/functions/injectQueuer.md | 2 +- .../functions/injectRateLimitedCallback.md | 2 +- .../functions/injectRateLimitedSignal.md | 2 +- .../functions/injectRateLimitedValue.md | 4 +-- .../reference/functions/injectRateLimiter.md | 2 +- .../functions/injectThrottledCallback.md | 2 +- .../functions/injectThrottledSignal.md | 2 +- .../functions/injectThrottledValue.md | 4 +-- .../reference/functions/injectThrottler.md | 2 +- .../functions/providePacerOptions.md | 2 +- .../interfaces/AngularAsyncBatcher.md | 6 ++-- .../interfaces/AngularAsyncBatcherOptions.md | 4 +-- .../interfaces/AngularAsyncDebouncer.md | 6 ++-- .../AngularAsyncDebouncerOptions.md | 4 +-- .../interfaces/AngularAsyncQueuer.md | 6 ++-- .../interfaces/AngularAsyncQueuerOptions.md | 4 +-- .../interfaces/AngularAsyncRateLimiter.md | 6 ++-- .../AngularAsyncRateLimiterOptions.md | 4 +-- .../interfaces/AngularAsyncThrottler.md | 6 ++-- .../AngularAsyncThrottlerOptions.md | 4 +-- .../reference/interfaces/AngularBatcher.md | 6 ++-- .../interfaces/AngularBatcherOptions.md | 4 +-- .../reference/interfaces/AngularDebouncer.md | 6 ++-- .../interfaces/AngularDebouncerOptions.md | 4 +-- .../reference/interfaces/AngularQueuer.md | 6 ++-- .../interfaces/AngularQueuerOptions.md | 4 +-- .../interfaces/AngularRateLimiter.md | 6 ++-- .../interfaces/AngularRateLimiterOptions.md | 4 +-- .../reference/interfaces/AngularThrottler.md | 6 ++-- .../interfaces/AngularThrottlerOptions.md | 4 +-- .../reference/interfaces/AsyncQueuedSignal.md | 25 +++++++------ .../reference/interfaces/DebouncedSignal.md | 8 ++--- .../reference/interfaces/QueuedSignal.md | 36 +++++++++---------- .../reference/interfaces/QueuedValueSignal.md | 36 +++++++++---------- .../reference/interfaces/RateLimitedSignal.md | 8 ++--- .../reference/interfaces/ThrottledSignal.md | 8 ++--- .../async-queuer/injectAsyncQueuedSignal.ts | 16 ++++++++- .../src/queuer/injectQueuedSignal.ts | 17 +++++++-- .../src/queuer/injectQueuedValue.ts | 17 +++++++-- packages/angular-pacer/tsconfig.docs.json | 1 + packages/angular-pacer/tsconfig.lib.json | 4 +++ packages/angular-pacer/tsconfig.spec.json | 17 ++++++--- packages/angular-pacer/tsconfig.vitest.json | 7 ++++ packages/angular-pacer/vitest.config.ts | 11 +++++- pnpm-lock.yaml | 19 ++++++---- 63 files changed, 232 insertions(+), 162 deletions(-) create mode 100644 packages/angular-pacer/tsconfig.vitest.json diff --git a/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md b/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md index 52b770e6b..f2954f1ee 100644 --- a/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md @@ -9,7 +9,7 @@ title: injectAsyncBatchedCallback function injectAsyncBatchedCallback(fn, options): (item) => Promise; ``` -Defined in: [angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts:42](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts#L42) +Defined in: [async-batcher/injectAsyncBatchedCallback.ts:42](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts#L42) An Angular function that creates an async batched version of a callback function. This function is essentially a wrapper around `injectAsyncBatcher` that provides diff --git a/docs/framework/angular/reference/functions/injectAsyncBatcher.md b/docs/framework/angular/reference/functions/injectAsyncBatcher.md index c5352adb7..85be272d0 100644 --- a/docs/framework/angular/reference/functions/injectAsyncBatcher.md +++ b/docs/framework/angular/reference/functions/injectAsyncBatcher.md @@ -12,7 +12,7 @@ function injectAsyncBatcher( selector): AngularAsyncBatcher; ``` -Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:96](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L96) +Defined in: [async-batcher/injectAsyncBatcher.ts:96](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L96) An Angular function that creates and manages an AsyncBatcher instance. diff --git a/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md b/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md index efe6e3028..a4788cc1e 100644 --- a/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md @@ -9,7 +9,7 @@ title: injectAsyncDebouncedCallback function injectAsyncDebouncedCallback(fn, options): (...args) => Promise> | undefined>; ``` -Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts:40](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts#L40) +Defined in: [async-debouncer/injectAsyncDebouncedCallback.ts:40](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts#L40) An Angular function that creates an async debounced version of a callback function. This function is essentially a wrapper around `injectAsyncDebouncer` that provides diff --git a/docs/framework/angular/reference/functions/injectAsyncDebouncer.md b/docs/framework/angular/reference/functions/injectAsyncDebouncer.md index ebbbbfe64..f789f2d16 100644 --- a/docs/framework/angular/reference/functions/injectAsyncDebouncer.md +++ b/docs/framework/angular/reference/functions/injectAsyncDebouncer.md @@ -12,7 +12,7 @@ function injectAsyncDebouncer( selector): AngularAsyncDebouncer; ``` -Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:119](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L119) +Defined in: [async-debouncer/injectAsyncDebouncer.ts:119](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L119) An Angular function that creates and manages an AsyncDebouncer instance. diff --git a/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md b/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md index a3908a29d..f35268143 100644 --- a/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md +++ b/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md @@ -12,7 +12,7 @@ function injectAsyncQueuedSignal( selector): AsyncQueuedSignal; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:52](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L52) +Defined in: [async-queuer/injectAsyncQueuedSignal.ts:66](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L66) An Angular function that creates an async queuer with managed state, combining Angular's signals with async queuing functionality. This function provides both the current queue state and queue control methods. diff --git a/docs/framework/angular/reference/functions/injectAsyncQueuer.md b/docs/framework/angular/reference/functions/injectAsyncQueuer.md index 952d12379..ca8d18a0d 100644 --- a/docs/framework/angular/reference/functions/injectAsyncQueuer.md +++ b/docs/framework/angular/reference/functions/injectAsyncQueuer.md @@ -12,7 +12,7 @@ function injectAsyncQueuer( selector): AngularAsyncQueuer; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:96](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L96) +Defined in: [async-queuer/injectAsyncQueuer.ts:96](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L96) An Angular function that creates and manages an AsyncQueuer instance. diff --git a/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md b/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md index 6ecf6ab12..dd425faa2 100644 --- a/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md @@ -9,7 +9,7 @@ title: injectAsyncRateLimitedCallback function injectAsyncRateLimitedCallback(fn, options): (...args) => Promise> | undefined>; ``` -Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts:43](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts#L43) +Defined in: [async-rate-limiter/injectAsyncRateLimitedCallback.ts:43](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts#L43) An Angular function that creates an async rate-limited version of a callback function. This function is essentially a wrapper around `injectAsyncRateLimiter` that provides diff --git a/docs/framework/angular/reference/functions/injectAsyncRateLimiter.md b/docs/framework/angular/reference/functions/injectAsyncRateLimiter.md index 14e2bae50..2c91b34ca 100644 --- a/docs/framework/angular/reference/functions/injectAsyncRateLimiter.md +++ b/docs/framework/angular/reference/functions/injectAsyncRateLimiter.md @@ -12,7 +12,7 @@ function injectAsyncRateLimiter( selector): AngularAsyncRateLimiter; ``` -Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:83](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L83) +Defined in: [async-rate-limiter/injectAsyncRateLimiter.ts:83](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L83) An Angular function that creates and manages an AsyncRateLimiter instance. diff --git a/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md b/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md index 59ccb9f9b..fba10dbb1 100644 --- a/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md +++ b/docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md @@ -9,7 +9,7 @@ title: injectAsyncThrottledCallback function injectAsyncThrottledCallback(fn, options): (...args) => Promise> | undefined>; ``` -Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts:41](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts#L41) +Defined in: [async-throttler/injectAsyncThrottledCallback.ts:41](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts#L41) An Angular function that creates an async throttled version of a callback function. This function is essentially a wrapper around `injectAsyncThrottler` that provides diff --git a/docs/framework/angular/reference/functions/injectAsyncThrottler.md b/docs/framework/angular/reference/functions/injectAsyncThrottler.md index 92b1cc5c9..ba4ef8502 100644 --- a/docs/framework/angular/reference/functions/injectAsyncThrottler.md +++ b/docs/framework/angular/reference/functions/injectAsyncThrottler.md @@ -12,7 +12,7 @@ function injectAsyncThrottler( selector): AngularAsyncThrottler; ``` -Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:98](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L98) +Defined in: [async-throttler/injectAsyncThrottler.ts:98](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L98) An Angular function that creates and manages an AsyncThrottler instance. diff --git a/docs/framework/angular/reference/functions/injectBatchedCallback.md b/docs/framework/angular/reference/functions/injectBatchedCallback.md index 48fda14b1..1a11024ff 100644 --- a/docs/framework/angular/reference/functions/injectBatchedCallback.md +++ b/docs/framework/angular/reference/functions/injectBatchedCallback.md @@ -9,7 +9,7 @@ title: injectBatchedCallback function injectBatchedCallback(fn, options): (item) => void; ``` -Defined in: [angular-pacer/src/batcher/injectBatchedCallback.ts:40](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatchedCallback.ts#L40) +Defined in: [batcher/injectBatchedCallback.ts:40](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatchedCallback.ts#L40) An Angular function that creates a batched version of a callback function. This function is essentially a wrapper around `injectBatcher` that provides diff --git a/docs/framework/angular/reference/functions/injectBatcher.md b/docs/framework/angular/reference/functions/injectBatcher.md index 34fa5a0bd..fc2c893de 100644 --- a/docs/framework/angular/reference/functions/injectBatcher.md +++ b/docs/framework/angular/reference/functions/injectBatcher.md @@ -12,7 +12,7 @@ function injectBatcher( selector): AngularBatcher; ``` -Defined in: [angular-pacer/src/batcher/injectBatcher.ts:85](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L85) +Defined in: [batcher/injectBatcher.ts:85](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L85) An Angular function that creates and manages a Batcher instance. diff --git a/docs/framework/angular/reference/functions/injectDebouncedCallback.md b/docs/framework/angular/reference/functions/injectDebouncedCallback.md index b89d68fd6..008a2680d 100644 --- a/docs/framework/angular/reference/functions/injectDebouncedCallback.md +++ b/docs/framework/angular/reference/functions/injectDebouncedCallback.md @@ -9,7 +9,7 @@ title: injectDebouncedCallback function injectDebouncedCallback(fn, options): (...args) => void; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedCallback.ts:40](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts#L40) +Defined in: [debouncer/injectDebouncedCallback.ts:40](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts#L40) An Angular function that creates a debounced version of a callback function. This function is essentially a wrapper around `injectDebouncer` that provides diff --git a/docs/framework/angular/reference/functions/injectDebouncedSignal.md b/docs/framework/angular/reference/functions/injectDebouncedSignal.md index 103074483..ef77bc5b6 100644 --- a/docs/framework/angular/reference/functions/injectDebouncedSignal.md +++ b/docs/framework/angular/reference/functions/injectDebouncedSignal.md @@ -12,7 +12,7 @@ function injectDebouncedSignal( selector?): DebouncedSignal; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:63](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L63) +Defined in: [debouncer/injectDebouncedSignal.ts:63](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L63) An Angular function that creates a debounced state signal, combining Angular's signal with debouncing functionality. This function provides both the current debounced value and methods to update it. diff --git a/docs/framework/angular/reference/functions/injectDebouncedValue.md b/docs/framework/angular/reference/functions/injectDebouncedValue.md index b064c0ab6..dca60a9de 100644 --- a/docs/framework/angular/reference/functions/injectDebouncedValue.md +++ b/docs/framework/angular/reference/functions/injectDebouncedValue.md @@ -14,7 +14,7 @@ function injectDebouncedValue( selector?): DebouncedSignal; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedValue.ts:75](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L75) +Defined in: [debouncer/injectDebouncedValue.ts:75](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L75) An Angular function that creates a debounced value that updates only after a specified delay. Unlike injectDebouncedSignal, this function automatically tracks changes to the input signal @@ -119,7 +119,7 @@ function injectDebouncedValue( selector?): DebouncedSignal; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedValue.ts:80](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L80) +Defined in: [debouncer/injectDebouncedValue.ts:80](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedValue.ts#L80) An Angular function that creates a debounced value that updates only after a specified delay. Unlike injectDebouncedSignal, this function automatically tracks changes to the input signal diff --git a/docs/framework/angular/reference/functions/injectDebouncer.md b/docs/framework/angular/reference/functions/injectDebouncer.md index d40c71f5c..24199b8f2 100644 --- a/docs/framework/angular/reference/functions/injectDebouncer.md +++ b/docs/framework/angular/reference/functions/injectDebouncer.md @@ -12,7 +12,7 @@ function injectDebouncer( selector): AngularDebouncer; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:109](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L109) +Defined in: [debouncer/injectDebouncer.ts:109](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L109) An Angular function that creates and manages a Debouncer instance. diff --git a/docs/framework/angular/reference/functions/injectQueuedSignal.md b/docs/framework/angular/reference/functions/injectQueuedSignal.md index 2adfae202..c1e55b46d 100644 --- a/docs/framework/angular/reference/functions/injectQueuedSignal.md +++ b/docs/framework/angular/reference/functions/injectQueuedSignal.md @@ -12,7 +12,7 @@ function injectQueuedSignal( selector): QueuedSignal; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:43](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L43) +Defined in: [queuer/injectQueuedSignal.ts:56](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L56) An Angular function that creates a queuer with managed state, combining Angular's signals with queuing functionality. This function provides both the current queue state and queue control methods. diff --git a/docs/framework/angular/reference/functions/injectQueuedValue.md b/docs/framework/angular/reference/functions/injectQueuedValue.md index e0a185c7c..54a992c6d 100644 --- a/docs/framework/angular/reference/functions/injectQueuedValue.md +++ b/docs/framework/angular/reference/functions/injectQueuedValue.md @@ -14,7 +14,7 @@ function injectQueuedValue( selector?): QueuedValueSignal; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L38) +Defined in: [queuer/injectQueuedValue.ts:51](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L51) An Angular function that creates a queued value that processes state changes in order with an optional delay. This function uses injectQueuedSignal internally to manage a queue of state changes and apply them sequentially. @@ -79,7 +79,7 @@ function injectQueuedValue( selector?): QueuedValueSignal; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:49](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L49) +Defined in: [queuer/injectQueuedValue.ts:62](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L62) An Angular function that creates a queued value that processes state changes in order with an optional delay. This function uses injectQueuedSignal internally to manage a queue of state changes and apply them sequentially. diff --git a/docs/framework/angular/reference/functions/injectQueuer.md b/docs/framework/angular/reference/functions/injectQueuer.md index 211d56d62..ac51db50a 100644 --- a/docs/framework/angular/reference/functions/injectQueuer.md +++ b/docs/framework/angular/reference/functions/injectQueuer.md @@ -12,7 +12,7 @@ function injectQueuer( selector): AngularQueuer; ``` -Defined in: [angular-pacer/src/queuer/injectQueuer.ts:90](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L90) +Defined in: [queuer/injectQueuer.ts:90](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L90) An Angular function that creates and manages a Queuer instance. diff --git a/docs/framework/angular/reference/functions/injectRateLimitedCallback.md b/docs/framework/angular/reference/functions/injectRateLimitedCallback.md index 42402c779..a10ba39ba 100644 --- a/docs/framework/angular/reference/functions/injectRateLimitedCallback.md +++ b/docs/framework/angular/reference/functions/injectRateLimitedCallback.md @@ -9,7 +9,7 @@ title: injectRateLimitedCallback function injectRateLimitedCallback(fn, options): (...args) => boolean; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts#L39) +Defined in: [rate-limiter/injectRateLimitedCallback.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts#L39) An Angular function that creates a rate-limited version of a callback function. This function is essentially a wrapper around `injectRateLimiter` that provides diff --git a/docs/framework/angular/reference/functions/injectRateLimitedSignal.md b/docs/framework/angular/reference/functions/injectRateLimitedSignal.md index 3debcfb2c..d8a91fabd 100644 --- a/docs/framework/angular/reference/functions/injectRateLimitedSignal.md +++ b/docs/framework/angular/reference/functions/injectRateLimitedSignal.md @@ -12,7 +12,7 @@ function injectRateLimitedSignal( selector?): RateLimitedSignal; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:57](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L57) +Defined in: [rate-limiter/injectRateLimitedSignal.ts:57](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L57) An Angular function that creates a rate-limited state signal, combining Angular's signal with rate limiting functionality. This function provides both the current rate-limited value and methods to update it. diff --git a/docs/framework/angular/reference/functions/injectRateLimitedValue.md b/docs/framework/angular/reference/functions/injectRateLimitedValue.md index d572403ad..03b51058a 100644 --- a/docs/framework/angular/reference/functions/injectRateLimitedValue.md +++ b/docs/framework/angular/reference/functions/injectRateLimitedValue.md @@ -14,7 +14,7 @@ function injectRateLimitedValue( selector?): RateLimitedSignal; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:48](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L48) +Defined in: [rate-limiter/injectRateLimitedValue.ts:48](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L48) An Angular function that creates a rate-limited value that updates at most a certain number of times within a time window. Unlike injectRateLimitedSignal, this function automatically tracks changes to the input signal @@ -93,7 +93,7 @@ function injectRateLimitedValue( selector?): RateLimitedSignal; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedValue.ts:53](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L53) +Defined in: [rate-limiter/injectRateLimitedValue.ts:53](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts#L53) An Angular function that creates a rate-limited value that updates at most a certain number of times within a time window. Unlike injectRateLimitedSignal, this function automatically tracks changes to the input signal diff --git a/docs/framework/angular/reference/functions/injectRateLimiter.md b/docs/framework/angular/reference/functions/injectRateLimiter.md index d77c36663..215a8779f 100644 --- a/docs/framework/angular/reference/functions/injectRateLimiter.md +++ b/docs/framework/angular/reference/functions/injectRateLimiter.md @@ -12,7 +12,7 @@ function injectRateLimiter( selector): AngularRateLimiter; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:114](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L114) +Defined in: [rate-limiter/injectRateLimiter.ts:114](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L114) An Angular function that creates and manages a RateLimiter instance. diff --git a/docs/framework/angular/reference/functions/injectThrottledCallback.md b/docs/framework/angular/reference/functions/injectThrottledCallback.md index aba9cbafe..1831872bd 100644 --- a/docs/framework/angular/reference/functions/injectThrottledCallback.md +++ b/docs/framework/angular/reference/functions/injectThrottledCallback.md @@ -9,7 +9,7 @@ title: injectThrottledCallback function injectThrottledCallback(fn, options): (...args) => void; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledCallback.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledCallback.ts#L39) +Defined in: [throttler/injectThrottledCallback.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledCallback.ts#L39) An Angular function that creates a throttled version of a callback function. This function is essentially a wrapper around `injectThrottler` that provides diff --git a/docs/framework/angular/reference/functions/injectThrottledSignal.md b/docs/framework/angular/reference/functions/injectThrottledSignal.md index 65bc319cb..46abdb1c1 100644 --- a/docs/framework/angular/reference/functions/injectThrottledSignal.md +++ b/docs/framework/angular/reference/functions/injectThrottledSignal.md @@ -12,7 +12,7 @@ function injectThrottledSignal( selector?): ThrottledSignal; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:64](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L64) +Defined in: [throttler/injectThrottledSignal.ts:64](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L64) An Angular function that creates a throttled state signal, combining Angular's signal with throttling functionality. This function provides both the current throttled value and methods to update it. diff --git a/docs/framework/angular/reference/functions/injectThrottledValue.md b/docs/framework/angular/reference/functions/injectThrottledValue.md index 1ec06b87c..3b70770e1 100644 --- a/docs/framework/angular/reference/functions/injectThrottledValue.md +++ b/docs/framework/angular/reference/functions/injectThrottledValue.md @@ -14,7 +14,7 @@ function injectThrottledValue( selector?): ThrottledSignal; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledValue.ts:73](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L73) +Defined in: [throttler/injectThrottledValue.ts:73](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L73) An Angular function that creates a throttled value that updates at most once within a specified time window. Unlike injectThrottledSignal, this function automatically tracks changes to the input signal @@ -118,7 +118,7 @@ function injectThrottledValue( selector?): ThrottledSignal; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledValue.ts:78](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L78) +Defined in: [throttler/injectThrottledValue.ts:78](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledValue.ts#L78) An Angular function that creates a throttled value that updates at most once within a specified time window. Unlike injectThrottledSignal, this function automatically tracks changes to the input signal diff --git a/docs/framework/angular/reference/functions/injectThrottler.md b/docs/framework/angular/reference/functions/injectThrottler.md index aab1eb489..7c3b675a2 100644 --- a/docs/framework/angular/reference/functions/injectThrottler.md +++ b/docs/framework/angular/reference/functions/injectThrottler.md @@ -12,7 +12,7 @@ function injectThrottler( selector): AngularThrottler; ``` -Defined in: [angular-pacer/src/throttler/injectThrottler.ts:109](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L109) +Defined in: [throttler/injectThrottler.ts:109](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L109) An Angular function that creates and manages a Throttler instance. diff --git a/docs/framework/angular/reference/functions/providePacerOptions.md b/docs/framework/angular/reference/functions/providePacerOptions.md index 9528fecfc..2b4d6a494 100644 --- a/docs/framework/angular/reference/functions/providePacerOptions.md +++ b/docs/framework/angular/reference/functions/providePacerOptions.md @@ -9,7 +9,7 @@ title: providePacerOptions function providePacerOptions(options): Provider; ``` -Defined in: [angular-pacer/src/provider/pacer-provider.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/provider/pacer-provider.ts#L33) +Defined in: [provider/pacer-provider.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/provider/pacer-provider.ts#L33) Provides default options for all Pacer utilities in the Angular application. Use this function when configuring your Angular application to set default options diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncBatcher.md b/docs/framework/angular/reference/interfaces/AngularAsyncBatcher.md index fb63c2c3d..daffafc95 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncBatcher.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncBatcher.md @@ -5,7 +5,7 @@ title: AngularAsyncBatcher # Interface: AngularAsyncBatcher\ -Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L24) +Defined in: [async-batcher/injectAsyncBatcher.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L24) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:24](https://g readonly state: Signal>; ``` -Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L33) +Defined in: [async-batcher/injectAsyncBatcher.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L33) Reactive state signal that will be updated when the async batcher state changes @@ -44,7 +44,7 @@ Use this instead of `batcher.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L38) +Defined in: [async-batcher/injectAsyncBatcher.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L38) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncBatcherOptions.md b/docs/framework/angular/reference/interfaces/AngularAsyncBatcherOptions.md index be55902c5..9f4b8c519 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncBatcherOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncBatcherOptions.md @@ -5,7 +5,7 @@ title: AngularAsyncBatcherOptions # Interface: AngularAsyncBatcherOptions\ -Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L12) +Defined in: [async-batcher/injectAsyncBatcher.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L12) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:12](https://g optional onUnmount: (batcher) => void; ``` -Defined in: [angular-pacer/src/async-batcher/injectAsyncBatcher.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L21) +Defined in: [async-batcher/injectAsyncBatcher.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-batcher/injectAsyncBatcher.ts#L21) Optional callback invoked when the component is destroyed. Receives the batcher instance. When provided, replaces the default cleanup (cancel + abort); use it to call flush(), cancel(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncDebouncer.md b/docs/framework/angular/reference/interfaces/AngularAsyncDebouncer.md index e11e05ff1..5f41f4746 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncDebouncer.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncDebouncer.md @@ -5,7 +5,7 @@ title: AngularAsyncDebouncer # Interface: AngularAsyncDebouncer\ -Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:25](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L25) +Defined in: [async-debouncer/injectAsyncDebouncer.ts:25](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L25) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:25](https readonly state: Signal>; ``` -Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L34) +Defined in: [async-debouncer/injectAsyncDebouncer.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L34) Reactive state signal that will be updated when the async debouncer state changes @@ -44,7 +44,7 @@ Use this instead of `debouncer.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L39) +Defined in: [async-debouncer/injectAsyncDebouncer.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L39) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncDebouncerOptions.md b/docs/framework/angular/reference/interfaces/AngularAsyncDebouncerOptions.md index e4a838f19..3d447dcdc 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncDebouncerOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncDebouncerOptions.md @@ -5,7 +5,7 @@ title: AngularAsyncDebouncerOptions # Interface: AngularAsyncDebouncerOptions\ -Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L13) +Defined in: [async-debouncer/injectAsyncDebouncer.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L13) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:13](https optional onUnmount: (debouncer) => void; ``` -Defined in: [angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts:22](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L22) +Defined in: [async-debouncer/injectAsyncDebouncer.ts:22](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-debouncer/injectAsyncDebouncer.ts#L22) Optional callback invoked when the component is destroyed. Receives the debouncer instance. When provided, replaces the default cleanup (cancel + abort); use it to call flush(), cancel(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncQueuer.md b/docs/framework/angular/reference/interfaces/AngularAsyncQueuer.md index 0aedf5979..71326a07d 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncQueuer.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncQueuer.md @@ -5,7 +5,7 @@ title: AngularAsyncQueuer # Interface: AngularAsyncQueuer\ -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L24) +Defined in: [async-queuer/injectAsyncQueuer.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L24) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:24](https://git readonly state: Signal>; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L33) +Defined in: [async-queuer/injectAsyncQueuer.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L33) Reactive state signal that will be updated when the async queuer state changes @@ -44,7 +44,7 @@ Use this instead of `queuer.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L38) +Defined in: [async-queuer/injectAsyncQueuer.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L38) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncQueuerOptions.md b/docs/framework/angular/reference/interfaces/AngularAsyncQueuerOptions.md index 898b3728f..fe10c39d3 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncQueuerOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncQueuerOptions.md @@ -5,7 +5,7 @@ title: AngularAsyncQueuerOptions # Interface: AngularAsyncQueuerOptions\ -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L12) +Defined in: [async-queuer/injectAsyncQueuer.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L12) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:12](https://git optional onUnmount: (queuer) => void; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuer.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L21) +Defined in: [async-queuer/injectAsyncQueuer.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuer.ts#L21) Optional callback invoked when the component is destroyed. Receives the queuer instance. When provided, replaces the default cleanup (stop + abort); use it to call flush(), stop(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiter.md b/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiter.md index a1031e024..4e5ebeea8 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiter.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiter.md @@ -5,7 +5,7 @@ title: AngularAsyncRateLimiter # Interface: AngularAsyncRateLimiter\ -Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L24) +Defined in: [async-rate-limiter/injectAsyncRateLimiter.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L24) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:24]( readonly state: Signal>; ``` -Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L33) +Defined in: [async-rate-limiter/injectAsyncRateLimiter.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L33) Reactive state signal that will be updated when the async rate limiter state changes @@ -44,7 +44,7 @@ Use this instead of `rateLimiter.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L38) +Defined in: [async-rate-limiter/injectAsyncRateLimiter.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L38) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiterOptions.md b/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiterOptions.md index e645aa95c..c4f2e7acb 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiterOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncRateLimiterOptions.md @@ -5,7 +5,7 @@ title: AngularAsyncRateLimiterOptions # Interface: AngularAsyncRateLimiterOptions\ -Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L13) +Defined in: [async-rate-limiter/injectAsyncRateLimiter.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L13) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:13]( optional onUnmount: (rateLimiter) => void; ``` -Defined in: [angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L21) +Defined in: [async-rate-limiter/injectAsyncRateLimiter.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimiter.ts#L21) Optional callback invoked when the component is destroyed. Receives the rate limiter instance. When provided, replaces the default cleanup (abort). diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncThrottler.md b/docs/framework/angular/reference/interfaces/AngularAsyncThrottler.md index 59446a1d6..7e2f89802 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncThrottler.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncThrottler.md @@ -5,7 +5,7 @@ title: AngularAsyncThrottler # Interface: AngularAsyncThrottler\ -Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:25](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L25) +Defined in: [async-throttler/injectAsyncThrottler.ts:25](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L25) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:25](https readonly state: Signal>; ``` -Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L34) +Defined in: [async-throttler/injectAsyncThrottler.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L34) Reactive state signal that will be updated when the async throttler state changes @@ -44,7 +44,7 @@ Use this instead of `throttler.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L39) +Defined in: [async-throttler/injectAsyncThrottler.ts:39](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L39) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularAsyncThrottlerOptions.md b/docs/framework/angular/reference/interfaces/AngularAsyncThrottlerOptions.md index 910ac16c4..ad14e7bfa 100644 --- a/docs/framework/angular/reference/interfaces/AngularAsyncThrottlerOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularAsyncThrottlerOptions.md @@ -5,7 +5,7 @@ title: AngularAsyncThrottlerOptions # Interface: AngularAsyncThrottlerOptions\ -Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L13) +Defined in: [async-throttler/injectAsyncThrottler.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L13) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:13](https optional onUnmount: (throttler) => void; ``` -Defined in: [angular-pacer/src/async-throttler/injectAsyncThrottler.ts:22](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L22) +Defined in: [async-throttler/injectAsyncThrottler.ts:22](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-throttler/injectAsyncThrottler.ts#L22) Optional callback invoked when the component is destroyed. Receives the throttler instance. When provided, replaces the default cleanup (cancel + abort); use it to call flush(), cancel(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AngularBatcher.md b/docs/framework/angular/reference/interfaces/AngularBatcher.md index b3f69832d..678f78648 100644 --- a/docs/framework/angular/reference/interfaces/AngularBatcher.md +++ b/docs/framework/angular/reference/interfaces/AngularBatcher.md @@ -5,7 +5,7 @@ title: AngularBatcher # Interface: AngularBatcher\ -Defined in: [angular-pacer/src/batcher/injectBatcher.ts:20](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L20) +Defined in: [batcher/injectBatcher.ts:20](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L20) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/batcher/injectBatcher.ts:20](https://github.com/T readonly state: Signal>; ``` -Defined in: [angular-pacer/src/batcher/injectBatcher.ts:29](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L29) +Defined in: [batcher/injectBatcher.ts:29](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L29) Reactive state signal that will be updated when the batcher state changes @@ -44,7 +44,7 @@ Use this instead of `batcher.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/batcher/injectBatcher.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L34) +Defined in: [batcher/injectBatcher.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L34) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularBatcherOptions.md b/docs/framework/angular/reference/interfaces/AngularBatcherOptions.md index c3a66ef10..106a07274 100644 --- a/docs/framework/angular/reference/interfaces/AngularBatcherOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularBatcherOptions.md @@ -5,7 +5,7 @@ title: AngularBatcherOptions # Interface: AngularBatcherOptions\ -Defined in: [angular-pacer/src/batcher/injectBatcher.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L9) +Defined in: [batcher/injectBatcher.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L9) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/batcher/injectBatcher.ts:9](https://github.com/Ta optional onUnmount: (batcher) => void; ``` -Defined in: [angular-pacer/src/batcher/injectBatcher.ts:17](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L17) +Defined in: [batcher/injectBatcher.ts:17](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/batcher/injectBatcher.ts#L17) Optional callback invoked when the component is destroyed. Receives the batcher instance. When provided, replaces the default cleanup (cancel); use it to call flush(), cancel(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AngularDebouncer.md b/docs/framework/angular/reference/interfaces/AngularDebouncer.md index 82292fab7..80fa02f06 100644 --- a/docs/framework/angular/reference/interfaces/AngularDebouncer.md +++ b/docs/framework/angular/reference/interfaces/AngularDebouncer.md @@ -5,7 +5,7 @@ title: AngularDebouncer # Interface: AngularDebouncer\ -Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L24) +Defined in: [debouncer/injectDebouncer.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L24) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:24](https://github.c readonly state: Signal>; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L33) +Defined in: [debouncer/injectDebouncer.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L33) Reactive state signal that will be updated when the debouncer state changes @@ -44,7 +44,7 @@ Use this instead of `debouncer.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L38) +Defined in: [debouncer/injectDebouncer.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L38) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularDebouncerOptions.md b/docs/framework/angular/reference/interfaces/AngularDebouncerOptions.md index d916ed74b..af8e8f481 100644 --- a/docs/framework/angular/reference/interfaces/AngularDebouncerOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularDebouncerOptions.md @@ -5,7 +5,7 @@ title: AngularDebouncerOptions # Interface: AngularDebouncerOptions\ -Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L13) +Defined in: [debouncer/injectDebouncer.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L13) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:13](https://github.c optional onUnmount: (debouncer) => void; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncer.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L21) +Defined in: [debouncer/injectDebouncer.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncer.ts#L21) Optional callback invoked when the component is destroyed. Receives the debouncer instance. When provided, replaces the default cleanup (cancel); use it to call flush(), cancel(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AngularQueuer.md b/docs/framework/angular/reference/interfaces/AngularQueuer.md index 558015401..50919c74f 100644 --- a/docs/framework/angular/reference/interfaces/AngularQueuer.md +++ b/docs/framework/angular/reference/interfaces/AngularQueuer.md @@ -5,7 +5,7 @@ title: AngularQueuer # Interface: AngularQueuer\ -Defined in: [angular-pacer/src/queuer/injectQueuer.ts:20](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L20) +Defined in: [queuer/injectQueuer.ts:20](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L20) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/queuer/injectQueuer.ts:20](https://github.com/Tan readonly state: Signal>; ``` -Defined in: [angular-pacer/src/queuer/injectQueuer.ts:29](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L29) +Defined in: [queuer/injectQueuer.ts:29](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L29) Reactive state signal that will be updated when the queuer state changes @@ -44,7 +44,7 @@ Use this instead of `queuer.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/queuer/injectQueuer.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L34) +Defined in: [queuer/injectQueuer.ts:34](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L34) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularQueuerOptions.md b/docs/framework/angular/reference/interfaces/AngularQueuerOptions.md index 6497cecce..3ddf7b2a4 100644 --- a/docs/framework/angular/reference/interfaces/AngularQueuerOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularQueuerOptions.md @@ -5,7 +5,7 @@ title: AngularQueuerOptions # Interface: AngularQueuerOptions\ -Defined in: [angular-pacer/src/queuer/injectQueuer.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L9) +Defined in: [queuer/injectQueuer.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L9) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/queuer/injectQueuer.ts:9](https://github.com/TanS optional onUnmount: (queuer) => void; ``` -Defined in: [angular-pacer/src/queuer/injectQueuer.ts:17](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L17) +Defined in: [queuer/injectQueuer.ts:17](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuer.ts#L17) Optional callback invoked when the component is destroyed. Receives the queuer instance. When provided, replaces the default cleanup (stop); use it to call flush(), stop(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AngularRateLimiter.md b/docs/framework/angular/reference/interfaces/AngularRateLimiter.md index b46b0c863..a483c5398 100644 --- a/docs/framework/angular/reference/interfaces/AngularRateLimiter.md +++ b/docs/framework/angular/reference/interfaces/AngularRateLimiter.md @@ -5,7 +5,7 @@ title: AngularRateLimiter # Interface: AngularRateLimiter\ -Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:23](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L23) +Defined in: [rate-limiter/injectRateLimiter.ts:23](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L23) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:23](https://git readonly state: Signal>; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:32](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L32) +Defined in: [rate-limiter/injectRateLimiter.ts:32](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L32) Reactive state signal that will be updated when the rate limiter state changes @@ -44,7 +44,7 @@ Use this instead of `rateLimiter.store.state` readonly store: Store>; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:37](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L37) +Defined in: [rate-limiter/injectRateLimiter.ts:37](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L37) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularRateLimiterOptions.md b/docs/framework/angular/reference/interfaces/AngularRateLimiterOptions.md index 256b09cd1..9e4fa6a46 100644 --- a/docs/framework/angular/reference/interfaces/AngularRateLimiterOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularRateLimiterOptions.md @@ -5,7 +5,7 @@ title: AngularRateLimiterOptions # Interface: AngularRateLimiterOptions\ -Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L13) +Defined in: [rate-limiter/injectRateLimiter.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L13) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:13](https://git optional onUnmount: (rateLimiter) => void; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimiter.ts:20](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L20) +Defined in: [rate-limiter/injectRateLimiter.ts:20](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimiter.ts#L20) Optional callback invoked when the component is destroyed. Receives the rate limiter instance. diff --git a/docs/framework/angular/reference/interfaces/AngularThrottler.md b/docs/framework/angular/reference/interfaces/AngularThrottler.md index ae42c3e91..cad19f4be 100644 --- a/docs/framework/angular/reference/interfaces/AngularThrottler.md +++ b/docs/framework/angular/reference/interfaces/AngularThrottler.md @@ -5,7 +5,7 @@ title: AngularThrottler # Interface: AngularThrottler\ -Defined in: [angular-pacer/src/throttler/injectThrottler.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L24) +Defined in: [throttler/injectThrottler.ts:24](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L24) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/throttler/injectThrottler.ts:24](https://github.c readonly state: Signal>; ``` -Defined in: [angular-pacer/src/throttler/injectThrottler.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L33) +Defined in: [throttler/injectThrottler.ts:33](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L33) Reactive state signal that will be updated when the throttler state changes @@ -44,7 +44,7 @@ Use this instead of `throttler.store.state` readonly store: Store>>; ``` -Defined in: [angular-pacer/src/throttler/injectThrottler.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L38) +Defined in: [throttler/injectThrottler.ts:38](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L38) #### Deprecated diff --git a/docs/framework/angular/reference/interfaces/AngularThrottlerOptions.md b/docs/framework/angular/reference/interfaces/AngularThrottlerOptions.md index 08befb004..f2c6826e6 100644 --- a/docs/framework/angular/reference/interfaces/AngularThrottlerOptions.md +++ b/docs/framework/angular/reference/interfaces/AngularThrottlerOptions.md @@ -5,7 +5,7 @@ title: AngularThrottlerOptions # Interface: AngularThrottlerOptions\ -Defined in: [angular-pacer/src/throttler/injectThrottler.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L13) +Defined in: [throttler/injectThrottler.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L13) ## Extends @@ -30,7 +30,7 @@ Defined in: [angular-pacer/src/throttler/injectThrottler.ts:13](https://github.c optional onUnmount: (throttler) => void; ``` -Defined in: [angular-pacer/src/throttler/injectThrottler.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L21) +Defined in: [throttler/injectThrottler.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottler.ts#L21) Optional callback invoked when the component is destroyed. Receives the throttler instance. When provided, replaces the default cleanup (cancel); use it to call flush(), cancel(), add logging, etc. diff --git a/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md b/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md index e6235557c..4948342d8 100644 --- a/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md +++ b/docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md @@ -5,7 +5,7 @@ title: AsyncQueuedSignal # Interface: AsyncQueuedSignal()\ -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L9) +Defined in: [async-queuer/injectAsyncQueuedSignal.ts:10](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L10) ## Type Parameters @@ -22,7 +22,7 @@ Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:9](https: AsyncQueuedSignal(): TValue[]; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:10](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L10) +Defined in: [async-queuer/injectAsyncQueuedSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L11) ## Returns @@ -33,13 +33,12 @@ Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:10](https ### addItem() ```ts -addItem: (item, position, runOnItemsChange) => boolean; +addItem: (item, position?, runOnItemsChange?) => boolean; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L11) +Defined in: [async-queuer/injectAsyncQueuedSignal.ts:21](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L21) -Adds an item to the queue. If the queue is full, the item is rejected and onReject is called. -Items can be inserted based on priority or at the front/back depending on configuration. +Adds an item to the queue. #### Parameters @@ -47,13 +46,13 @@ Items can be inserted based on priority or at the front/back depending on config `TValue` -##### position +##### position? -`QueuePosition` = `...` +`QueuePosition` -##### runOnItemsChange +##### runOnItemsChange? -`boolean` = `true` +`boolean` #### Returns @@ -62,8 +61,8 @@ Items can be inserted based on priority or at the front/back depending on config #### Example ```ts -queuer.addItem({ value: 'task', priority: 10 }); -queuer.addItem('task2', 'front'); +queued.addItem('task') +queued.addItem('task2', 'front') ``` *** @@ -74,4 +73,4 @@ queuer.addItem('task2', 'front'); queuer: AngularAsyncQueuer; ``` -Defined in: [angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L12) +Defined in: [async-queuer/injectAsyncQueuedSignal.ts:26](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts#L26) diff --git a/docs/framework/angular/reference/interfaces/DebouncedSignal.md b/docs/framework/angular/reference/interfaces/DebouncedSignal.md index ccb0aec5c..036f16a61 100644 --- a/docs/framework/angular/reference/interfaces/DebouncedSignal.md +++ b/docs/framework/angular/reference/interfaces/DebouncedSignal.md @@ -5,7 +5,7 @@ title: DebouncedSignal # Interface: DebouncedSignal()\ -Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L11) +Defined in: [debouncer/injectDebouncedSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L11) ## Type Parameters @@ -22,7 +22,7 @@ Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:11](https://gi DebouncedSignal(): TValue; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L12) +Defined in: [debouncer/injectDebouncedSignal.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L12) ## Returns @@ -36,7 +36,7 @@ Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:12](https://gi debouncer: AngularDebouncer, TSelected>; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:14](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L14) +Defined in: [debouncer/injectDebouncedSignal.ts:14](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L14) *** @@ -46,4 +46,4 @@ Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:14](https://gi set: Setter; ``` -Defined in: [angular-pacer/src/debouncer/injectDebouncedSignal.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L13) +Defined in: [debouncer/injectDebouncedSignal.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts#L13) diff --git a/docs/framework/angular/reference/interfaces/QueuedSignal.md b/docs/framework/angular/reference/interfaces/QueuedSignal.md index 52962fbf2..0d8dd678b 100644 --- a/docs/framework/angular/reference/interfaces/QueuedSignal.md +++ b/docs/framework/angular/reference/interfaces/QueuedSignal.md @@ -5,7 +5,7 @@ title: QueuedSignal # Interface: QueuedSignal()\ -Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:6](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L6) +Defined in: [queuer/injectQueuedSignal.ts:6](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L6) ## Type Parameters @@ -22,7 +22,7 @@ Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:6](https://github.co QueuedSignal(): TValue[]; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:7](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L7) +Defined in: [queuer/injectQueuedSignal.ts:7](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L7) ## Returns @@ -33,21 +33,12 @@ Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:7](https://github.co ### addItem() ```ts -addItem: (item, position, runOnItemsChange) => boolean; +addItem: (item, position?, runOnItemsChange?) => boolean; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:8](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L8) +Defined in: [queuer/injectQueuedSignal.ts:17](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L17) -Adds an item to the queue. If the queue is full, the item is rejected and onReject is called. -Items can be inserted based on priority or at the front/back depending on configuration. - -Returns true if the item was added, false if the queue is full. - -Example usage: -```ts -queuer.addItem('task'); -queuer.addItem('task2', 'front'); -``` +Adds an item to the queue. #### Parameters @@ -55,18 +46,25 @@ queuer.addItem('task2', 'front'); `TValue` -##### position +##### position? -`QueuePosition` = `...` +`QueuePosition` -##### runOnItemsChange +##### runOnItemsChange? -`boolean` = `true` +`boolean` #### Returns `boolean` +#### Example + +```ts +queued.addItem('task') +queued.addItem('task2', 'front') +``` + *** ### queuer @@ -75,4 +73,4 @@ queuer.addItem('task2', 'front'); queuer: AngularQueuer; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedSignal.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L9) +Defined in: [queuer/injectQueuedSignal.ts:22](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedSignal.ts#L22) diff --git a/docs/framework/angular/reference/interfaces/QueuedValueSignal.md b/docs/framework/angular/reference/interfaces/QueuedValueSignal.md index 177d0b938..ae219fb52 100644 --- a/docs/framework/angular/reference/interfaces/QueuedValueSignal.md +++ b/docs/framework/angular/reference/interfaces/QueuedValueSignal.md @@ -5,7 +5,7 @@ title: QueuedValueSignal # Interface: QueuedValueSignal()\ -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:7](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L7) +Defined in: [queuer/injectQueuedValue.ts:7](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L7) ## Type Parameters @@ -22,7 +22,7 @@ Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:7](https://github.com QueuedValueSignal(): TValue; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:8](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L8) +Defined in: [queuer/injectQueuedValue.ts:8](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L8) ## Returns @@ -33,21 +33,12 @@ Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:8](https://github.com ### addItem() ```ts -addItem: (item, position, runOnItemsChange) => boolean; +addItem: (item, position?, runOnItemsChange?) => boolean; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:9](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L9) +Defined in: [queuer/injectQueuedValue.ts:18](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L18) -Adds an item to the queue. If the queue is full, the item is rejected and onReject is called. -Items can be inserted based on priority or at the front/back depending on configuration. - -Returns true if the item was added, false if the queue is full. - -Example usage: -```ts -queuer.addItem('task'); -queuer.addItem('task2', 'front'); -``` +Adds an item to the queue. #### Parameters @@ -55,18 +46,25 @@ queuer.addItem('task2', 'front'); `TValue` -##### position +##### position? -`QueuePosition` = `...` +`QueuePosition` -##### runOnItemsChange +##### runOnItemsChange? -`boolean` = `true` +`boolean` #### Returns `boolean` +#### Example + +```ts +queued.addItem('task') +queued.addItem('task2', 'front') +``` + *** ### queuer @@ -75,4 +73,4 @@ queuer.addItem('task2', 'front'); queuer: AngularQueuer; ``` -Defined in: [angular-pacer/src/queuer/injectQueuedValue.ts:10](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L10) +Defined in: [queuer/injectQueuedValue.ts:23](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/queuer/injectQueuedValue.ts#L23) diff --git a/docs/framework/angular/reference/interfaces/RateLimitedSignal.md b/docs/framework/angular/reference/interfaces/RateLimitedSignal.md index 6a1d8bea8..70c055057 100644 --- a/docs/framework/angular/reference/interfaces/RateLimitedSignal.md +++ b/docs/framework/angular/reference/interfaces/RateLimitedSignal.md @@ -5,7 +5,7 @@ title: RateLimitedSignal # Interface: RateLimitedSignal()\ -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L11) +Defined in: [rate-limiter/injectRateLimitedSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L11) ## Type Parameters @@ -22,7 +22,7 @@ Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:11](https RateLimitedSignal(): TValue; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L12) +Defined in: [rate-limiter/injectRateLimitedSignal.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L12) ## Returns @@ -36,7 +36,7 @@ Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:12](https rateLimiter: AngularRateLimiter, TSelected>; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:14](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L14) +Defined in: [rate-limiter/injectRateLimitedSignal.ts:14](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L14) *** @@ -46,4 +46,4 @@ Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:14](https set: Setter; ``` -Defined in: [angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L13) +Defined in: [rate-limiter/injectRateLimitedSignal.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts#L13) diff --git a/docs/framework/angular/reference/interfaces/ThrottledSignal.md b/docs/framework/angular/reference/interfaces/ThrottledSignal.md index 306cc6047..b1537b5d7 100644 --- a/docs/framework/angular/reference/interfaces/ThrottledSignal.md +++ b/docs/framework/angular/reference/interfaces/ThrottledSignal.md @@ -5,7 +5,7 @@ title: ThrottledSignal # Interface: ThrottledSignal()\ -Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L11) +Defined in: [throttler/injectThrottledSignal.ts:11](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L11) ## Type Parameters @@ -22,7 +22,7 @@ Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:11](https://gi ThrottledSignal(): TValue; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L12) +Defined in: [throttler/injectThrottledSignal.ts:12](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L12) ## Returns @@ -36,7 +36,7 @@ Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:12](https://gi set: Setter; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L13) +Defined in: [throttler/injectThrottledSignal.ts:13](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L13) *** @@ -46,4 +46,4 @@ Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:13](https://gi throttler: AngularThrottler, TSelected>; ``` -Defined in: [angular-pacer/src/throttler/injectThrottledSignal.ts:14](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L14) +Defined in: [throttler/injectThrottledSignal.ts:14](https://github.com/TanStack/pacer/blob/main/packages/angular-pacer/src/throttler/injectThrottledSignal.ts#L14) diff --git a/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts b/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts index 19c635a01..1c504f834 100644 --- a/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts +++ b/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts @@ -5,10 +5,24 @@ import type { AngularAsyncQueuerOptions, } from './injectAsyncQueuer' import type { AsyncQueuerState } from '@tanstack/pacer/async-queuer' +import type { QueuePosition } from '@tanstack/pacer/queuer' export interface AsyncQueuedSignal { (): Array - addItem: AngularAsyncQueuer['addItem'] + /** + * Adds an item to the queue. + * + * @example + * ```ts + * queued.addItem('task') + * queued.addItem('task2', 'front') + * ``` + */ + addItem: ( + item: TValue, + position?: QueuePosition, + runOnItemsChange?: boolean, + ) => boolean queuer: AngularAsyncQueuer } diff --git a/packages/angular-pacer/src/queuer/injectQueuedSignal.ts b/packages/angular-pacer/src/queuer/injectQueuedSignal.ts index 96e128127..f44ff620d 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedSignal.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedSignal.ts @@ -1,11 +1,24 @@ import { computed } from '@angular/core' import { injectQueuer } from './injectQueuer' import type { AngularQueuer, AngularQueuerOptions } from './injectQueuer' -import type { QueuerState } from '@tanstack/pacer/queuer' +import type { QueuePosition, QueuerState } from '@tanstack/pacer/queuer' export interface QueuedSignal { (): Array - addItem: AngularQueuer['addItem'] + /** + * Adds an item to the queue. + * + * @example + * ```ts + * queued.addItem('task') + * queued.addItem('task2', 'front') + * ``` + */ + addItem: ( + item: TValue, + position?: QueuePosition, + runOnItemsChange?: boolean, + ) => boolean queuer: AngularQueuer } diff --git a/packages/angular-pacer/src/queuer/injectQueuedValue.ts b/packages/angular-pacer/src/queuer/injectQueuedValue.ts index f96a678ca..5e43d9901 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedValue.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedValue.ts @@ -1,12 +1,25 @@ import { effect, linkedSignal, untracked } from '@angular/core' import { injectQueuedSignal } from './injectQueuedSignal' import type { Signal } from '@angular/core' -import type { QueuerState } from '@tanstack/pacer/queuer' +import type { QueuePosition, QueuerState } from '@tanstack/pacer/queuer' import type { AngularQueuer, AngularQueuerOptions } from './injectQueuer' export interface QueuedValueSignal { (): TValue - addItem: AngularQueuer['addItem'] + /** + * Adds an item to the queue. + * + * @example + * ```ts + * queued.addItem('task') + * queued.addItem('task2', 'front') + * ``` + */ + addItem: ( + item: TValue, + position?: QueuePosition, + runOnItemsChange?: boolean, + ) => boolean queuer: AngularQueuer } diff --git a/packages/angular-pacer/tsconfig.docs.json b/packages/angular-pacer/tsconfig.docs.json index a12189d95..4f1e80248 100644 --- a/packages/angular-pacer/tsconfig.docs.json +++ b/packages/angular-pacer/tsconfig.docs.json @@ -1,6 +1,7 @@ { "extends": "./tsconfig.lib.json", "compilerOptions": { + "composite": false, "paths": { "@tanstack/pacer": ["../pacer/src"], "@tanstack/pacer/*": ["../pacer/src/*"] diff --git a/packages/angular-pacer/tsconfig.lib.json b/packages/angular-pacer/tsconfig.lib.json index 19aa5520e..c63769bf1 100644 --- a/packages/angular-pacer/tsconfig.lib.json +++ b/packages/angular-pacer/tsconfig.lib.json @@ -1,5 +1,9 @@ { "extends": "./tsconfig.base.json", + "compilerOptions": { + "composite": true, + "noEmit": false + }, "include": ["src", "vitest.config.ts"], "exclude": ["eslint.config.js", "tests"] } diff --git a/packages/angular-pacer/tsconfig.spec.json b/packages/angular-pacer/tsconfig.spec.json index 07715c859..dc745f99e 100644 --- a/packages/angular-pacer/tsconfig.spec.json +++ b/packages/angular-pacer/tsconfig.spec.json @@ -1,11 +1,20 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "noEmit": false, + "composite": true, + "noEmit": true, "target": "ES2022", - "types": ["vitest/globals", "node"] + "types": ["vitest/globals", "node"], + "paths": { + "@tanstack/pacer": ["../pacer/src"], + "@tanstack/pacer/*": ["../pacer/src/*"] + } }, "files": ["tests/test-setup.ts"], - "include": ["tests/**/*.spec.ts", "tests/**/*.d.ts"], - "references": [{ "path": "./tsconfig.lib.json" }] + "include": [ + "src", + "../pacer/src", + "tests/**/*.spec.ts", + "tests/**/*.d.ts" + ] } diff --git a/packages/angular-pacer/tsconfig.vitest.json b/packages/angular-pacer/tsconfig.vitest.json new file mode 100644 index 000000000..5ac287bf9 --- /dev/null +++ b/packages/angular-pacer/tsconfig.vitest.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.spec.json", + "compilerOptions": { + "composite": false, + "noEmit": false + } +} diff --git a/packages/angular-pacer/vitest.config.ts b/packages/angular-pacer/vitest.config.ts index 3d33b308a..a0bd4fb33 100644 --- a/packages/angular-pacer/vitest.config.ts +++ b/packages/angular-pacer/vitest.config.ts @@ -1,9 +1,18 @@ import { defineConfig } from 'vitest/config' import angular from '@analogjs/vite-plugin-angular' +import { fileURLToPath } from 'node:url' import packageJson from './package.json' with { type: 'json' } +const packageRoot = fileURLToPath(new URL('.', import.meta.url)) + export default defineConfig({ - plugins: [angular()], + plugins: [ + angular({ + workspaceRoot: packageRoot, + tsconfig: fileURLToPath(new URL('./tsconfig.vitest.json', import.meta.url)), + include: ['/tests/**/*.ts'], + }), + ], test: { name: packageJson.name, dir: './tests', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8aaa2e1f8..76b2a036b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4330,13 +4330,13 @@ importers: devDependencies: '@analogjs/vite-plugin-angular': specifier: ^2.6.0 - version: 2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) + version: 2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.17)(typescript@6.0.3))(@angular/compiler@21.2.17)(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.17(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) '@analogjs/vitest-angular': specifier: ^2.6.0 - version: 2.6.0(688197b90c183dc7305df80ff2aff7c1) + version: 2.6.0(e084a80ca791f053ca9d07521af53609) '@angular/compiler': specifier: ^21.2.12 - version: 21.2.15 + version: 21.2.17 '@angular/core': specifier: ^21.2.12 version: 21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2) @@ -6422,6 +6422,9 @@ packages: '@oxc-project/types@0.113.0': resolution: {integrity: sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==} + '@oxc-project/types@0.121.0': + resolution: {integrity: sha512-CGtOARQb9tyv7ECgdAlFxi0Fv7lmzvmlm2rpD/RdijOO9rfk/JvB1CjT8EnoD+tjna/IYgKKw3IV7objRb+aYw==} + '@oxc-project/types@0.133.0': resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} @@ -10743,7 +10746,7 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@analogjs/vite-plugin-angular@2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0))': + '@analogjs/vite-plugin-angular@2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.17)(typescript@6.0.3))(@angular/compiler@21.2.17)(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.17(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0))': dependencies: magic-string: 0.30.21 obug: 2.1.1 @@ -10751,15 +10754,15 @@ snapshots: tinyglobby: 0.2.17 ts-morph: 21.0.1 optionalDependencies: - '@angular/build': 21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0) + '@angular/build': 21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.17)(typescript@6.0.3))(@angular/compiler@21.2.17)(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.17(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0) vite: 8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' - '@analogjs/vitest-angular@2.6.0(688197b90c183dc7305df80ff2aff7c1)': + '@analogjs/vitest-angular@2.6.0(e084a80ca791f053ca9d07521af53609)': dependencies: - '@analogjs/vite-plugin-angular': 2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.15)(typescript@6.0.3))(@angular/compiler@21.2.15)(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.15(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.15(@angular/compiler@21.2.15)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) + '@analogjs/vite-plugin-angular': 2.6.0(@angular/build@21.2.13(@angular/compiler-cli@21.2.15(@angular/compiler@21.2.17)(typescript@6.0.3))(@angular/compiler@21.2.17)(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(@angular/platform-browser@21.2.15(@angular/common@21.2.17(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@21.2.17(@angular/compiler@21.2.17)(rxjs@7.8.2)))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.7.0)(chokidar@5.0.0)(jiti@2.7.0)(lightningcss@1.32.0)(postcss@8.5.15)(tslib@2.8.1)(typescript@6.0.3)(vitest@4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)))(yaml@2.9.0))(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) '@angular-devkit/architect': 0.2102.13(chokidar@5.0.0) '@angular-devkit/schematics': 21.2.13(chokidar@5.0.0) vitest: 4.1.7(@types/node@25.7.0)(happy-dom@20.9.0)(jsdom@29.1.1)(vite@8.0.16(@types/node@25.7.0)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.97.3)(yaml@2.9.0)) @@ -12348,6 +12351,8 @@ snapshots: '@oxc-project/types@0.113.0': {} + '@oxc-project/types@0.121.0': {} + '@oxc-project/types@0.133.0': {} '@oxc-resolver/binding-android-arm-eabi@11.20.0': From 568e6a58888d4a4c518ede4f5482a586b369ab3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjam=C3=ADn=20Vicente?= Date: Mon, 13 Jul 2026 22:27:30 -0400 Subject: [PATCH 10/10] docs: correct angular queuer property name --- .../angular/reference/functions/injectAsyncQueuedSignal.md | 2 +- .../framework/angular/reference/functions/injectQueuedSignal.md | 2 +- .../angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts | 2 +- packages/angular-pacer/src/queuer/injectQueuedSignal.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md b/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md index f35268143..e8bdc8efb 100644 --- a/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md +++ b/docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md @@ -23,7 +23,7 @@ All queue operations are reflected in the state array returned by the function. The function returns a callable object: - `queued()`: Get the current queue items as an array - `queued.addItem(...)`: Add an item to the queue -- `queued.queue`: The queuer instance with additional control methods +- `queued.queuer`: The queuer instance with additional control methods ## Type Parameters diff --git a/docs/framework/angular/reference/functions/injectQueuedSignal.md b/docs/framework/angular/reference/functions/injectQueuedSignal.md index c1e55b46d..b5d4c04e8 100644 --- a/docs/framework/angular/reference/functions/injectQueuedSignal.md +++ b/docs/framework/angular/reference/functions/injectQueuedSignal.md @@ -23,7 +23,7 @@ All queue operations are reflected in the state array returned by the function. The function returns a callable object: - `queued()`: Get the current queue items as an array - `queued.addItem(...)`: Add an item to the queue -- `queued.queue`: The queuer instance with additional control methods +- `queued.queuer`: The queuer instance with additional control methods ## Type Parameters diff --git a/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts b/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts index 1c504f834..01c791969 100644 --- a/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts +++ b/packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts @@ -36,7 +36,7 @@ export interface AsyncQueuedSignal { * The function returns a callable object: * - `queued()`: Get the current queue items as an array * - `queued.addItem(...)`: Add an item to the queue - * - `queued.queue`: The queuer instance with additional control methods + * - `queued.queuer`: The queuer instance with additional control methods * * @example * ```ts diff --git a/packages/angular-pacer/src/queuer/injectQueuedSignal.ts b/packages/angular-pacer/src/queuer/injectQueuedSignal.ts index f44ff620d..d932ac66b 100644 --- a/packages/angular-pacer/src/queuer/injectQueuedSignal.ts +++ b/packages/angular-pacer/src/queuer/injectQueuedSignal.ts @@ -32,7 +32,7 @@ export interface QueuedSignal { * The function returns a callable object: * - `queued()`: Get the current queue items as an array * - `queued.addItem(...)`: Add an item to the queue - * - `queued.queue`: The queuer instance with additional control methods + * - `queued.queuer`: The queuer instance with additional control methods * * @example * ```ts