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