@specs-feup/alpakka
Version:
Alpakka is a [LARA Framework](https://github.com/specs-feup/lara-framework) source-to-source compiler for Android's [smali](https://github.com/google/smali) syntax. It enables the analysis and transformation of Android apps through APK files.
31 lines (27 loc) • 782 B
text/typescript
import BaseEdge from "./BaseEdge.js";
import BaseGraph from "./BaseGraph.js";
import cytoscape from "@specs-feup/lara/api/libs/cytoscape-3.26.0.js";
export type EdgeConstructor<
D extends BaseEdge.Data,
S extends BaseEdge.ScratchData,
E extends BaseEdge.Class<D, S>,
> = new (
graph: BaseGraph.Class,
node: cytoscape.EdgeSingular,
_d: D,
_sd: S,
) => E;
export interface EdgeBuilder<
D extends BaseEdge.Data,
S extends BaseEdge.ScratchData,
> {
buildData(data: BaseEdge.Data): D;
buildScratchData(scratchData: BaseEdge.ScratchData): S;
}
export interface EdgeTypeGuard<
D extends BaseEdge.Data,
S extends BaseEdge.ScratchData,
> {
isDataCompatible(data: BaseEdge.Data): data is D;
isScratchDataCompatible(sData: BaseEdge.ScratchData): sData is S;
}