Skip to content

Fix angular input + API consistency#161

Open
benjavicente wants to merge 10 commits into
TanStack:mainfrom
benjavicente:fix-angular-input
Open

Fix angular input + API consistency#161
benjavicente wants to merge 10 commits into
TanStack:mainfrom
benjavicente:fix-angular-input

Conversation

@benjavicente

@benjavicente benjavicente commented Feb 22, 2026

Copy link
Copy Markdown

🎯 Changes

This PR does 2 things, both in injectQueuedValue:

  • value could be called on component initialization, causing injectQueuedValue to throw. I added a tests first to demonstrate the issue and then I added a commit to fix it. There was an example that tested against that error, but where the path where of the value() call wasn't reached (maybeSelector is not undefined).

    protected readonly queued = injectQueuedValue(this.value, null, { wait: 500 }, (state) => ({
    items: state.items,
    }))
    >(
    value: Signal<TValue>,
    initialValueOrOptions?: TValue | QueuerOptions<TValue>,
    initialOptionsOrSelector?:
    | QueuerOptions<TValue>
    | ((state: QueuerState<TValue>) => TSelected),
    maybeSelector?: (state: QueuerState<TValue>) => TSelected,
    ): QueuedSignal<TValue, TSelected> {
    const hasSelector = typeof initialOptionsOrSelector === 'function'
    const hasInitialValue =
    (initialOptionsOrSelector !== undefined && !hasSelector) ||
    maybeSelector !== undefined
    const initialValue = hasInitialValue
    ? (initialValueOrOptions as TValue)
    : value()

  • The injectQueuedValue was returning an array instead of a queued value. I guess that was a mistake, so I aligned the function to behave similar to the React api.

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm run test:pr.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Summary by CodeRabbit

  • New Features
    • injectQueuedValue now returns a callable queued-value object (QueuedValueSignal) with addItem() and a queuer control handle (instead of the previous return shape).
  • Documentation
    • Updated Angular reference docs and examples for injectQueuedValue (including the queuer-based queue-length access) and added documentation for QueuedValueSignal.
  • Tests
    • Added/expanded injectQueuedValue coverage for queueing behavior, timing, and Angular initialization.
  • Chores
    • Refreshed dev tooling and test setup (JS DOM/Vitest, ESLint/TypeScript project configs) and updated relevant dev dependencies.

@changeset-bot

changeset-bot Bot commented Feb 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: e2eb851

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@tanstack/angular-pacer Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@benjavicente benjavicente marked this pull request as ready for review February 22, 2026 21:12
@nx-cloud

nx-cloud Bot commented Feb 27, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit c8d1f5f

Command Status Duration Result
nx run-many --targets=build --exclude=examples/** ✅ Succeeded 18s View ↗

☁️ Nx Cloud last updated this comment at 2026-02-27 19:14:20 UTC

@pkg-pr-new

pkg-pr-new Bot commented Feb 27, 2026

Copy link
Copy Markdown
More templates

@tanstack/angular-pacer

npm i https://pkg.pr.new/@tanstack/angular-pacer@161

@tanstack/pacer

npm i https://pkg.pr.new/@tanstack/pacer@161

@tanstack/pacer-devtools

npm i https://pkg.pr.new/@tanstack/pacer-devtools@161

@tanstack/pacer-lite

npm i https://pkg.pr.new/@tanstack/pacer-lite@161

@tanstack/preact-pacer

npm i https://pkg.pr.new/@tanstack/preact-pacer@161

@tanstack/preact-pacer-devtools

npm i https://pkg.pr.new/@tanstack/preact-pacer-devtools@161

@tanstack/react-pacer

npm i https://pkg.pr.new/@tanstack/react-pacer@161

@tanstack/react-pacer-devtools

npm i https://pkg.pr.new/@tanstack/react-pacer-devtools@161

@tanstack/solid-pacer

npm i https://pkg.pr.new/@tanstack/solid-pacer@161

@tanstack/solid-pacer-devtools

npm i https://pkg.pr.new/@tanstack/solid-pacer-devtools@161

commit: acc7d9f

@theVedanta

theVedanta commented Mar 3, 2026

Copy link
Copy Markdown
Contributor

ahh makes sense. Thank you for fixing this, I had missed it

@KevinVandy

Copy link
Copy Markdown
Member

I'll get this in soon

@theVedanta

Copy link
Copy Markdown
Contributor

My effort to resolve the lockfile in the UI was a bad commit. Can you please resolve them locally?

@coderabbitai

coderabbitai Bot commented Mar 14, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

injectQueuedValue now returns a callable QueuedValueSignal with addItem and queuer. Angular-specific option types, reference documentation, examples, tests, TypeScript project configuration, ESLint, and Vitest setup were updated.

Changes

Angular pacer API and tooling

Layer / File(s) Summary
QueuedValueSignal contract and queue integration
packages/angular-pacer/src/queuer/injectQueuedValue.ts
Adds the callable QueuedValueSignal interface, updates overloads, and returns a callable signal exposing addItem and queuer.
Angular option type migration
packages/angular-pacer/src/{batcher,debouncer,queuer,rate-limiter,throttler,async-*}/*
Wrapper signatures, overloads, and related imports now use Angular-prefixed option types.
Reference documentation and examples
docs/framework/angular/reference/*, examples/angular/injectQueuedValue/src/app/*, .changeset/big-jobs-call.md
Documents the updated APIs, adds QueuedValueSignal, refreshes source links, updates queue-state examples, and records the release note.
Tests and package configuration
packages/angular-pacer/tests/*, packages/angular-pacer/tsconfig*.json, packages/angular-pacer/{eslint.config.js,vitest.config.ts,tsdown.config.ts,package.json}
Adds Angular TestBed and timer coverage, project-specific TypeScript configurations, Angular Vitest/jsdom setup, TypeScript-aware ESLint settings, and testing dependencies.

Estimated code review effort: 4 (Complex) | ~45 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 78.57% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and clearly points to the Angular input fix and API consistency changes in this PR.
Description check ✅ Passed The PR description follows the template and includes changes, checklist, and release impact sections with concrete details.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/angular-pacer/src/queuer/injectQueuedValue.ts (1)

75-92: ⚠️ Potential issue | 🟠 Major

The 2-arg initialValue overload has a runtime detection bug.

Line 77 never marks hasInitialValue for the 2-arg form injectQueuedValue(signal, initialValue), so the initial value is treated as options (line 81) and skipped (line 91). This contradicts the overload declared at lines 49–60.

While the codebase currently uses only the 3-arg form injectQueuedValue(signal, options) with full test coverage, the dormant 2-arg overload exposes an API that breaks at runtime. Fix by either (a) correcting the detection logic to distinguish TValue from QueuerOptions, or (b) removing the unused 2-arg overload.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/angular-pacer/src/queuer/injectQueuedValue.ts` around lines 75 - 92,
The runtime detection for the 2-arg overload is wrong; change the
hasInitialValue check to detect when the second argument (initialValueOrOptions)
is present and is not a function (i.e. typeof initialValueOrOptions !==
'function') instead of inspecting initialOptionsOrSelector — update
hasInitialValue to: (initialValueOrOptions !== undefined && typeof
initialValueOrOptions !== 'function') || maybeSelector !== undefined, and keep
the subsequent uses of initialOptions, selector, and queuedValue (symbols:
initialOptionsOrSelector, maybeSelector, initialValueOrOptions, hasInitialValue,
initialOptions, selector, queuedValue, injectQueuedValue) consistent with that
corrected detection so the 2-arg overload treats the second param as the initial
TValue rather than options.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md`:
- Line 36: The addItem signature in the AsyncQueuedSignal interface should mark
the position and runOnItemsChange parameters as optional to match the
implementation; update the type signature for addItem to use position? and
runOnItemsChange? and update the corresponding parameter documentation entries
for position and runOnItemsChange in the AsyncQueuedSignal doc block so they
indicate optionality and align with packages/pacer/src/async-queuer.ts behavior.

In `@docs/framework/angular/reference/interfaces/QueuedSignal.md`:
- Line 36: Update the documented TypeScript signatures in the QueuedSignal
interface to mark parameters with defaults as optional: change addItem's
signature to reflect that position and runOnItemsChange are optional (with
defaults coming from packages/pacer/src/queuer.ts) and update the parameter
headers/descriptions accordingly; apply the same optional-parameter adjustments
to the other documented methods referenced around lines 58-64 so the docs match
the implementation in queuer.ts and clearly state default values for those
optional parameters.

In `@docs/framework/angular/reference/interfaces/QueuedValueSignal.md`:
- Around line 46-50: The example under the QueuedValueSignal interface uses the
wrong receiver name; update the usage examples to call queued.addItem(...)
instead of queuer.addItem(...). Locate the example block showing addItem and
replace calls to queuer.addItem with queued.addItem so the documented API
(QueuedValueSignal and its addItem method) matches actual usage.

In `@packages/angular-pacer/tsconfig.json`:
- Around line 3-5: The referenced tsconfig files (tsconfig.lib.json and
tsconfig.spec.json) are missing the required composite setting for TypeScript
project references; add "compilerOptions": { "composite": true } to both
tsconfig.lib.json and tsconfig.spec.json so they declare composite mode
(ensuring they can be referenced by the root tsconfig.json "references" array
and allowing tsc --build to succeed).

In `@packages/angular-pacer/tsconfig.spec.json`:
- Line 4: Update the test TypeScript config so it doesn't emit declaration
files: in tsconfig.spec.json change the compiler option "noEmit" from false to
true to override the root "declaration": true and prevent tsc from emitting
.d.ts during vitest runs; locate the "noEmit" setting in tsconfig.spec.json and
set it to true.

---

Outside diff comments:
In `@packages/angular-pacer/src/queuer/injectQueuedValue.ts`:
- Around line 75-92: The runtime detection for the 2-arg overload is wrong;
change the hasInitialValue check to detect when the second argument
(initialValueOrOptions) is present and is not a function (i.e. typeof
initialValueOrOptions !== 'function') instead of inspecting
initialOptionsOrSelector — update hasInitialValue to: (initialValueOrOptions !==
undefined && typeof initialValueOrOptions !== 'function') || maybeSelector !==
undefined, and keep the subsequent uses of initialOptions, selector, and
queuedValue (symbols: initialOptionsOrSelector, maybeSelector,
initialValueOrOptions, hasInitialValue, initialOptions, selector, queuedValue,
injectQueuedValue) consistent with that corrected detection so the 2-arg
overload treats the second param as the initial TValue rather than options.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 54576736-ac89-4730-81f5-a1148dfce5e4

📥 Commits

Reviewing files that changed from the base of the PR and between f04f730 and e2eb851.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (21)
  • .changeset/big-jobs-call.md
  • docs/framework/angular/reference/functions/injectQueuedValue.md
  • docs/framework/angular/reference/index.md
  • docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md
  • docs/framework/angular/reference/interfaces/QueuedSignal.md
  • docs/framework/angular/reference/interfaces/QueuedValueSignal.md
  • examples/angular/injectQueuedValue/src/app/app.html
  • examples/angular/injectQueuedValue/src/app/app.ts
  • examples/angular/injectQueuedValue/src/app/inputapp.ts
  • packages/angular-pacer/eslint.config.js
  • packages/angular-pacer/package.json
  • packages/angular-pacer/src/queuer/injectQueuedValue.ts
  • packages/angular-pacer/tests/queuer/injectQueuedValue.spec.ts
  • packages/angular-pacer/tests/test-setup.ts
  • packages/angular-pacer/tsconfig.base.json
  • packages/angular-pacer/tsconfig.docs.json
  • packages/angular-pacer/tsconfig.json
  • packages/angular-pacer/tsconfig.lib.json
  • packages/angular-pacer/tsconfig.spec.json
  • packages/angular-pacer/tsdown.config.ts
  • packages/angular-pacer/vitest.config.ts

Comment thread docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md Outdated
Comment thread docs/framework/angular/reference/interfaces/QueuedSignal.md Outdated
Comment thread docs/framework/angular/reference/interfaces/QueuedValueSignal.md Outdated
Comment thread packages/angular-pacer/tsconfig.json
Comment thread packages/angular-pacer/tsconfig.spec.json Outdated
@socket-security

socket-security Bot commented Jun 6, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​analogjs/​vitest-angular@​2.6.09910010096100
Added@​analogjs/​vite-plugin-angular@​2.6.09910010096100

View full report

@benjavicente

Copy link
Copy Markdown
Author

Rebased to newer changes and bumped some dependencies that had issues after the rebase.

I added a small third thing: Now utilities use the type defined in the Angular package instead of the core one, so options like onUnmount are typed everywhere it's available.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/angular-pacer/src/queuer/injectQueuedValue.ts`:
- Around line 76-82: The overload discriminator misdetects the two-argument form
of injectQueuedValue: change the hasInitialValue logic so the second argument
(initialOptionsOrSelector) is treated as an initialValue when maybeSelector is
undefined and the second arg does not look like AngularQueuerOptions; implement
a small type-guard (e.g., isAngularQueuerOptions) that checks for known option
keys (bufferSize/delay/etc.) and use it in the condition for hasInitialValue and
the subsequent selection of initialOptions vs initialValue (references:
hasInitialValue, initialOptionsOrSelector, maybeSelector, initialValueOrOptions,
selector, injectQueuedValue); apply the same discriminator fix to the analogous
block at lines 88–91 so two-argument calls use the provided initialValue rather
than treating it as options.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d03d4784-22b2-4e46-8b8e-5a9f8dcc1533

📥 Commits

Reviewing files that changed from the base of the PR and between e2eb851 and 55025ad.

📒 Files selected for processing (41)
  • .changeset/big-jobs-call.md
  • docs/framework/angular/reference/functions/injectAsyncBatchedCallback.md
  • docs/framework/angular/reference/functions/injectAsyncDebouncedCallback.md
  • docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md
  • docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md
  • docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md
  • docs/framework/angular/reference/functions/injectBatchedCallback.md
  • docs/framework/angular/reference/functions/injectDebouncedCallback.md
  • docs/framework/angular/reference/functions/injectDebouncedSignal.md
  • docs/framework/angular/reference/functions/injectDebouncedValue.md
  • docs/framework/angular/reference/functions/injectQueuedSignal.md
  • docs/framework/angular/reference/functions/injectQueuedValue.md
  • docs/framework/angular/reference/functions/injectRateLimitedCallback.md
  • docs/framework/angular/reference/functions/injectRateLimitedSignal.md
  • docs/framework/angular/reference/functions/injectRateLimitedValue.md
  • docs/framework/angular/reference/functions/injectThrottledCallback.md
  • docs/framework/angular/reference/functions/injectThrottledSignal.md
  • docs/framework/angular/reference/functions/injectThrottledValue.md
  • docs/framework/angular/reference/index.md
  • docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md
  • docs/framework/angular/reference/interfaces/QueuedSignal.md
  • docs/framework/angular/reference/interfaces/QueuedValueSignal.md
  • examples/angular/injectQueuedValue/src/app/app.html
  • examples/angular/injectQueuedValue/src/app/app.ts
  • examples/angular/injectQueuedValue/src/app/inputapp.ts
  • packages/angular-pacer/eslint.config.js
  • packages/angular-pacer/package.json
  • packages/angular-pacer/src/async-batcher/injectAsyncBatchedCallback.ts
  • packages/angular-pacer/src/async-debouncer/injectAsyncDebouncedCallback.ts
  • packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts
  • packages/angular-pacer/src/async-rate-limiter/injectAsyncRateLimitedCallback.ts
  • packages/angular-pacer/src/async-throttler/injectAsyncThrottledCallback.ts
  • packages/angular-pacer/src/batcher/injectBatchedCallback.ts
  • packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts
  • packages/angular-pacer/src/debouncer/injectDebouncedSignal.ts
  • packages/angular-pacer/src/debouncer/injectDebouncedValue.ts
  • packages/angular-pacer/src/queuer/injectQueuedSignal.ts
  • packages/angular-pacer/src/queuer/injectQueuedValue.ts
  • packages/angular-pacer/src/rate-limiter/injectRateLimitedCallback.ts
  • packages/angular-pacer/src/rate-limiter/injectRateLimitedSignal.ts
  • packages/angular-pacer/src/rate-limiter/injectRateLimitedValue.ts
✅ Files skipped from review due to trivial changes (9)
  • packages/angular-pacer/src/debouncer/injectDebouncedCallback.ts
  • docs/framework/angular/reference/index.md
  • docs/framework/angular/reference/functions/injectAsyncRateLimitedCallback.md
  • .changeset/big-jobs-call.md
  • docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md
  • examples/angular/injectQueuedValue/src/app/inputapp.ts
  • examples/angular/injectQueuedValue/src/app/app.ts
  • docs/framework/angular/reference/functions/injectAsyncThrottledCallback.md
  • docs/framework/angular/reference/functions/injectRateLimitedValue.md
🚧 Files skipped from review as they are similar to previous changes (6)
  • examples/angular/injectQueuedValue/src/app/app.html
  • packages/angular-pacer/package.json
  • docs/framework/angular/reference/interfaces/QueuedSignal.md
  • docs/framework/angular/reference/interfaces/AsyncQueuedSignal.md
  • packages/angular-pacer/eslint.config.js
  • docs/framework/angular/reference/functions/injectQueuedValue.md

Comment on lines 76 to 82
const hasInitialValue =
(initialOptionsOrSelector !== undefined && !hasSelector) ||
maybeSelector !== undefined

const initialValue = hasInitialValue
? (initialValueOrOptions as TValue)
: value()
const initialOptions = hasInitialValue
? (initialOptionsOrSelector as QueuerOptions<TValue>)
: (initialValueOrOptions as QueuerOptions<TValue>)
? (initialOptionsOrSelector as AngularQueuerOptions<TValue, TSelected>)
: (initialValueOrOptions as AngularQueuerOptions<TValue, TSelected>)
const selector = hasInitialValue

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Two-argument initialValue overload is misparsed and ignored.

hasInitialValue is never true for injectQueuedValue(value, initialValue) (no arg3/arg4), so the second argument is treated as options and the linked signal initializes from value() instead of initialValue.

Suggested discriminator fix
-  const hasInitialValue =
-    (initialOptionsOrSelector !== undefined && !hasSelector) ||
-    maybeSelector !== undefined
+  const hasInitialValue =
+    maybeSelector !== undefined ||
+    (initialOptionsOrSelector !== undefined && !hasSelector) ||
+    // 2-arg form: injectQueuedValue(value, initialValue)
+    (initialOptionsOrSelector === undefined &&
+      (initialValueOrOptions === null ||
+        typeof initialValueOrOptions !== 'object'))

Also applies to: 88-91

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/angular-pacer/src/queuer/injectQueuedValue.ts` around lines 76 - 82,
The overload discriminator misdetects the two-argument form of
injectQueuedValue: change the hasInitialValue logic so the second argument
(initialOptionsOrSelector) is treated as an initialValue when maybeSelector is
undefined and the second arg does not look like AngularQueuerOptions; implement
a small type-guard (e.g., isAngularQueuerOptions) that checks for known option
keys (bufferSize/delay/etc.) and use it in the condition for hasInitialValue and
the subsequent selection of initialOptions vs initialValue (references:
hasInitialValue, initialOptionsOrSelector, maybeSelector, initialValueOrOptions,
selector, injectQueuedValue); apply the same discriminator fix to the analogous
block at lines 88–91 so two-argument calls use the provided initialValue rather
than treating it as options.

@benjavicente

benjavicente commented Jun 6, 2026

Copy link
Copy Markdown
Author

Regarding CoreRabbit comment: it looks like injectQueuedValue needs a breaking change to stop supporting the injectQueuedValue(value, initialValue) signature to fix the issue. I made a stacked PR here with a change for it, benjavicente#1. That new API has the same shape as the React one

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md`:
- Line 26: Update the queued.queuer descriptions in
docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md:26-26 and
docs/framework/angular/reference/functions/injectQueuedSignal.md:26-26, changing
“additional control method” to “additional control methods” in both locations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c5a14c49-1770-4a0d-9e77-427530e2da84

📥 Commits

Reviewing files that changed from the base of the PR and between cf80673 and 568e6a5.

📒 Files selected for processing (4)
  • docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md
  • docs/framework/angular/reference/functions/injectQueuedSignal.md
  • packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts
  • packages/angular-pacer/src/queuer/injectQueuedSignal.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/angular-pacer/src/queuer/injectQueuedSignal.ts
  • packages/angular-pacer/src/async-queuer/injectAsyncQueuedSignal.ts

- `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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Correct the repeated singular wording.

Both descriptions list multiple controls (start() and stop()) but say “additional control method.”

  • docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md#L26-L26: change “additional control method” to “additional control methods.”
  • docs/framework/angular/reference/functions/injectQueuedSignal.md#L26-L26: make the same pluralization correction.
🧰 Tools
🪛 LanguageTool

[grammar] ~26-~26: Ensure spelling is correct
Context: ...tem to the queue - queued.queuer: The queuer instance with additional control method...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

📍 Affects 2 files
  • docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md#L26-L26 (this comment)
  • docs/framework/angular/reference/functions/injectQueuedSignal.md#L26-L26
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md` at
line 26, Update the queued.queuer descriptions in
docs/framework/angular/reference/functions/injectAsyncQueuedSignal.md:26-26 and
docs/framework/angular/reference/functions/injectQueuedSignal.md:26-26, changing
“additional control method” to “additional control methods” in both locations.

Source: Linters/SAST tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants