UNPKG

@n1k1t/mock-server

Version:

The ultimate toolkit to intercept, transform, and simulate HTTP/WS traffic with type-safe expectations

47 lines 2.07 kB
import { PartialDeep, TFunction } from '../../../../types'; export declare class Container<TPayload extends object = object> { protected provided: Pick<Container<TPayload>, 'key' | 'group' | 'payload' | 'ttl' | 'timestamp'> & { aliases?: Container<TPayload>['aliases'] | string[]; hooks?: Container<TPayload>['hooks']; }; TPlain: Pick<Container<TPayload>, 'key' | 'payload' | 'ttl'>; TBackup: Pick<Container<TPayload>, 'key' | 'group' | 'payload' | 'ttl' | 'timestamp'> & { aliases: string[]; }; key: string; group: string; aliases: Set<string>; /** Seconds */ ttl: number; payload: TPayload; timestamp: number; protected hooks?: { bind?: TFunction<unknown, [string, Container<any>]>; unbind?: TFunction<unknown, [string, Container<any>]>; }; constructor(provided: Pick<Container<TPayload>, 'key' | 'group' | 'payload' | 'ttl' | 'timestamp'> & { aliases?: Container<TPayload>['aliases'] | string[]; hooks?: Container<TPayload>['hooks']; }); /** Updates internal timestamp to increase TTL */ renew(): this; /** Checks expiration by TTL */ checkIsExpired(timestamp?: number): boolean; assign(predicate: Partial<TPayload> | TFunction<Partial<TPayload>, [TPayload]>): this & { payload: TPayload & Partial<TPayload>; }; merge(predicate: PartialDeep<TPayload> | TFunction<PartialDeep<TPayload>, [TPayload]>): this & { payload: unknown; }; /** Binds this container to another alias key */ bind(key: string | object): this; /** Unbinds this container by provided key */ unbind(key?: string | object): this; /** Setups hooks to work with storage */ configure(payload: Partial<Pick<Container<TPayload>['provided'], 'hooks'>>): this; clone(): Container<TPayload>; toPlain(): Container<TPayload>['TPlain']; toBackup(): Container<TPayload>['TBackup']; static build<T extends object>(provided: Container<T>['provided']): Container<T>; } //# sourceMappingURL=model.d.ts.map