UNPKG

@leyyo/cache

Version:
50 lines (49 loc) 2.74 kB
import { CacheClient, CacheClientCreatorLambda } from "../client"; import { CacheHub, CacheHubInfo, CacheHubProp, CacheHubPropData, CacheHubPropLambda, CacheHubSecure } from "./types"; import { CacheSegment, CacheSegmentCreatorLambda, CacheSegmentPropLambda } from "../segment"; import { CacheEntity, CacheEntityCreatorLambda, CacheEntityDef } from "../entity"; import { CacheChannelCreatorLambda } from "../channel"; import { CacheInfoCheck, Id, TR } from "../types"; import { CacheProvider } from "../provider"; import { CacheRemote } from "../remote"; import { CacheInvalidatorConsumer } from "../invalidator"; export declare class CacheHubImpl implements CacheHub, CacheHubSecure { private readonly _segmentCreators; private readonly _entityCreators; private readonly _channelCreators; private readonly _clientCreators; private readonly _segmentMap; private readonly _entityMap; private readonly _invalidatorConsumerMap; private readonly _segments; private readonly _providers; private readonly _clients; private readonly _defaults; readonly prop: Readonly<CacheHubProp>; constructor(); get segments(): Array<CacheSegment>; get clients(): Array<CacheClient>; get providers(): Array<CacheProvider>; registerClient(provider: CacheProvider, native: unknown, description?: string): CacheClient; newSegment(client: CacheClient, path: string, fn: CacheSegmentPropLambda, id?: string): CacheSegment; newRemote(id: string): CacheRemote; info(check: CacheInfoCheck): Promise<CacheHubInfo>; changeProp(lambda: CacheHubPropLambda): void; getInvalidatorConsumer(id: string): CacheInvalidatorConsumer; getEntity<A extends TR = TR>(id: string): CacheEntity<A>; getSegment(id: string): CacheSegment; get $secure(): CacheHubSecure; get $back(): CacheHub; $getSegmentCreator(provider: CacheProvider): CacheSegmentCreatorLambda; $setSegmentCreator(provider: CacheProvider, lambda: CacheSegmentCreatorLambda): void; $getEntityCreator(provider: CacheProvider): CacheEntityCreatorLambda<TR>; $setEntityCreator(provider: CacheProvider, lambda: CacheEntityCreatorLambda<TR>): void; $getChannelCreator(provider: CacheProvider): CacheChannelCreatorLambda<TR, Id>; $setChannelCreator(provider: CacheProvider, lambda: CacheChannelCreatorLambda<TR, Id>): void; $getClientCreator(provider: CacheProvider): CacheClientCreatorLambda; $setClientCreator(provider: CacheProvider, lambda: CacheClientCreatorLambda): void; $setProp(prop: CacheHubPropData): void; $checkInvalidatorConsumer(consumer: CacheInvalidatorConsumer): void; $checkEntity(entity: CacheEntityDef): void; $checkSegment(segment: CacheSegment): void; }