Skip to content

feat(inject-rate-limited): add rate-limited signal functionality#603

Open
max-scopp wants to merge 3 commits intongxtension:mainfrom
max-scopp:feature/inject-rate-limited
Open

feat(inject-rate-limited): add rate-limited signal functionality#603
max-scopp wants to merge 3 commits intongxtension:mainfrom
max-scopp:feature/inject-rate-limited

Conversation

@max-scopp
Copy link
Contributor

@max-scopp max-scopp commented Jun 9, 2025

Closes #595

@ptandler @dzolotarova

Introduces injectRateLimited

Usages

const searchQuery = injectRateLimited(""); // debounced signal, 200ms

// throttled, at start, 100ms
const searchQuery = injectRateLimited("", {
    durationMs: 100,
    operator: throttleTime
});

// throttled, at end, 200ms
const searchQuery = injectRateLimited("", {
    operator: throttleTime,
    config: { // default config of leading: true is ignored
        trailing: true,
    }
});

// sampling every 200ms
const searchQuery = injectRateLimited("", {
    operator: sampleTime
});

// audit every 200ms
const searchQuery = injectRateLimited("", {
    operator: auditTime
});
<!-- use in html template -->
<input type="search" (input)="searchQuery.next($any($event.target).value)" />

TODO:

  • Docs
  • Tests

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.

[Feature request] debouncedSignal

1 participant