Skip to content

Latest commit

 

History

History
74 lines (49 loc) · 1.67 KB

File metadata and controls

74 lines (49 loc) · 1.67 KB
id injectQueuedSignal
title injectQueuedSignal

Function: injectQueuedSignal()

function injectQueuedSignal<TValue, TSelected>(
   fn, 
   options, 
selector): QueuedSignal<TValue, TSelected>;

Defined in: angular-pacer/src/queuer/injectQueuedSignal.ts:43

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.

The queue state is automatically updated whenever items are added, removed, or reordered in the queue. 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

Type Parameters

TValue

TValue

TSelected

TSelected extends Pick<QueuerState<TValue>, "items"> = Pick<QueuerState<TValue>, "items">

Parameters

fn

(item) => void

options

QueuerOptions<TValue> = {}

selector

(state) => TSelected

Returns

QueuedSignal<TValue, TSelected>

Example

// Default behavior - track items
const queued = injectQueuedSignal(
  (item) => console.log('Processing:', item),
  { started: true, wait: 1000 }
);

// Add items
queued.addItem('task1');

// Access items
console.log(queued()); // ['task1']

// Control the queue
queued.queuer.start();
queued.queuer.stop();