@casual-simulation/aux-common
Version:
Common library for AUX projects
25 lines • 1.04 kB
TypeScript
import type { BotLookupTableHelper } from './BotLookupTableHelper';
import type { BotObjectsContext } from './BotObjectsContext';
/**
* Defines an interface for objects that are able to provide the necessary information required to calculate
* formula values and actions.
*/
export interface BotCalculationContext extends BotObjectsContext {
/**
* The cache that is attached to the context.
* Useful for saving the results of operations.
*/
cache: Map<string, any>;
/**
* The lookup table helper that can be used.
*/
lookup: BotLookupTableHelper;
}
/**
* Calculates the result of the given function - caching it if needed.
* @param name The name of the function.
* @param func The function to cache.
* @param args The arguments that should be used to determine when to reuse the cached results
*/
export declare function cacheFunction<T>(calc: BotCalculationContext, name: string, func: () => T, ...args: (string | number | boolean)[]): T;
//# sourceMappingURL=BotCalculationContext.d.ts.map