gradum-kit - v0.1.0
    Preparing search index...

    Type Alias GradumObserverProperties<DataType, ComponentType, DataKeyType>

    Options and lifecycle callbacks used to create a new GradumObserver. Note: self is the second argument of onAdded but the third of onUpdated and onDeleted, which take the existing instance in second place.

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

    Type Parameters

    • DataType = any

      The type of data handled by the observer.

    • ComponentType extends object = any

      The instance type created and managed by the observer.

    • DataKeyType extends KeyType = KeyType

      The per-item key type.

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

    Observer subclass to instantiate instead of the default GradumObserver.

    depth?: number

    How many levels below the attached path to watch. Defaults to the depth implied by the key path the observer is registered on.

    initialize?: boolean

    If true, the observer is initialized on creation, so it immediately reports every entry already present.

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

    Called when a change is reported at a key path with no instance yet. Return an instance to have it stored and handed back to later callbacks.

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

    Called when an entry that already has an instance changes.

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

    Called when an entry is removed.

    replaceOnUpdate?: (
        prevData: DataType,
        newData: DataType,
        instance: ComponentType,
        self: GradumObserver<DataType, ComponentType, DataKeyType>,
        ...keys: KeyType[],
    ) => boolean

    Called before onUpdated. Return true to destroy the existing instance and create a fresh one through onAdded instead of updating it in place.

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

    Called when the observer is initialized.

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

    Called when the observer is destroyed.