UNPKG

@graphty/algorithms

Version:

Graph algorithms library for browser environments implemented in TypeScript

33 lines 1.31 kB
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