@leyyo/cache
Version:
Common cache library
39 lines (38 loc) • 1.98 kB
TypeScript
import { CacheClient } from "../client";
import { CacheChannel, CacheChannelDef, CacheChannelInfo, CacheChannelProp, CacheChannelPropData, CacheChannelPropLambda, CacheChannelSecure } from "./types";
import { CacheHash } from "../hash";
import { CacheBasic } from "../basic";
import { CacheSet } from "../set";
import { CacheInvalidator, CacheInvalidatorDeleteRequest, CacheInvalidatorInvalidateRequest, CacheInvalidatorNotifyRequest } from "../invalidator";
import { CacheUtil } from "../util";
import { CacheEntity } from "../entity";
import { CacheInfoCheck, Id, TR } from "../types";
import { CacheFormat } from "../format";
import { CacheAlias } from "../alias";
export declare abstract class CacheChannelAbstract<A extends TR, N extends Id> implements CacheChannel<A, N>, CacheChannelSecure<A, N> {
readonly full: string;
protected _pNames: Array<string>;
readonly entity: CacheEntity<A>;
readonly hash: CacheHash<A, N>;
readonly basic: CacheBasic<A, N>;
readonly set: CacheSet<A, N>;
readonly alias: CacheAlias<A, N>;
readonly format: CacheFormat<A, N>;
readonly client: CacheClient;
readonly path: string;
readonly id: string;
readonly util: CacheUtil;
readonly prop: Readonly<CacheChannelProp<A>>;
readonly invalidator: CacheInvalidator<A>;
protected constructor(entity: CacheEntity<A>, path: string, prop: CacheChannelPropData<A>, id: string, client: CacheClient);
info(check: CacheInfoCheck): Promise<CacheChannelInfo>;
changeProp(lambda: CacheChannelPropLambda<A>): void;
get $flat(): CacheChannelDef;
get $secure(): CacheChannelSecure<A, N>;
get $back(): CacheChannel<A, N>;
get $pNames(): Array<string>;
$setProp(prop: Partial<CacheChannelPropData<A>>): void;
$invalidatorForInvalidate(data: CacheInvalidatorInvalidateRequest): void;
$invalidatorForNotify(data: CacheInvalidatorNotifyRequest): void;
$invalidatorForDelete(data: CacheInvalidatorDeleteRequest): void;
}