Entity

    Interface IEntityCacheAdapter<TFields, TIDField>

    A cache adapter is an interface by which objects can be cached, fetched from cache, and removed from cache (invalidated).

    interface IEntityCacheAdapter<
        TFields extends Record<string, any>,
        TIDField extends keyof TFields,
    > {
        cacheDBMissesAsync<
            TLoadKey extends
                IEntityLoadKey<TFields, TIDField, TSerializedLoadValue, TLoadValue>,
            TSerializedLoadValue,
            TLoadValue extends IEntityLoadValue<TSerializedLoadValue>,
        >(
            key: TLoadKey,
            values: readonly TLoadValue[],
        ): Promise<void>;
        cacheManyAsync<
            TLoadKey extends
                IEntityLoadKey<TFields, TIDField, TSerializedLoadValue, TLoadValue>,
            TSerializedLoadValue,
            TLoadValue extends IEntityLoadValue<TSerializedLoadValue>,
        >(
            key: TLoadKey,
            objectMap: ReadonlyMap<TLoadValue, Readonly<TFields>>,
        ): Promise<void>;
        invalidateManyAsync<
            TLoadKey extends
                IEntityLoadKey<TFields, TIDField, TSerializedLoadValue, TLoadValue>,
            TSerializedLoadValue,
            TLoadValue extends IEntityLoadValue<TSerializedLoadValue>,
        >(
            key: TLoadKey,
            values: readonly TLoadValue[],
        ): Promise<void>;
        loadManyAsync<
            TLoadKey extends
                IEntityLoadKey<TFields, TIDField, TSerializedLoadValue, TLoadValue>,
            TSerializedLoadValue,
            TLoadValue extends IEntityLoadValue<TSerializedLoadValue>,
        >(
            key: TLoadKey,
            values: readonly TLoadValue[],
        ): Promise<ReadonlyMap<TLoadValue, CacheLoadResult<TFields>>>;
    }

    Type Parameters

    • TFields extends Record<string, any>
    • TIDField extends keyof TFields

    Implemented by

    Index

    Methods

    MMNEPVFCICPMFPCPTTAAATR