Entity

    Interface ISecondaryEntityCache<TFields, TLoadParams>

    An interface that knows how to load many objects from a cache by load params and invalidate those same load params.

    interface ISecondaryEntityCache<
        TFields extends Record<string, any>,
        TLoadParams,
    > {
        invalidateManyAsync(
            loadParamsArray: readonly Readonly<TLoadParams>[],
        ): Promise<void>;
        loadManyThroughAsync(
            loadParamsArray: readonly Readonly<TLoadParams>[],
            fetcher: (
                fetcherLoadParamsArray: readonly Readonly<TLoadParams>[],
            ) => Promise<ReadonlyMap<Readonly<TLoadParams>, null | Readonly<TFields>>>,
        ): Promise<ReadonlyMap<Readonly<TLoadParams>, null | Readonly<TFields>>>;
    }

    Type Parameters

    • TFields extends Record<string, any>
    • TLoadParams

    Implemented by

    Index

    Methods

    • Read-through cache function.

      Parameters

      • loadParamsArray: readonly Readonly<TLoadParams>[]

        array of loadParams to load from the cache

      • fetcher: (
            fetcherLoadParamsArray: readonly Readonly<TLoadParams>[],
        ) => Promise<ReadonlyMap<Readonly<TLoadParams>, null | Readonly<TFields>>>

        closure used to provide underlying data source objects for loadParams

      Returns Promise<ReadonlyMap<Readonly<TLoadParams>, null | Readonly<TFields>>>

      map from loadParams to the entity field object

    MMNEPVFCICPMFPCPTTAAATR