Skip to main content

signals

import {...} from "@canvas-commons/core/lib/signals";

Value wrappers for easy dependency tracking and cache invalidation.

Classes

Interfaces

Type Aliases

CompoundSignal

type CompoundSignalTSetterValueTValue extends TSetterValueTKeys extends keyof TValue = keyof TValueTOwner = voidTContext = CompoundSignalContextTSetterValueTValueTKeysTOwner = SignalTSetterValueTValueTOwnerTContext[K in TKeys]: SignalTValue[K]TValue[K]TOwner extends void ? CompoundSignalTSetterValueTValueTKeysTOwnerTContext : TOwner

Type Parameters


SignalGenerator

type SignalGeneratorTSetterValueTValue extends TSetterValue = ThreadGeneratorback: time: numbertimingFunction?: TimingFunctioninterpolationFunction?: InterpolationFunctionTValue => SignalGeneratorTSetterValueTValuedo: callback: () => void => SignalGeneratorTSetterValueTValuerun: task: ThreadGenerator => SignalGeneratorTSetterValueTValueto: SignalTweenTSetterValueTValuewait: duration: number => SignalGeneratorTSetterValueTValue

Type Parameters


SignalValue

type SignalValueTValue = TValue() => TValue

Type Parameters


SimpleSignal

type SimpleSignalTValueTReturn = void = SignalTValueTValueTReturn

Type Parameters


Vector2Signal

type Vector2SignalTOwner = voidTContext = Vector2SignalContextTOwner = CompoundSignalPossibleVector2Vector2'x''y'TOwnerTContextVector2SignalHelpersTOwner

Type Parameters

Variables

DEFAULT

const DEFAULT: typeof DEFAULT = ...

Functions

createComputed

public createComputedfactory: ...args: any[] => TValueowner?: any: ComputedTValue

Parameters


createComputedAsync

public createComputedAsyncfactory: () => PromiseT: ComputedTnull
public createComputedAsyncfactory: () => PromiseTinitial: T: ComputedT

Parameters


createDeferredEffect

public createDeferredEffectcallback: () => void: () => void

Invoke the callback at the end of each frame if any of its dependencies changed.

Parameters

  • callback: () => void

    The callback to invoke.


createEffect

public createEffectcallback: () => void: () => void

Invoke the callback immediately after any of its dependencies change.

Parameters

  • callback: () => void

    The callback to invoke.


createSignal

public createSignalinitial?: SignalValueTValueinterpolation: InterpolationFunctionTValue = deepLerpowner?: TOwner: SimpleSignalTValueTOwner

Parameters


isReactive

public isReactivevalue: SignalValueT: value is () => T

Parameters


modify

public modifyvalue: SignalValueTFrommodification: value: TFrom => TTo: SignalValueTTo

Parameters


unwrap

public unwrapvalue: SignalValueT: T

Parameters