nexorm
Version:
A powerful TypeScript ORM with advanced features.
225 lines (224 loc) • 6.26 kB
TypeScript
export declare class CacheManager extends Map {
/**
* Cache Manager
*
* @class CacheManager
* @extends {Map}
* @returns {CacheManager}
* @example const cache = new CacheManager();
*/
/**
* Set a value to cache
*
* @param {string} key Key
* @param {any} value Value
* @param {number} [duration] Duration
* @returns {CacheManager}
* @example cache.$set('key', 'value', 1000);
*/
$set(key: string, value: any, duration?: number): this;
/**
* Get a value from cache
*
* @param {string} key Key
* @returns {any}
* @example cache.$get('key');
*/
$get(key: string): any;
/**
* Delete a value from cache
*
* @param {string} key Key
* @returns {boolean}
* @example cache.$delete('key');
*/
$delete(key: string): boolean;
/**
* Clear cache
*
* @returns {void}
* @example cache.$clear();
*/
$clear(): void;
/**
* Check if cache has a key
*
* @param {string} key Key
* @returns {boolean}
* @example cache.$has('key');
*/
$has(key: string): boolean;
/**
* Get cache keys
*
* @returns {string[]}
* @example cache.$keys();
*/
$keys(): string[];
/**
* Get cache values
*
* @returns {any[]}
* @example cache.$values();
*/
$values(): any[];
/**
* Get cache entries
*
* @returns {[string, any][]}
* @example cache.$entries();
*/
$entries(): [string, any][];
/**
* Get cache size
*
* @returns {number}
* @example cache.$size;
*/
$size: number;
/**
* For each cache
*
* @param {(value: any, key: string, map: Map<string, any>) => void} callbackfn Callback
* @param {any} [thisArg] This
* @returns {void}
* @example cache.$forEach((value, key) => console.log(value, key));
*/
$forEach(callbackfn: (value: any, key: string, map: Map<string, any>) => void, thisArg?: any): void;
/**
* Map cache
*
* @param {(value: any, key: string, map: Map<string, any>) => any} callbackfn Callback
* @param {any} [thisArg] This
* @returns {any[]}
* @example cache.$map((value, key) => value + key);
*/
$map(callbackfn: (value: any, key: string, map: Map<string, any>) => any, thisArg?: any): any[];
/**
* Filter cache
*
* @param {(value: any, key: string, map: Map<string, any>) => boolean} callbackfn Callback
* @param {any} [thisArg] This
* @returns {[string, any][]}
* @example cache.$filter((value, key) => value === 'test');
*/
$filter(callbackfn: (value: any, key: string, map: Map<string, any>) => boolean, thisArg?: any): [string, any][];
/**
* Find cache
*
* @param {(value: any, key: string, map: Map<string, any>) => boolean} callbackfn Callback
* @param {any} [thisArg] This
* @returns {[string, any]}
* @example cache.$find((value, key) => value === 'test');
*/
$find(callbackfn: (value: any, key: string, map: Map<string, any>) => boolean, thisArg?: any): [string, any];
/**
* Find with Nexorm Id
*
* @param {string} ObjectId Object Id
* @returns {[string, any] | undefined}
* @example cache.$findWithNexormId('ObjectId123');
*/
$findWithObjectId(ObjectId: string): [string, any] | undefined;
/**
* Some cache
*
* @param {(value: any, key: string, map: Map<string, any>) => boolean} callbackfn Callback
* @param {any} [thisArg] This
* @returns {boolean}
* @example cache.$some((value, key) => value === 'test');
*/
$some(callbackfn: (value: any, key: string, map: Map<string, any>) => boolean, thisArg?: any): boolean;
/**
* Every cache
*
* @param {(value: any, key: string, map: Map<string, any>) => boolean} callbackfn Callback
* @param {any} [thisArg] This
* @returns {boolean}
* @example cache.$every((value, key) => value === 'test');
*/
$every(callbackfn: (value: any, key: string, map: Map<string, any>) => boolean, thisArg?: any): boolean;
/**
* Reduce cache
*
* @param {(previousValue: any, currentValue: any, key: string, map: Map<string, any>) => any} callbackfn Callback
* @param {any} [initialValue] Initial value
* @returns {any}
* @example cache.$reduce((previousValue, currentValue, key) => previousValue + currentValue, 0);
*/
$reduce(callbackfn: (previousValue: any, currentValue: any, key: string, map: Map<string, any>) => any, initialValue?: any): any;
/**
* Sort cache
*
* @param {(a: [string, any], b: [string, any]) => number} callbackfn Callback
* @returns {[string, any][]}
* @example cache.$sort((a, b) => a[1] - b[1]);
*/
$sort(callbackfn: (a: [string, any], b: [string, any]) => number): [string, any][];
/**
* First cache
*
* @returns {[string, any]}
* @example cache.$first();
*/
$first(): [string, any];
/**
* Last cache
*
* @returns {[string, any]}
* @example cache.$last();
*/
$last(): [string, any];
/**
* Random cache
*
* @returns {[string, any]}
* @example cache.$random();
*/
$random(): [string, any];
/**
* Merge cache
*
* @param {Map<string, any>} map Map
* @returns {CacheManager}
* @example cache.$merge(new Map([['key', 'value']]));
*/
$merge(map: Map<string, any>): CacheManager;
/**
* To Object
*
* @returns {{ [key: string]: any }}
* @example cache.$toObject();
*/
$toObject(): {
[key: string]: any;
};
/**
* To JSON
*
* @returns {any[]}
* @example cache.$toJSON();
*/
$toJSON(): any[];
/**
* To String
*
* @returns {string}
* @example cache.$toString();
*/
$clone(): CacheManager;
/**
* To String
*
* @returns {string}
* @example cache.$toString();
*/
$toString(): string;
/**
* Reverse cache
*
* @returns {CacheManager}
* @example cache.$reverse();
*/
$reverse(): CacheManager;
}