UNPKG

@bitbybit-dev/jscad-worker

Version:

Bit By Bit Developers JSCAD Based CAD Library to Program Geometry Via WebWorker

29 lines (28 loc) 1.33 kB
export declare class CacheHelper { hashesFromPreviousRun: {}; usedHashes: {}; argCache: {}; jscadObjectHashes: Set<string | number>; cleanAllCache(): void; cleanCacheForHash(hash: string): void; cleanUpCache(): void; isJSCADObject(obj: any): boolean; /** Hashes input arguments and checks the cache for that hash. * It returns a copy of the cached object if it exists, but will * call the `cacheMiss()` callback otherwise. The result will be * added to the cache. */ cacheOp(args: any, cacheMiss: () => any): any; /** Returns the cached object if it exists and is valid, or null otherwise. */ checkCache(hash: string | number): any; /** Adds this `object` to the cache, indexable by `hash`. */ addToCache(hash: string | number, object: any): string | number; /** This function computes a 32-bit integer hash given a set of `arguments`. * If `raw` is true, the raw set of sanitized arguments will be returned instead. */ computeHash(args: any, raw?: boolean): number | string; /** This function converts a string to a 32bit integer. */ stringToHash(str: string): number; /** This function returns a version of the `inputArray` without the `objectToRemove`. */ remove(inputArray: any[], objectToRemove: any): any[]; }