createSignal
A function to create a new Signal
Call Signature
function createSignal<T>(options?): Signal<T>;
A function to create a new Signal
Type Parameters
| Type Parameter | Default type |
|---|---|
T | undefined |
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | GenericSignalOptions | See SignalOptions |
Returns
Signal<T>
Example
const defaultSignal = createSignal<number>();
// Behavior Signal, always emitted with the latest value when added
const behaviorSignal = createSignal<number>({variant: 'behavior'});
// Replay Signal, replay the last values when added according to `bufferSize`
const replaySignal = createSignal<number>({variant: 'replay'});
// Batched Signal
const scheduler = ...; // e.g. `(task) => setTimeout(task, 1000)`
const signal = createSignal<number>({
variant: 'batched',
schedule: scheduler.schedule,
emitImmediatelyWhenFull: true, // If you don't want to lose the data
bufferSize: 10, // Buffer upto 10 subjects
});
Call Signature
function createSignal<T>(options): Signal<T>;
A function to create a new Signal
Type Parameters
| Type Parameter | Default type |
|---|---|
T | undefined |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | ReplaySignalOptions | See SignalOptions |
Returns
Signal<T>
Example
const defaultSignal = createSignal<number>();
// Behavior Signal, always emitted with the latest value when added
const behaviorSignal = createSignal<number>({variant: 'behavior'});
// Replay Signal, replay the last values when added according to `bufferSize`
const replaySignal = createSignal<number>({variant: 'replay'});
// Batched Signal
const scheduler = ...; // e.g. `(task) => setTimeout(task, 1000)`
const signal = createSignal<number>({
variant: 'batched',
schedule: scheduler.schedule,
emitImmediatelyWhenFull: true, // If you don't want to lose the data
bufferSize: 10, // Buffer upto 10 subjects
});
Call Signature
function createSignal<T>(options): Signal<T>;
A function to create a new Signal
Type Parameters
| Type Parameter | Default type |
|---|---|
T | undefined |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | BehaviorSignalOptions | See SignalOptions |
Returns
Signal<T>
Example
const defaultSignal = createSignal<number>();
// Behavior Signal, always emitted with the latest value when added
const behaviorSignal = createSignal<number>({variant: 'behavior'});
// Replay Signal, replay the last values when added according to `bufferSize`
const replaySignal = createSignal<number>({variant: 'replay'});
// Batched Signal
const scheduler = ...; // e.g. `(task) => setTimeout(task, 1000)`
const signal = createSignal<number>({
variant: 'batched',
schedule: scheduler.schedule,
emitImmediatelyWhenFull: true, // If you don't want to lose the data
bufferSize: 10, // Buffer upto 10 subjects
});
Call Signature
function createSignal<T>(options): Signal<T, T[]>;
A function to create a new Signal
Type Parameters
| Type Parameter | Default type |
|---|---|
T | undefined |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | BatchedSignalOptions | See SignalOptions |
Returns
Signal<T, T[]>
Example
const defaultSignal = createSignal<number>();
// Behavior Signal, always emitted with the latest value when added
const behaviorSignal = createSignal<number>({variant: 'behavior'});
// Replay Signal, replay the last values when added according to `bufferSize`
const replaySignal = createSignal<number>({variant: 'replay'});
// Batched Signal
const scheduler = ...; // e.g. `(task) => setTimeout(task, 1000)`
const signal = createSignal<number>({
variant: 'batched',
schedule: scheduler.schedule,
emitImmediatelyWhenFull: true, // If you don't want to lose the data
bufferSize: 10, // Buffer upto 10 subjects
});
Call Signature
function createSignal<T>(options): Signal<T, T>;
A function to create a new Signal
Type Parameters
| Type Parameter | Default type |
|---|---|
T | undefined |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | SignalOptions | See SignalOptions |
Returns
Signal<T, T>
Example
const defaultSignal = createSignal<number>();
// Behavior Signal, always emitted with the latest value when added
const behaviorSignal = createSignal<number>({variant: 'behavior'});
// Replay Signal, replay the last values when added according to `bufferSize`
const replaySignal = createSignal<number>({variant: 'replay'});
// Batched Signal
const scheduler = ...; // e.g. `(task) => setTimeout(task, 1000)`
const signal = createSignal<number>({
variant: 'batched',
schedule: scheduler.schedule,
emitImmediatelyWhenFull: true, // If you don't want to lose the data
bufferSize: 10, // Buffer upto 10 subjects
});