turbodombuilder - v0.9.66
    Preparing search index...

    Type Alias TurboObserverProperties<DataType, ComponentType, DataKeyType>

    Configuration object to create a new TurboObserver.

    The per-item key type.

    The block-grouping key type.

    type TurboObserverProperties<
        DataType = any,
        ComponentType extends object = any,
        DataKeyType extends KeyType = KeyType,
    > = {
        customConstructor?: new (
            ...args: any[],
        ) => TurboObserver<DataType, ComponentType, DataKeyType>;
        depth?: number;
        initialize?: boolean;
        onAdded?: (
            data: DataType,
            self: TurboObserver<DataType, ComponentType, DataKeyType>,
            ...keys: KeyType[],
        ) => ComponentType | void;
        onUpdated?: (
            data: DataType,
            instance: ComponentType,
            self: TurboObserver<DataType, ComponentType, DataKeyType>,
            ...keys: KeyType[],
        ) => void;
        onDeleted?: (
            data: DataType,
            instance: ComponentType,
            self: TurboObserver<DataType, ComponentType, DataKeyType>,
            ...keys: KeyType[],
        ) => void;
        onInitialize?: (
            self: TurboObserver<DataType, ComponentType, DataKeyType>,
        ) => void;
        onDestroy?: (
            self: TurboObserver<DataType, ComponentType, DataKeyType>,
        ) => void;
    }

    Type Parameters

    • DataType = any

      The type of data handled by the observer.

    • ComponentType extends object = any

      The instance type created/managed by the observer.

    • DataKeyType extends KeyType = KeyType
    Index

    Properties

    customConstructor?: new (
        ...args: any[],
    ) => TurboObserver<DataType, ComponentType, DataKeyType>

    Optional custom observer constructor to instantiate instead of the default TurboObserver.

    depth?: number
    initialize?: boolean

    If true, the observer is initialized immediately.

    onAdded?: (
        data: DataType,
        self: TurboObserver<DataType, ComponentType, DataKeyType>,
        ...keys: KeyType[],
    ) => ComponentType | void

    Called when a new item appears.

    onUpdated?: (
        data: DataType,
        instance: ComponentType,
        self: TurboObserver<DataType, ComponentType, DataKeyType>,
        ...keys: KeyType[],
    ) => void

    Called when an existing item changes.

    onDeleted?: (
        data: DataType,
        instance: ComponentType,
        self: TurboObserver<DataType, ComponentType, DataKeyType>,
        ...keys: KeyType[],
    ) => void

    Called when an item is deleted.

    onInitialize?: (
        self: TurboObserver<DataType, ComponentType, DataKeyType>,
    ) => void

    Called when the observer is initialized.

    onDestroy?: (self: TurboObserver<DataType, ComponentType, DataKeyType>) => void

    Called when the observer is destroyed.