@graphty/algorithms
Version:
Graph algorithms library for browser environments implemented in TypeScript
33 lines • 1.31 kB
TypeScript
import type { Graph } from "../core/graph.js";
/**
* Common interface for algorithm options with optimization support
*/
export interface OptimizableOptions {
/**
* Whether to use optimized implementations
* - true: Force use of optimizations
* - false: Disable optimizations
* - "auto": Automatically decide based on graph size (default)
*/
optimized?: boolean | "auto";
}
/**
* Determine if optimizations should be used for a given graph
*/
export declare function shouldOptimize(graph: Graph, options?: OptimizableOptions): boolean;
/**
* Merge optimization options with algorithm-specific options
*/
export declare function mergeOptimizationOptions<T extends Record<string, unknown>>(graph: Graph, options: T & OptimizableOptions): T & {
optimized?: boolean;
};
/**
* Create an optimized version of an algorithm
* @example
* const optimizedBetweenness = createOptimizedAlgorithm(
* betweennessCentrality,
* (graph, options) => ({...options, optimized: true})
* );
*/
export declare function createOptimizedAlgorithm<TArgs extends [Graph, ...unknown[]], TResult>(algorithm: (...args: TArgs) => TResult, optionsTransformer?: (graph: Graph, options: unknown) => unknown): (...args: TArgs) => TResult;
//# sourceMappingURL=optimization-helpers.d.ts.map