UNPKG

@specs-feup/alpakka

Version:

A Smali/APK source-to-source compiler written in Typescript

31 lines (27 loc) 746 B
import BaseGraph from "./BaseGraph.js"; import BaseNode from "./BaseNode.js"; import cytoscape from "cytoscape"; export type NodeConstructor< D extends BaseNode.Data, S extends BaseNode.ScratchData, N extends BaseNode.Class<D, S>, > = new ( graph: BaseGraph.Class, node: cytoscape.NodeSingular, _d: D, _sd: S, ) => N; export interface NodeBuilder< D extends BaseNode.Data, S extends BaseNode.ScratchData, > { buildData(data: BaseNode.Data): D; buildScratchData(scratchData: BaseNode.ScratchData): S; } export interface NodeTypeGuard< D extends BaseNode.Data, S extends BaseNode.ScratchData, > { isDataCompatible(data: BaseNode.Data): data is D; isScratchDataCompatible(sData: BaseNode.ScratchData): sData is S; }