d3-graph-controller
Version:
A TypeScript library for visualizing and simulating directed, interactive graphs.
37 lines (36 loc) • 2.18 kB
text/typescript
import { Vector } from 'vecti';
import { GraphConfig } from '../config/config.mjs';
import { NodeTypeToken } from '../model/graph.mjs';
import { GraphLink } from '../model/link.mjs';
import { GraphNode } from '../model/node.mjs';
export interface PathParams<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> {
readonly config: GraphConfig<T, Node, Link>;
readonly source: Node;
readonly target: Node;
}
export interface ReflexivePathParams<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> {
readonly config: GraphConfig<T, Node, Link>;
readonly node: Node;
readonly center: Vector;
}
declare function paddedLinePath<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>(params: PathParams<T, Node, Link>): string;
declare function lineLinkTextTransform<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>(params: PathParams<T, Node, Link>): string;
declare function paddedArcPath<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>({ config, source, target }: PathParams<T, Node, Link>): string;
declare function paddedReflexivePath<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>({ center, config, node }: ReflexivePathParams<T, Node, Link>): string;
declare function bidirectionalLinkTextTransform<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>({ config, source, target }: PathParams<T, Node, Link>): string;
declare function reflexiveLinkTextTransform<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>({ center, config, node }: ReflexivePathParams<T, Node, Link>): string;
declare const _default: {
line: {
labelTransform: typeof lineLinkTextTransform;
path: typeof paddedLinePath;
};
arc: {
labelTransform: typeof bidirectionalLinkTextTransform;
path: typeof paddedArcPath;
};
reflexive: {
labelTransform: typeof reflexiveLinkTextTransform;
path: typeof paddedReflexivePath;
};
};
export default _default;